最後に入力フォームシート
「予測検索」シートの「A2」セルには、データの入力規則でセル範囲の名前「=町名」という名前を設定しています。

「データの入力規則」の「元の値」は、可変式データリストを使用しています。




名前の定義「町名」は、可変式リストを利用しています。




セルの名前を可変式(メンテナンスいらず)にする方法はこちらの記事をご覧ください。




今回は、可変式リストのカウントを、「郵便番号」シートのC列をカウントしています。




検索候補として表示される数をカウントすることによって、エラーのあるデータは表示されないようになっています。




エラーではない個数をカウントしていますので、上記の「#NUM!」エラー以降のデータは表示されません。可変式リストの便利なところですね。




最後の関数の解説 VLOOKUP関数と思わず使ったIFERROR関数
VLOOKUP関数は便利なのですが、ちょっとした勘が必要な関数でもあります。




今回は、「予測検索」シートの「B3」セルに利用しています。
ここに来てすみません、最後の最後に思わず「IFERROR関数」を使ってしまいました。
「予測変換」シートのB3セルには「=iferror(vlookup(a3,郵便番号,2,false,””)」という式を入力しています。
IFERROR関数は単純で「=IFERROR(論理式,エラーの場合の処理)」となります。
「ISERROR」関数よりも単純で、エラーでなければ最初の論理式の結果を表示、エラーの場合はどうするか(ここでは””、空白にする)を定義します。
今回は、VLOOKUP関数がエラーでないときはその値を返し、エラーのときは””(空白)にするという意味です。




改めて関数の解説 VLOOKUP関数
VLOOKUP関数は、「=VLOOKUP(検索する値(ここではA3セルに入力された値),検索する範囲(ここでは町名と郵便番号の2列のリスト範囲),リスト範囲の何列目のセルの値を表示するか(ここでは2列目B列),FALSE(完全一致)かTRUE(最も近い値))」と4つの引数を必要とします。
検索する範囲は名前で定義しています。A列が町名、B列が郵便番号となっています。




ということで、今回のVLOOKUP関数では、「予測変換」シートB3セルに入力された値と完全一致する値を「郵便番号」シートの値から検索し、完全一致したセルの行を検索し、その行から指定した列(2列目、B列)の値を表示するということになります。




これで完成です。お疲れさまでした。




コメント