Excelで自分以外のITリテラシーが低い利用者(Aさんとします)に「この”国リストデータ”からオートフィルタで国情報を絞り込んで国コードをあのシートに入力してください」みたいなシーンがあったとします。
Aさんはオートフィルタを使いこなせないので不要な国情報が大量に出ます。
大量の国情報から国コードを選択するため間違えます。
…とまぁ、弊社で実際にあった低ITリテラシーの話です。
やや余談になりますが、VBAで組んでも”マクロの有効化”ボタンを押さずにExcelを開く可能性が高いため、プログラムで組むのもやめておきました。
ちなみに国データと国コードはISO3361を基にしたものを加工してます。
Excelのオートフィルタを使用せずデータを抽出する関数
どんなことがしたいかというと、まずはこちらをご覧ください。
E3に何かしらの文字を入力すると、国コードと国名が自動的に抽出されるようにします。
今は『ニア』が入ってますが、結果は正規表現で『*ニア*』に該当する情報がずらっと出てますね。
「ニア」を入力した時の動作はこんなイメージです。
Excelのオートフィルタを使用せずデータを抽出する関数の解説
それぞれ関数を見ていきましょう。
C2セル
1 |
=COUNTIF($A$2:$A2,"*"&$E$3&"*") |
F3セル
1 |
=IFERROR(OFFSET($B$1,MATCH(G3,A:A,FALSE)-1,0),"") |
G3セル
1 |
=IFERROR(INDEX(A:A,MATCH(ROW(1:1),C:C,0),1),"") |
説明
① E3で入力したデータより、ヒットした国名をCOUNTIFで加算します。
② 加算していればヒットしているためこれを国名検索で利用します。
③ 国名をOFFSET MATCHで再度検索し、ヒットした行の隣の列を参照し値を返します。
Excelのオートフィルタを使用せずデータを抽出する関数のまとめ
この関数によりリアルタイムで抽出され、生産性は10%ぐらい上がりました。
オートフィルタだと最低でも3アクションあり、条件を間違えた場合は一旦フィルタを解除して再度オートフィルタ…なんてことも。
著作権について
著作権は当サイトの管理者に帰属します。
商用利用以外であれば著作権フリーでお使いいただけますが、利用時はコメントにてお知らせください。
Webで紹介する際はリンクを貼ってください。