検索できる高度なドロップダウンリスト
動画解説
検索できる高度なドロップダウンリスト,大量リストからのドロップダウン
動画版「検索できる高度なドロップダウンリスト」です。
よく連動するドロップダウンリストなどの使い方作り方を解説してきました。
いくら連動させても、データ数が多い場合は、大変でした。そこでドロップダウンリストの枠内で頭にオのつく名前などのように検索できる機能をもたせました。
しかし、この検索できる高度なドロップダウンリストは、少々手順が難しく関数も多く使うので初心者には難しい内容になっています。
完全に上級者向けの内容となっています。
ただ理解しようと思っている方のために、関数の説明をじっくりしていますので、上級者への扉として、ぜひチャレンジしてみてください。
(サンプルファイルは、こちらです。 サンプルファイルのダウンロード)
検索できる高度なドロップダウンリスト,大量リストからのドロップダウン
検索できる高度なドロップダウンリスト解説
-
検索できるドロップダウンリストは少々手順が難しく、関数も多用するので、初心者には向かないテクニックだと思います。 ただ初心者から脱却したいと思っている方には最高の教材でしょう。
今回はどんな状況を設定しているかと言うと、例えば、お客様名簿で対象が何百件もあるケース。または取引先の会社が数百件もあるケースなどを想定しています。
-
今回使う関数は、INDEX 関数、 Match 関数、Search関数、 Row 関数、 IF 関数、 Countif 関数、 Offset 関数
これらの関数を組み合わせると、すごい技が完成するということを、頭の体操または謎解きという感覚でチャレンジしてみてください。Index 関数は 指定した範囲の中で、引数に指定した行番号、列番号の内容を返します。 -
それでは検索可能なドロップダウンリストをこの名簿を(300件)使って作成していきたいとおもいます。
-
B 列には検索しやすいようにとカタカナのふりがなを設定しています。
-
H2セルは入力規則でカタカナ入力に切り替わるようにしている。
作業列を用意する
-
H2セルに入力した文字を含む名前があるかないかを調べるための作業列を用意します。
-
数式は =SEARCH($H$2,B2)
-
対象文字列がない場合にはエラーが出ますので、Iferror関数を使ってエラーのときには0と表示することにします。
-
次にD列では、対象文字が、見つかったのは何番目になるか数えて、表示することにします。
=IF(C2=0,"",COUNTIF($C$2:C2,">0"))
この数式では C 列の値が0ならば、何も表示せず、そうでないときは、0より大きいものを数えなさいと言っています。 -
隣のE列には、対象文字列を表示します。=INDEX(B:B,MATCH(ROW(C1),D:D,0))
-
数式を先頭から3文字の中に対象があるかどうかを調べるという内容に変更しました。
=IFERROR(SEARCH($H$2),LEFT(B2,3)),0) -
検索結果がだいぶ減りましたね。
対象文字が、表示されました。