【要点】FORMULATEXT関数で数式を文字列表示する
- FORMULATEXT関数: 指定したセルの数式を文字列として取得できます。
- 参照セル: 数式を表示したいセルのアドレスを指定します。
- 数式表示: セルに数式ではなく、その数式自体を文字列として表示できます。
ADVERTISEMENT
目次
FORMULATEXT関数で数式を文字列として表示する仕組み
FORMULATEXT関数は、Excelで数式を文字列として取得するための専用関数です。
通常、Excelのセルに数式を入力すると、その数式が計算した結果の値が表示されます。数式そのものを確認するには、セルを選択して数式バーを見る必要があります。
しかし、FORMULATEXT関数を使えば、数式バーを見なくても、別のセルに数式そのものをテキストとして表示できます。
これは、数式の監査、ドキュメント作成、または他のユーザーへの数式の説明に非常に便利です。
この関数は、Excel 2019およびMicrosoft 365のExcelで利用可能です。Excel 2016以前のバージョンでは使用できません。
FORMULATEXT関数の基本的な使い方
FORMULATEXT関数は非常にシンプルで、数式を表示したいセルに以下の構文で入力します。
構文:
FORMULATEXT(参照)
引数:
参照 (必須): 数式の値を取得したいセルを指定します。
- 数式を表示したいセルを選択する
例えば、セルA1に「=SUM(B1:B10)」という数式が入っているとします。この数式を文字列として表示したい場合、別のセル(例えばC1)を選択します。 - FORMULATEXT関数を入力する
選択したセルC1に、「=FORMULATEXT(A1)」と入力してEnterキーを押します。 - 結果を確認する
セルC1には、「=SUM(B1:B10)」という数式が文字列として表示されます。
FORMULATEXT関数を応用した活用例
FORMULATEXT関数は、単に数式を表示するだけでなく、様々な場面で活用できます。
数式を説明するためのドキュメント作成
複雑な計算を行うExcelシートを他の部署や担当者に引き継ぐ際、数式だけでは意図が伝わりにくいことがあります。
FORMULATEXT関数を使って、各セルの数式を一覧で表示し、その隣に説明文を追記することで、シートの仕様書のようなドキュメントを簡単に作成できます。
数式の監査とデバッグ
数式が意図した通りに動作しない場合、数式バーで確認するだけでなく、FORMULATEXT関数で数式を文字列として抽出し、別のセルに一覧表示することで、数式の構造を把握しやすくなります。
これにより、誤字脱字や論理的な誤りを見つけやすくなり、デバッグ作業が効率化します。
数式をコピーして別の場所で利用する
数式をそのままコピーして、例えばテキストファイルやメール本文に貼り付けたい場合があります。
FORMULATEXT関数で数式を文字列として取得し、そのセルをコピーして貼り付ければ、数式が計算結果ではなく、入力した数式として貼り付けられます。
ADVERTISEMENT
FORMULATEXT関数使用時の注意点と制限事項
FORMULATEXT関数は便利ですが、いくつかの注意点と制限事項があります。
参照先のセルに数式がない場合
FORMULATEXT関数で指定したセルに数式が入力されていない場合、またはそのセルが空の場合、関数は「#N/A」エラーを返します。
これを避けるためには、IFERROR関数と組み合わせるのが一般的です。
- IFERROR関数と組み合わせる
例えば、セルA1の数式を表示したいが、A1に数式がない場合は空白にしたい場合、セルC1に以下の数式を入力します。
=IFERROR(FORMULATEXT(A1),””)
これにより、「#N/A」エラーが表示される代わりに空白が表示されます。
配列数式や共有ブックでの制限
FORMULATEXT関数は、動的配列数式や共有ブック(履歴の記録がオンになっている場合)では、期待通りに動作しないことがあります。
動的配列数式の場合、配列全体ではなく、数式が入力されている最初のセルのみの数式を返します。
共有ブックの履歴がオンになっていると、数式が変更されるたびに履歴が記録されるため、FORMULATEXT関数が最新の数式を正確に取得できない場合があります。
数式が長すぎる場合
Excelのセルに入力できる数式の最大長は8,192文字です。
FORMULATEXT関数で取得できる数式も、この文字数制限を超えません。
非常に長い数式の場合、セル幅を広げたり、セルの書式設定で「折り返して全体を表示する」を有効にしたりする必要があるでしょう。
Excelのバージョンによる違い
前述の通り、FORMULATEXT関数はExcel 2019およびMicrosoft 365のExcelで利用可能です。
Excel 2016、Excel 2013、Excel 2010などの古いバージョンでは、この関数は搭載されていません。
これらの古いバージョンで数式を文字列として表示したい場合は、VBA(Visual Basic for Applications)を使用するか、手動で数式をコピー&ペーストするしかありません。
Excel 2016以前のバージョンでの代替手段(VBA)
FORMULATEXT関数が使えないExcel 2016以前のバージョンでは、VBAを使用して同様の機能を実現できます。
VBAで数式を文字列として取得する
以下のVBAコードは、指定したセルの数式を文字列として取得し、別のセルに表示する例です。
- VBAエディターを開く
Excelで「Alt」+「F11」キーを押し、VBAエディターを開きます。 - 標準モジュールを挿入する
「挿入」メニューから「標準モジュール」を選択します。 - コードを貼り付ける
表示されたコードウィンドウに、以下のコードをコピーして貼り付けます。
Function GetFormulaAsString(targetCell As Range) As String
On Error Resume Next
GetFormulaAsString = targetCell.Formula
On Error GoTo 0
End Function
- Excelシートに戻る
VBAエディターを閉じ、Excelシートに戻ります。 - 作成した関数を使用する
数式を表示したいセル(例えばC1)に、「=GetFormulaAsString(A1)」と入力します。 - 結果を確認する
セルC1に、セルA1の数式が文字列として表示されます。
このVBA関数は、FORMULATEXT関数と同様に、指定したセルの数式を文字列として返します。
VBA使用時のセキュリティに関する注意
VBAコードを含むブックを開く際には、セキュリティ警告が表示されることがあります。
信頼できるソースからのマクロのみを有効にするようにしてください。
また、VBAコードを保存する際は、「マクロ有効ブック(.xlsm)」形式で保存する必要があります。
FORMULATEXT関数と他の関数との組み合わせ
FORMULATEXT関数は、他のExcel関数と組み合わせることで、さらに強力な機能を発揮します。
IFERROR関数との組み合わせ(再掲)
前述の通り、参照セルに数式がない場合に「#N/A」エラーが表示されるのを防ぐためにIFERROR関数は非常に有効です。
例:
=IFERROR(FORMULATEXT(A1),”数式がありません”)
この場合、A1に数式があればその数式が表示され、なければ「数式がありません」と表示されます。
LEN関数との組み合わせ
数式の長さを取得したい場合にLEN関数と組み合わせます。
例:
=LEN(FORMULATEXT(A1))
これにより、セルA1の数式の文字数を数えることができます。
MID関数やLEFT関数、RIGHT関数との組み合わせ
数式の一部だけを抽出したい場合に、これらの文字列操作関数と組み合わせます。
例えば、数式の最初の10文字だけを表示したい場合は、以下のようになります。
=LEFT(FORMULATEXT(A1), 10)
これは、数式の構造を簡易的に確認したい場合などに役立ちます。
FORMULATEXT関数とVLOOKUP/XLOOKUP関数の比較
FORMULATEXT関数は、数式を文字列として取得する関数ですが、VLOOKUP関数やXLOOKUP関数は、表の中から特定の条件に合うデータを探して表示する関数です。
両者は目的が全く異なります。
| 項目 | FORMULATEXT関数 | VLOOKUP関数 | XLOOKUP関数 |
|---|---|---|---|
| 主な目的 | セルの数式を文字列として表示する | 表の左端列で値を検索し、同じ行の指定列の値を返す | 指定範囲で値を検索し、対応する範囲の値を返す(より柔軟) |
| 戻り値の型 | 文字列 | 数値、文字列、日付など(検索値に一致するセルの値) | 数値、文字列、日付など(検索値に一致するセルの値) |
| 引数 | 参照 | 検索値,範囲,列番号,検索方法 | 検索値,検索範囲,戻り範囲,省略時,一致モード,検索モード |
| 利用バージョン | Excel 2019以降, Microsoft 365 | Excel 2007以降 | Excel for Microsoft 365, Excel 2021 |
まとめ
ExcelのFORMULATEXT関数を使えば、セルの数式を簡単に文字列として表示できます。
これにより、数式の共有、ドキュメント作成、デバッグ作業が格段に効率化します。
Excel 2019以降のバージョンをお使いであれば、ぜひこの関数を活用してみてください。
参照セルに数式がない場合の対処法としてIFERROR関数との組み合わせも覚えておくと便利です。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【Outlook】メールの受信が数分遅れる!リアルタイムで届かない時の同期設定と送受信グループ設定
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Outlook】「メール送信を5分遅らせる」設定!誤送信を防ぐ最強のディレイ機能
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
