[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザー定義の書き方』(板橋)
いつも参考にさせていただいております。
ユーザー定義の書き方なのですが
フィルタオプションを使ってデータを抽出したいと考えております。
−−−−
A1 開始 B1 終了 C1 商品名 D1 等級
A2 >=2016/10/01 B2 <=2016/10/14 C2 ="=りんご" D2 秀
上記を検索条件範囲とします。
A2〜D2の値は変動しますので、毎回比較演算子等を入れず、日付と商品名だけ入力したいと考えております。D2は空白の場合もあります。
ユーザー定義で>=yyyy/mm/ddや="=@"としたのですがうまく認識されず。
どのように定義したらいいのでしょうか。
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
そもそも表示形式は見た目を変えるだけでセルの内容は元のまま。 フィルタの詳細設定で検索条件範囲はそのセルの内容を使うため表示形式で比較演算子を表示させても意味がない。 (ねむねむ) 2016/10/14(金) 13:09
検索項目はどこか別のセルに入れて参照すればいいのでは? (コナミ) 2016/10/14(金) 13:28
検索項目は別のセルにですか
例えばA2に比較演算子を入れてA3に日付を入れるということでしょうか?
少し悩んでみます。
(板橋) 2016/10/14(金) 23:58
例えばE1とかに日付を入れてA2に
=">="&E1
のようにします。不等号がない条件なら=E1でも大丈夫です。 表示はシリアル値になりますが抽出には問題ありません。 (コナミ) 2016/10/15(土) 07:48
>不等号がない条件なら=E1でも大丈夫です。 条件が =A と A だと前者は完全一致、後者は前方一致となる違いがある。 シリアル値だと違いが出てこないだろうが文字列の場合などは問題になる場合がある。 (ねむねむ) 2016/10/15(土) 08:06
入力するセル範囲と、フィルターオプションの検索条件範囲は別にし、
検索条件範囲に、
=">="&Sheet1!B2
というように、入力するセルを参照して、数式で文字列を作るということです。
(まっつわん) 2016/10/15(土) 08:52
まっつわんさんと同じです。
入力するのはA2〜D2、ふつうに日付や商品名を入れます。
これはユーザーインターフェイスです。
使いやすさ、分かりやすさを考えて設計します。
フィルタオプションで参照するのは、
たとえば AA1〜AD2 ふだん作業しているときに目に触れない場所がいいです。
こちらはいわば 裏方の、しくみの部分です。
仕様変更以外ではずっとノータッチでいけるように作りこみます。
( 佳 ) 2016/10/15(土) 09:16
> D2は空白の場合もあります。
空白の場合もあるんだったら、単に =D2 だけでは、 D2が空白のとき「0」になってしまいますからマズイですね。
等級は「秀」みたいにすべて文字列ですか? 数値はないのか、ということですけど。
文字列だけなら、等級は =D2&"" とかにします。
A B C D E F G H I 1 開始 終了 品名 等級 開始 終了 品名 等級 2 10/1 10/14 りんご >=42644 <=42657 =りんご
↓ F2:I2に入れる数式
F2 =">="&A2 G2 ="<="&B2 H2 ="="&C2 I2 =D2&""
入力はA2:D2にして、フィルタオプションの検索範囲を F1:I2 にするということ。
例として並べて書きましたけど、検索範囲はもっと離れたところとか どこでもかまいません。 (笑) 2016/10/15(土) 09:56
皆さんの答えと全く検討違いのことをしていました。
検索項目に式を入れて該当セルを指定するのは目からウロコでした
おかげさまで
等級の項目も空白で絞り込めて
理想のものが作れそうです。
検索範囲を離したり使いやすいインターフェイス作りしてみます。
ありがとうございました。
(板橋) 2016/10/15(土) 21:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.