- 作成日 : 2025年8月25日
FORMULATEXT関数の使い方:セルの数式を文字列として表示する方法
FORMULATEXT関数は、指定したセルに入力されている数式を文字列として表示する関数です。ワークシートの文書化、数式の監査、エラーチェック、教育資料の作成など、数式の内容を可視化して管理する場面で活用されます。例えば、複雑な財務モデルの数式を一覧化したり、数式のエラーを特定したり、エクセルの使い方を説明する資料を作成したりできます。本記事では、FORMULATEXT関数の基本的な使い方から実践的な活用方法、他の関数との効果的な組み合わせまで、初心者の方にもわかりやすく紹介します。
目次
FORMULATEXT関数とは
FORMULATEXT関数は、セルに入力されている数式を文字列として取得する情報関数です。Excel 2013で導入されたこの関数により、通常は数式バーでしか確認できない数式の内容を、ワークシート上に表示できるようになりました。
この関数の重要な特徴は、数式の結果ではなく、数式そのものを文字列として返すことです。これにより、ワークシートの構造を文書化したり、複雑な数式を分析したり、他の人に数式の動作を説明したりすることが容易になります。
FORMULATEXT関数の基本的な使い方
関数の構文を理解する
FORMULATEXT関数の構文は非常にシンプルです。
=FORMULATEXT(参照)
参照には、数式を取得したいセルを指定します。
基本的な使用例
実際の使用例を見てみましょう。
A1セルに「=B1+C1」という数式が入力されている場合:
=FORMULATEXT(A1)
この結果は「=B1+C1」という文字列になります。
より複雑な数式の例:
=FORMULATEXT(A2) ‘ A2に =VLOOKUP(D2,表1,2,FALSE) がある場合
結果は「=VLOOKUP(D2,表1,2,FALSE)」となります。
数式でないセルの場合
値が入力されているセルを参照した場合:
=FORMULATEXT(A3) ‘ A3に「100」という値がある場合
この場合、#N/Aエラーが返されます。
FORMULATEXT関数の実践的な利用シーン
ワークシートの文書化
複雑な財務モデルや分析シートでは、使用されている数式を文書化することが重要です。FORMULATEXT関数を使って、主要な計算式を別シートに一覧表示することで、モデルの構造を明確に記録できます。
監査や引き継ぎの際に、数式の一覧があることで、ワークシートの理解が格段に早くなります。また、数式の変更履歴を記録する際にも、変更前の数式を文字列として保存できます。
数式のエラーチェック
大規模なワークシートでは、数式の一貫性を保つことが課題となります。FORMULATEXT関数で数式を文字列化し、文字列関数で分析することで、参照範囲の不整合や関数の使用ミスを発見できます。
例えば、本来すべて同じパターンであるべき数式が、一部だけ異なる参照をしている場合、その差異を自動的に検出できます。
教育・トレーニング資料の作成
エクセルの使い方を教える際、数式とその結果を並べて表示することで、学習効果が高まります。FORMULATEXT関数を使えば、動的に更新される教材を作成でき、数式を変更すると自動的に表示も更新されます。
関数の使い方を説明する際に、実際の数式と計算結果を同時に見せることで、理解しやすい教材となります。
FORMULATEXT関数の応用テクニック
数式の一覧作成
ワークシート内のすべての数式を抽出:
=IFERROR(FORMULATEXT(A1), “”)
各セルに適用して、数式のみを表示します。
数式の比較
異なるセルの数式が同じかチェック:
=IF(FORMULATEXT(A1)=FORMULATEXT(B1), “同じ”, “異なる”)
数式内の特定関数の検出
VLOOKUP関数を使用しているセルを特定:
=IF(ISNUMBER(SEARCH(“VLOOKUP”, FORMULATEXT(A1))), “VLOOKUP使用”, “”)
よくあるエラーと対策
#N/Aエラーへの対処
数式が入力されていないセルを参照した場合に発生します。
基本的なエラー処理:
=IFERROR(FORMULATEXT(A1), “数式なし”)
詳細な判定を含む処理:
=IF(ISFORMULA(A1), FORMULATEXT(A1),
IF(ISBLANK(A1), “空白セル”, “値: ” & A1))
FORMULATEXT関数は数式が存在しない場合に#N/Aエラーを返すため、IFERROR関数やISFORMULA関数と組み合わせて使用することが一般的です。これにより、セルの内容に応じた適切な表示が可能になります。特に、大量のセルを処理する場合は、エラー処理が必須です。
循環参照の問題
自己参照を含む場合の注意:
=IF(A1=FORMULATEXT(A1), “循環参照の可能性”, FORMULATEXT(A1))
保護されたセルでの動作:
=IFERROR(FORMULATEXT(A1), “数式なしまたは保護されています”)
FORMULATEXT関数自体が循環参照を作ることは稀ですが、取得した数式文字列を評価しようとすると問題が発生する可能性があります。また、シートが保護されていても、セルが「数式を表示しない (Hidden)」に設定されていなければ FORMULATEXT 関数は動作しますが、数式が非表示に設定されている場合は #N/A エラーを返します。保護状態とセルの表示設定によって挙動が変わる点に注意してください。
配列数式での使用
配列数式の表示に関する制限:
=IF(ISERROR(FORMULATEXT(A1)), “配列数式または値”,
FORMULATEXT(A1))
スピル範囲での処理:
=FORMULATEXT(A1#) ‘ Excel 365のスピル範囲
従来の配列数式(Ctrl+Shift+Enter)は、FORMULATEXT関数で正しく表示されないことがあります。Excel 365の動的配列では、スピル範囲の最初のセルの数式のみが表示されます。配列数式を文書化する際は、この制限を理解しておく必要があります。
長い数式の表示
セル幅を超える数式の処理:
=LEFT(FORMULATEXT(A1), 50) & IF(LEN(FORMULATEXT(A1))>50, “…”, “”)
改行を含む表示:
=SUBSTITUTE(FORMULATEXT(A1), “,”, “,” & CHAR (10))
複雑な数式は非常に長くなることがあり、セルに収まらない場合があります。適切に切り詰めたり、改行を挿入することで、読みやすい表示が可能になります。印刷時の考慮も重要です。
FORMULATEXT関数と他の関数との組み合わせ
ISFORMULA関数での事前チェック
数式の存在を確認してから表示:
=IF(ISFORMULA(A1), “数式: ” & FORMULATEXT(A1), “値: ” & TEXT(A1, “@”))
=IF(ISFORMULA(A1), FORMULATEXT(A1), IF(ISBLANK(A1), “(空白)”, TEXT(A1, “@”)))
ISFORMULA関数で事前にチェックすることで、エラーを回避しつつ、セルの内容を適切に表示できます。この組み合わせは、ワークシートの構造を完全に文書化する際の標準的なパターンです。値と数式を明確に区別して表示することで、ワークシートの理解が容易になります。
LEN関数での数式の長さ確認
数式の複雑さを定量化:
=LEN(FORMULATEXT(A1)) & “文字”
=IF(LEN(FORMULATEXT(A1))>100, “複雑な数式”, “シンプルな数式”)
数式の長さは複雑さの指標となります。メンテナンス性の観点から、過度に長い数式は分割することを検討すべきです。組織内で数式の長さの上限を設定し、それを超える場合は警告を表示するような仕組みも構築できます。
SEARCH/FIND関数での数式分析
特定のセル参照を含む数式を検出:
=IF(ISNUMBER(SEARCH(“$A$1”, FORMULATEXT(B1))), “A1を参照”, “”)
B1 セルに =FORMULATEXT(A1:A10) と入力(スピルで B1:B10 に展開)
=COUNTIF(B1#,”*VLOOKUP*”)
数式内で使用されている参照や関数を分析することで、依存関係を把握できます。特定のセルを参照している数式をすべて特定したり、非推奨の関数(VLOOKUP→XLOOKUP)を使用している箇所を発見したりできます。
SUBSTITUTE関数での数式の加工
数式内の参照を一括変更:
=SUBSTITUTE(FORMULATEXT(A1), “Sheet1”, “Sheet2″)
=”変更後: ” & SUBSTITUTE(FORMULATEXT(A1), “$A$1”, “$B$1”)
数式を文字列として扱うことで、一括置換が可能になります。ただし、実際の数式を変更するには、VBAや手動での対応が必要です。この手法は、数式の変更シミュレーションや、移行計画の立案に有用です。
TEXT関数での書式設定
数式と結果を整形して表示:
=”数式: ” & FORMULATEXT(A1) & ” → 結果: ” & TEXT(A1, “#,##0.00″)
=FORMULATEXT(A1) & ” = ” & IF(ISERROR(A1), “エラー”, TEXT(A1, “General”))
教育資料や文書化において、数式とその結果を見やすく表示できます。エラー処理も含めることで、あらゆる状況に対応した表示が可能です。プレゼンテーション資料の作成時に特に有効です。
INDIRECT関数での動的参照
取得した数式文字列から参照先を抽出:
セル A1 が 単純な範囲式(例 =B1:C10)の場合は、コロン以降も含めて全文字を取得するように修正します。
=INDIRECT(MID(FORMULATEXT(A1), 2, LEN(FORMULATEXT(A1))-1))
セル A1 が 関数付きの数式(例 =SUM(B1:C10))で、括弧内の範囲を取り出して参照したい場合は LET 関数を使うと安全です。
=LET(
f, FORMULATEXT(A1), /* 数式文字列 */
r, MID(f, FIND(“(“,f)+1, FIND(“)”,f)-FIND(“(“,f)-1), /* 括弧内を抽出 */
INDIRECT(r))
※複雑なネスト式では括弧の位置判定をさらに精緻化するか、VBA/Power Query 等の利用を検討してください。
高度な使用例ですが、数式から参照範囲を抽出し、その範囲を動的に利用することができます。ただし、複雑な数式では正確な抽出が困難なため、単純な参照であれば、使用が適しています。
FORMULATEXT関数を活用しよう
FORMULATEXT関数は、エクセルの数式を可視化し、文書化するために有効な関数の一つです。ワークシートの監査、エラーチェック、教育資料の作成など、数式の透明性が求められる様々な場面で活用できます。
ISFORMULA関数との組み合わせにより、エラーを回避しながら包括的な数式管理が可能になります。文字列関数と組み合わせることで、数式の分析や依存関係の把握も実現できます。
Excel 2013以降でのみ使用可能という制限はありますが、シート管理で役立つ関数のひとつです。ぜひ実務でFORMULATEXT関数を活用し、より透明性の高い、保守しやすいワークシートを作成してください。数式の可視化は、チームでの共有や品質管理に役立ちます。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
スプレッドシートでスクロールできないのはなぜ?原因別の解決方法と予防策
Googleスプレッドシート(Google Sheets)でスクロールができなくなる問題は、作業効率に大きな支障をきたすトラブルのひとつです。 本記事では、スクロール不具合の主な原因と、ブラウザ設定の問題、拡張機能の競合、固定行・固定列の設…
詳しくみるMATCH関数とは?使い方をわかりやすく解説
MATCH関数とは、ExcelやGoogleスプレッドシートにおいて、指定した値が範囲内のどの位置にあるかを返す関数です。MATCH関数を使用すると、大量のデータの中から必要な情報を迅速に見つけられます。MATCH関数は、他の関数と組み合わ…
詳しくみるMODE関数の使い方:エクセルで最頻値を求めてデータの傾向を分析する方法
MODE関数は、データセットの中で最も頻繁に出現する値(最頻値)を求めるエクセルの統計関数です。最頻値は平均値や中央値と並ぶ代表値の一つで、アンケート分析、品質管理、売上分析、顧客行動分析など、様々なビジネスシーンで活用されています。 本記…
詳しくみるExcelのRANK.EQ関数の使い方:順位付けを簡単にマスターする方法
RANK.EQ関数は、Excelで数値データの順位を自動的に計算する便利な関数です。売上ランキングや成績順位、業績評価など、ビジネスや教育現場で頻繁に使用される機能で、大量のデータを瞬時に順位付けできます。 本記事では、RANK.EQ関数の…
詳しくみるDELTA関数の使い方:2つの値が等しいかを判定する方法
DELTA関数は、2つの数値が等しいかどうかを判定し、等しい場合は1、異なる場合は0を返す関数です。データの一致確認、条件付き計算、品質検査での合否判定など、値の比較が必要な様々な場面で活用されます。例えば、目標値と実績値の一致を確認したり…
詳しくみるスプレッドシートのフィルタ機能とは?作成や共有から自分だけの表示方法まで解説
Googleスプレッドシートの フィルタ機能 は、大量のデータから必要な情報だけを素早く抽出できる便利な機能です。一時的にデータを絞り込んで表示できるため、必要な情報だけを確認しやすくなります。 特に「フィルタ表示(フィルタビュー)」を使え…
詳しくみる



