FORMULATEXT関数は、セルに含まれている数式を文字列として出力します。

【構文】

=FORMULATEXT(参照)

【使用例】

  • =FORMULATEXT(B2)
    セルB2に数式 「=TODAY()」が設定されている場合、セル上に「=TODAY()」と出力されます。

この関数、セル内の数式が8,192文字を超えていると#N/A(ノーアサイン)のエラーが出力されるのだけど、それだけ長い数式を管理するのってもう至難の業じゃない(笑) 8,192を素因数分解すると2の13乗。うーん……8キロバイトってこと?

関数説明

普段から使用しているワークシートで数式を確認する場合、[数式]タブ→[ワークシート分析]グループの[数式の表示]より確認します。

ショートカットキーは「Ctrl+Shift+`(@のキー)」です。

通常はこれで数式の規則性を目視して数式に間違いがないかを確認します。仕事場で、こういうのやっちゃう人がいますからね。

2冊目の本にも記載しましたが、それらしい数字を直接入れてしまう操作、本当に魔の操作です。

ただ、この操作だと列幅が拡大してしまうので、全体が見づらくなります。空いている適当なセルを選択して、FORMULATEXT関数を使ってみましょう。

FORMULATEXT関数は、[数式]タブ→関数ライブラリの[検索/行列]の中にあります。

引数指定は、数式の入力されているセルを参照するだけです。

これで数式を文字列として表示することができました。

オートフィルをして、直接入力されていないかどうか確認します。

数式でない場合は、このように#N/A(ノーアサイン)エラーが出力されます。そのほか、エラーがでる要因は公式ヘルプより以下のとおりです。

  • 対象範囲として使用されるセルに数式が含まれていない場合。

  • セル内の数式が 8,192 文字を超えている場合。

  • ワークシート保護などのために、数式がワークシートに表示されない場合。

  • 数式が含まれている外部のブックが Excel で開かれていない場合。

FORMULATEXT関数の説明は以上です。

さえちゃんのFORMULATEXT関数ワンポイントアドバイス

この関数は上記で説明したように、適当なセルで数式を検査するときに使うことができますが、ワークシートの構造が複雑だったり、アウトプットしたデータの数式がおかしなことになっていないかどうか、出力データをチェックする「検査シート」なるものを作って、数式の安全性を管理する目的で使うことが多いです。

あくまで一例ですが、14種類の製品管理を行っているワークシートで、こんなふうに検証するセル位置がずれていないか、データの保全目的に使っていたりします。

誰かが行挿入を行った場合、このように一目でわかりますからね。

関数ステータス

関数ライブラリの種類

検索/行列

数式の構文

=FORMULATEXT(参照) 

引数ダイアログ

Microsoft 公式サポート

FORMULATEXT関数 - Office サポート