ネットショップを運営している時に
「受注番号同士を完全一致した物だけを抽出したい」
っと思われた事はないでしょうか?
会計帳簿や顧客情報整理などしてる時に必ず思った事があるはずです。
そんな時に役立つスプレッドシートのFILLTER関数を使った「範囲同士を条件一致させて完全一致した情報を取得する方法」をご紹介させて頂きます。
テンプレート
シンプルテンプレート
=FILTER("範囲","一致させたいカラム列" = "一致させたい値")
1 |
<img class="wp-image-2681" style="font-size: 14px; background-color: #ffffff;" src="https://yuki-ikawa.com/wp-content/uploads/2019/12/66c19942ab4ba346fdb64ccc04cde373-12-2-1024x377.png" alt="" data-id="2681" data-full-url="https://yuki-ikawa.com/wp-content/uploads/2019/12/66c19942ab4ba346fdb64ccc04cde373-12-2.png" data-link="https://yuki-ikawa.com/?attachment_id=2681" /> |
A1からH7までが検索したい情報です。
A10などのA列に検索したいワードを入れます。
フィルター関数に範囲と検索させたい列を入れます。
=FILTER(A1:H7,D1:D7=A10)
上記コードのように記入すれば完全一致した値が存在している列を拾う事が出来ます。
あとは下へコピー・アンド・ペーストすれば完成。
これを使えば受注番号同士を一致させたり、商品番号同士を一致させたりする事が出来ます。
帳簿整理とかする時に非常に役に立ちますね。
#N/Aエラーを表示させないテンプレート
=if(false=ISNA(FILTER("範囲","検索カラム列" = "検索ワード")),FILTER("範囲","検索カラム列" = "検索ワード"),"")
「エラー表示があると見栄え的にちょっとダサい」って時にはコレ!
結果的には無印テンプレートと同じですが、エラー表示が消えてすっきり見えます。
ISNAでセルの表示が#N/Aエラーかどうか判断しています。
#N/Aならfalse、でなければtrueが表示されます。
真偽値として取得出来るようになったので、次はif関数で条件をつけます。
if関数内に条件として「もしISNAの結果がfalseならばセルの表示を空白に、でなれけば取得した行を表示」させます。
エラー表示が出てくると空白状態になるので、エラーが消えてキレイになりますね。
fillter関数とは?
=FILTER("範囲","条件")
範囲内の中で条件に一致した物を取得する。
余分な物をフィルターにかけて整理する。
みたいな使い方をします。
イメージとしてはQuery関数とVLOOKUP関数の中間のような感じですね。
まとめ
スプレッドシートにはツールとしてフィルターが存在しています。
データタグの真ん中辺りですね。
作業工程が多いので簡単なフィルターであれば関数の方が楽なのですが、複雑な事をしようとするとツールの方が色々楽だったりします。
「例えば検索した列のセルが空白の場合には表示しない」
っとか関数で表現するとfilterにif使ったりしますね。
さらに複数条件いれて「B列はtrueでC列は1000以下」なんて表現しようとすると
「これもうプログラム組んだ方が楽じゃね?」
ってくらいの式になってくるので途中で何書いてるか分からなくなってきますね。
これがツールになると列毎に設定が出来ます。
「F列はこう、E列はこう」のように範囲内の列で条件を個別に設定できます。
条件が多そうな場合にはツールを使う事をおすすめします。