Excelリスト内で数式が入力されているレコードを抽出する方法(1:補助列作成)

この記事では、数式・計算式が入力されているレコードを抽出する方法を補助列を使って解説します。

サンプル表の確認

以下のような価格表(A1:D28)があるとします。

書籍番号 書名 現価格 新価格
1001 ケーススタディ民法 1400 1600
1002 交通六法 2700 2700
1003 法人税法の基礎 2700 2900
1004 会社法 2800 2800
1005 民法総則 2700 3000
1006 判例六法 2400 2700
1007 基礎法入門 2500 2500
1008 やさしい経済法 2500 2500
1009 刑法各論 2100 2100
1010 現近代民法 1400 1400
1011 会社法概論 2000 2000
1012 商法総則 1900 2100
1013 憲法 2500 2500
1014 商行為法 1600 1600
1015 倒産法入門 2300 2600
1016 破産法 1200 1200
1017 法社会学 1500 1900
1018 民事訴訟法学 2800 3100
1019 法学入門 2500 2500
1020 労働法の要点 2400 2700
1021 はやわかり刑法 3000 3000
1022 講義式憲法 3000 3100
1023 刑法講義 2600 2900
1024 会社法 1300 1400
1025 民法事例集 1200 1400
1026 六法全書 2300 2500
1027 労働法実務辞典 2700 3000

D列には=ROUNDUP(C2*1.1,-2)のような計算式、もしくは数値が入力されているとします。このうち、計算式のものだけを抽出、もしくは非表示にする方法を解説します。

数式セル発見の準備

ステップ1: 補助列の準備

まず、データが入っている列の隣に新しい列を追加します。これが「補助列」となり、数式の有無を示す役割を果たします。

ステップ2: 補助列に数式を入力

補助列の各セルに以下の数式を入力します:

=ISFORMULA(対象セル)

ISFORMULA関数は引数内が数式である場合にTRUEを返します。数式以外の場合にはFALSEを返します。

例えば、新価格が「D列」に入力されている場合、補助列が「E列」と仮定すると、E2セルには =ISFORMULA(D2) と入力します。これを行に沿って下にコピーしていきます。

ISFORMULA関数は引数内が数式である場合にTRUEを返す。

ISFORMULA関数は引数内が数式である場合にTRUEを返す。

ステップ3: フィルタリング

補助列に入力された数式がTRUEまたはFALSEを返します。TRUEはそのセルに数式が含まれていることを意味し、FALSEは含まれていないことを意味します。Excelのフィルタ機能を使用して、TRUEのみを表示するように設定します。

ステップ4: 数式の内容を表示:FORMULATEXT・IFERROR関数の利用

さらに、数式の内容が見たい場合は、もう一つの補助列を追加し、以下の数式を入力します:

=IFERROR(FORMULATEXT(対象セル), "数式なし")

これにより、数式があるセルではその内容が表示され、ない場合は「数式なし」と表示されます。例えばE2セルへ

=IFERROR(FORMULATEXT(D2),"数式なし")

として下へコピーします。このFORMULATEXT関数とIFERROR関数の意味は次に解説します。

FORMULATEXT 関数の基本

FORMULATEXT 関数は指定されたセルに入力されている数式をテキストとして返します。この関数を使用すると、セルに直接入力された数式がどのようなものかを確認することができます。例えば、FORMULATEXT(D2) は、D2セルに入力されている数式を文字列として表示します。

IFERROR 関数の利用

FORMULATEXT 関数はセルに数式がない場合、#N/A エラーを返します。このエラーは、数式が存在しないことを意味しますが、報告書やデータ表でこのエラーが表示されると見た目が悪くなることがあります。IFERROR 関数を使用すると、このエラーをより読みやすい形式でカスタマイズすることができます。

IFERROR 関数は、第一引数で指定された式がエラーを返した場合に、第二引数で指定された値を返します。この場合、「FORMULATEXT(対象セル)」がエラー(数式がない場合の#N/A)を返したら、「”数式なし”」というテキストを返すように設定されています。

数式の有無の確認

=IFERROR(FORMULATEXT(対象セル), "数式なし") の全体のロジックは、セルに数式があればその数式をテキストとして表示し、数式がなければ “数式なし” と表示するというものです。これにより、Excelシートを見た人は、どのセルが数式を含んでいて、どのセルが単なる値であるかを一目で理解することができます。

注意点

  • 数式を使用する際には、適切な列を参照しているか確認してください。
  • データが更新されると、補助列も更新が必要になる場合がありますので、常に最新の情報が表示されるように注意しましょう。

コメント

PAGE TOP
タイトルとURLをコピーしました