セルに入力されている数式を取り出す【FORMULATEXT関数】

Excelのデータをもらった時に、Excel内のセルに入力されている関数や数式などの計算式が、土の関数が使われているのか、どの計算式を使って計算されているのか、わからない事があります。

『数式の表示』を使って見ることもできますが、『数式の表示』はExcelのシート内の数式を全て表示させてしまうため、「指定されているところ1か所だけを見たい!」や「指定されている数式の説明を書きくわえたい!」というときには、使いにくいです。もちろん数式の結果を見るためには戻さなくてはいけません。

そこで【FORMULATEXT(フォーミュラ・テキスト)関数】を利用して、指定されたセルの関数や数式を表示させると、数式や関数を文字列として取り出すことができます。では実際に見ていきましょう!

office2010以前は数式を返す関数はありませんでした

まず、セル内の数式を文字列に返すものとして、office2013以降であれば、今回みていく【FORMULATEXT関数】が使えますが、office2010以前は数式を返す関数はありませんでした。

では、数式を表示させるためにoffice2010以前(office2003あたりまで)では何を使っていたのかというと、『数式の表示』や『オプションの設定』を利用していました。office2003以降であれば、『オプションの設定』から。office2010では、数式タブにある『数式の表示』から表示させることはできました。ただし、文字列として使うことができません。

Excelで文字列として利用するためには、『 =SUM(A2:A50)』や『”=B2*A2″』のように『=(イコール)』の前にスペースやドット、ダブルコーテーションなどを入れて、関数や数式とは違うものとして表示させる必要がありました…。

では、office2013以降ではどうなったのか?さっそく見てきましょう。

入力されている数式を取り出す【FORMULATEXT関数】とは?

入力されている数式を文字列として取り出したり、文字列として表示させたりするためには、office2013以降では【FORMULATEXT関数】を使います。【FORMULATEXT関数】は情報関数の一つで、「セル内の情報を調べる関数」になっています。

【FORMULATEXT関数】を使えるのは、セル内に『数式』や『計算式』が入っているものに限られます。入っていないと、調べたい事に対する適切な値が入っていないエラーを表すエラー値『#N/A』が表示されてしまいます。

しかし、渡されたデータを開いただけでは、『数式』や『計算式』がセル内に入っているかは【FORMULATEXT関数】でもわかりませんよね?ではどうするのか。数式が入っているかどうかを調べてくれる【ISFORMULA(イズ・フォーミュラ)関数】で、数式が入っているかを調べることもできますよ!

※【ISFORMULA(イズ・フォーミュラ)関数】については、また別の機会に詳しくご紹介していこうと思います。

【FORMULATEXT関数】でエラー値が表示される場合

FORMULATEXT関数では、数式や関数式などの計算式がないと、エラー値『#N/A』が表示されてしまうのですが、実はそれ以外でもエラー値『#N/A』が表示される場合があります。その例を少しご紹介しますね!

  • 指定する対象のセルに数式や関数式などの計算式が含まれていないもの
  • 指定する対象のセルの数式の文字数が「8,192文字」を超えているもの
  • ワークシートの保護機能を使っていて数式が表示されないもの
  • 外部のブックを調べている場合にそのブックがExcelで開かれていないもの

この4つの場合、エラー値『#N/A』が表示されるので注意です!

【FORMULATEXT関数】を書き方をみてみよう

さて、話を戻しまして、【FORMULATEXT関数】を書き方を見ていこうと思います。

『関数式:=FORMULATEXT(参照したいセル番号)』

『参照したいセル番号=計算式を表示させたいセル番号』です。指定したいセル番号を参照すると、中に入っている数式が文字列として表示されていれば、数式の結果とは別に数式・関数式を表示させてくれます。

【FORMULATEXT関数】を使ってみよう

では、実際に【FORMULATEXT関数】を使ってみようと思います。今回は、各合計の結果のセルに関数もしくは四則演算の計算式が入っています。ではどんな数式や関数式が入っているのか見ていきましょう!

まず、調べるのはC2に入っている合計の結果です。
『関数式:=FORMULATEXT(C2)』と入れてEnterで確定します。

すると、FORMULATEXT関数の列に『=B2*A2』が表示されました。

あとは全てオートフィルをして計算式をコピーすると、各計算式が文字列として表示されます。関数で計算されていたC4やC5には、『=FORMULATEXT(C4)』のように積を求める(乗算)関数の【PRODUCT関数】が入っていることがわかりますね。

セルに入力されている数式を取り出すFORMULATEXT関数|【まとめ】

Excelで入力されている数式を取り出す・表示させる関数【FORMULATEXT関数】をご紹介してきましたが、いかがだったでしょうか?

参照したセル内に計算式が入っていると、その入力されている関数を文字列として表示してくれるため、別の人データを見た際にわかりやすいように関数の補足説明をしたり、データを渡された際に、入っている計算式を確認して他の計算式で参考に使う、なんてこともできますね!

また、『数式の表示』の機能もありますが、こちらはあくまでも入力されている数式や関数などの計算式を表示させるだけのため、数式の結果は見ることができなくなってしまいます。一時的に、セル内に入っている計算式を見るのであれば、この機能は使いやすいので、利用する方法や利用したい場合で【FORMULATEXT関数】と『数式の表示』を分けてみるといいかもしれませんね!