関数で数式を文字列として検索する方法

こんな感じの表を頂きました。

f:id:ExcelLover:20170803203600j:plain

この表には期首残の項目が無く、期末残の数式の中に埋め込まれているという恐ろしい作りになっています。 期首残の数値が必要だったため数式から抜き出そうと思いMid関数と Find関数 で抜き出そうとしたのですが、 Find関数では数式の結果に対してのみ検索可能なため上手く行きませんでした。

Formulatext関数で文字列として認識

Formulatext関数を使うと関数の結果ではなく数式自体を返してくれます。

上記の例でいうと449という結果ではなく=1000-SUM(B3:M3)という文字列に対して検索をかけることが出来ます。

以下のように利用して目的を達成しました。

f:id:ExcelLover:20170803203617j:plain

=MID(FORMULATEXT(N3),2,FIND(“-”,FORMULATEXT(N3))-2)

※実際には = を置換して文字列にしてから普通にMid、Find関数だけで抜き出したんだけどね