このエントリーをはてなブックマークに追加

本記事は、Qiitaのこの記事と同一内容です。

目次

はじめに

Excelの数式は、”数式の表示”か”Ctrl+Shift+@”で文字列として表示できる

これは有名な話です。
しかしシート内すべてのセルについて適応されるので、特定のセルだけ数式を表示したい場合は使用できません。
そんな時は、Excel2013で追加された関数”FORMULATEXT”を使いましょう。

使い方

数式を文字列として表示したいセルに以下のように数式を書くだけです。

=FORMULATEXT(数式を文字列としてみたいセル)

使用例:
image.png

C11セルにFORMULATEXTの数式を記載していますが、そのセルは数式でなく数式の結果を表示できております。

用途

この数式は、特定のセルだけ数式を文字列として表示する以外にも、既存の数式を改変するという用途で使用できます。
以下のような数式の置換を行いたい場合、Excelやテキストエディタの一括置換だけでは作業に手間がかかります。

例:
'E1セルのこの数式を
=SUM(A1,B1,C1)

'こうしたい
=SUM(A1,B1,D1)

手順

  1. 数式を、関数FORMULATEXTで文字列化する
  2. 文字列化した数式を、SUBSTITUDE(置換)等の関数で改変する
  3. 改変した数式を、テキストエディタにコピーペストする
    ※EXCEL上でコピーペストすると、手順2で改変に使う関数、もしくは改変結果を文字列としてコピーペストしてしまいます。
  4. テキストエディタにコピーペストした式を、適用したいセルに貼り付ける
例の場合の手順1,2の数式:  
=SUBSTITUTE(FORMULATEXT(E1),"C1","D1")

数式の改変作業自体は文字列の置換となるので、SUBSTITUDE以外の関数も使用可能です。



←Next: [Excel]いろいろな方法で、数値を含むセルをコピーしよう
Previous: [Word,Excel,Power Point]Officeのファイルから画像を取り出す処理をコードで自動化