エクセルなのに・検索付きリスト_2/2

今回は、検索付きリストの具体的な作成方法を紹介します

作成するには3つの手順を踏みます

ちなに、VBAは一切使いません!

➀検索文字を作成する

リストに入力された文字から検索文字を作成する

➁リストデータから検索データを作成する

検索文字をもとにして、リストデータから検索データを作成する

③検索データをリストに表示する

検索データをリスト表示します

最もポイントとなるのは②です!

ここで、エクセルの新機能である、1セルに出力範囲が収まらない関数を使用します!

では、詳細な解説を開始します


➀検索文字を作成する

”=”を使用してリスト内の文字(E2セル)を、検索文字(C1セル)として抽出します


➁リストデータから検索データを作成する

ここから3つの関数ⅰ)SEARCH関数、ⅱ)ISNUMBER関数、そしてⅲ)FILTER関数を組み合わせて、検索文字を参照して検索データを作成します

ⅰ)SEARCH関数:構文/SEARCH(検索文字列,対象,[開始位置])

まずは、この関数を入力した時の様子を見てもらいましょう

1つのセルに入力したら、なんと、対象(リストデータ)に対応した複数データを出力してくれるんです

ちなみに、上のGIFで出力される”1”の意味合いは何だと思いますか?

検索文字が悟の場合には”4”が出力されます



つまり、SEARCH関数は検索文字が含まれる位置を出力してくれるんです

ですので、検索文字が含まれるリストデータを特定できるようになりました

ただこのままでは検索データとしては意味合いがまだないので、ⅱ)でもう少し意味合いを持たせます

ⅱ)ISNUMBER関数:構文/ ISNUMBER(テストの対象)

ISNUMBER関数はテストを実施する関数です

テストの対象が数字であればTRUE、数字でなければFALSEを返します

ですから、ⅰ)のSEARCH関数をISNUMBER関数のテスト対象にすれば、SEARCH関数の出力内容を、検索データに該当するデータをTRUE、そうでないものをFALSEとして区分することができます

ⅲ)FILTER関数:構文/FILTER(対象,含む,空白の場合)

➁の仕上げとしてFILTER関数を使います

構文を見てください

対象はリストデータです

では含むはなんでしょうか?

これが、ⅱ)で求めたTRUEのデータです

つまり、対象データからTRUEのもののみを抽出するという意味です

言葉だけでは分かりにくいと思いますので、”動き”をみてみましょう

ⅰ)のSEARCH関数で数字(”1”)として出力したされたものは、ⅱ)でTRUEに置き換わっています

そして、最後、FILTER関数により、TRUEのものを検索データとしてリストデータから出力されるのです

③検索データをリストに表示する

いよいよリストを作成します

➀で検索文字を入力しますが、通常のリストの作成の仕方では、エラーになってしまいます

何故なら、検索文字はリストに含まれていないからです

例えば、下の画像でいえば、鈴木健司~鈴木修の中に鈴木と一致するものがないのです

ではどうするか?

リスト機能にはエラーメッセージを調整する機能があるので、そちらの機能を使います

”エラーメッセージを表示する”のチェックを外してください

そうすれば、リストに完全一致しないものをリストに入力してもエラーメッセージは出力されません

そして、最後にリストの範囲の仕方を工夫しましょう

リストの元の値として、検索データが出力される最初のセルを指定しましょう!

そして、#を加えれば、出力される検索データ数に合わせてリストを作成してくれます

<まとめ>

 今回は、エクセルの新機能(SEARCH関数、FILTER関数)とリスト機能を組み合わせてリストに検索機能を加えることができました

 エクセルの新機能を有効活用すればVBA無でもかなりの事ができますので、今回を機会にぜひ研究してみてください

もし、今までリスト機能を使ったことがない方がいたら、エクセル画面上のデータタブからデータの入力規則を見つけてみてください

今回は詳細にリスト機能自体を詳細に解説できないのが残念ですが、データの入力規則からリストが作成できます

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です