📘 Excel逆引き事典

Excelで部分一致抽出:数式が入っているセルを効率的に取得する方法

あなたはExcelで大量のデータを扱う日々を送っているが、特定の条件(例えば「SUM」や「AVERAGE」という文字列が含まれるセル)に該当する数式だけを抽出したいと感じたことはないだろうか?手作業では時間がかかり、ミスも起こりやすい。この記事では、部分一致で数式が入っているセルを効率的に抽出する方法を紹介します。UNIQUE関数やフィルタリングのマウス操作を使いこなせば、データ分析が格段に楽になります。

📊 やり方の比較

手法メリットデメリット推奨
数式(FILTER関数)自動更新される, 部分一致での抽出可能古いExcelでは使えない
マウス操作(フィルタリング)直感的で簡単, どのバージョンでも利用可能元データが消えるわけではないが、抽出結果は別シートに移動する必要がある

fx 使用する数式

Excel / SpreadSheet
=FILTER(A1:A20,ISNUMBER(SEARCH("SUM",A1:A20)))

💡 仕組みの解説

【数式の仕組み】この数式は、セル範囲「A1:A20」から「SUM」という文字列を部分一致で検索し、「SUM」が含まれるセルだけを抽出します。FILTER関数は、条件に合致するデータのみを返すため、元のデータを削除することはありません。SEARCH関数(またはスプレッドシート版のREGEXMATCH)は「SUM」という文字列が存在するか否かを判定し、その結果に基づいてFILTER関数が動作します。

具体的な手順

1
抽出したいセル範囲(例:A1:A20)を選択します。
2
数式入力欄に「=FILTER(A1:A20,ISNUMBER(SEARCH(“SUM”,A1:A20)))」を入力し、Enterキーを押します。(スプレッドシートの場合:=FILTER(A1:A20,ISNUMBER(REGEXMATCH(A1:A20,“SUM”))))
3
抽出結果が表示されたら、必要に応じて新しいシートや範囲にコピーします。

よくある質問

Q Q1. VLOOKUPやXLOOKUPとこの方法は何が違う?

A.
A1. VLOOKUPやXLOOKUPは特定の値を検索する関数ですが、FILTER関数は複数の条件に合致するデータを抽出します。

Q Q2. スピルエラーとは何ですか?

A.
A2. スピルエラー(#SPILL!)は、結果が他のセルと衝突した場合に発生します。結果の範囲を空けて解決できます。

Q Q3. スマホ版でも使える?

A.
A3. スプレッドシートではスマートフォンからも利用可能ですが、フィルタリング機能はデスクトップ版の方が使いやすいです。