📘 Excel逆引き事典

Excelで数式が入っているセルをリスト化する方法

実務で大量のデータを扱う際、特定のセル範囲から数式が入っているセルだけを抽出しリスト化したいというニーズはよくあります。しかし、手作業では時間がかかり、ミスも起こりやすいです。この記事では、VBAを使わずに数式だけで簡単に数式が入っているセルをリスト化する方法を紹介します。元データの保存と自動更新が可能で、効率的な業務処理に役立ちます。

📊 やり方の比較

手法メリットデメリット推奨
数式(FILTER関数)自動更新される, 元データを保存する古いExcelでは使えない
マウス操作(手動で抽出)直感的で簡単元データが消える, 手作業でのミスの可能性がある

fx 使用する数式

Excel / SpreadSheet
=FILTER(A1:A100, ISFORMULA(A1:A100))

💡 仕組みの解説

【数式の仕組み】この数式は、セル範囲A1からA100の中で数式が入っているセルだけを抽出します。ISFORMULA関数は引数に指定されたセル範囲内の各セルが数式であるかどうかをTRUE/FALSEで返します。FILTER関数は、2つ目の引数(条件)に基づいて1つ目の引数(データ範囲)からフィルタリングを行います。この場合、ISFORMULAの結果がTRUEであるセルだけが抽出され、別の場所にリスト化されます。元データは消えず、新しいデータが追加されたときに自動的に更新されます。

具体的な手順

1
セル範囲(例:A1:A100)を選択します
2
ISFORMULA関数を入力し、引数に選択したセル範囲(例:A1:A100)を指定します
3
FILTER関数を使用して、ISFORMULAの結果がTRUEであるセルだけを抽出します

よくある質問

Q Q1. VBAとの違いは?

A.
A1. 数式を使用する方法はVBAと比べて簡単に実装でき、元データを保存したまま抽出できます。ただし、複雑な処理や大量のデータに対してはVBAの方が効率的です。

Q Q2. ISFORMULA関数がサポートされていない場合どうすれば良い?

A.
A2. ISFORMULA関数がサポートされていない場合は、CELL関数を使用して代替案を作成できます。例:=FILTER(A1:A100, LEFT(CELL(“contents”, A1:A100), 4)=“FORMU”)

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

A.
A3. この数式はGoogleスプレッドシートでも使用可能で、スマホ版でも問題なく動作します。ただし、CELL関数の代わりにISFORMULA関数を使用する必要があります。