• ベストアンサー

EXCEL2002でA1セルがif文だったらB1セルに

こんにちは。 EXCEL2002です。以下のようにするにはどのような関数を使えば良いのか教えてください。 A1セルが・・・・ if文だったらB1セルに"○" if文以外の数式だったらB1セルに"△" 文字や数字の値だったらB1セルに"×"  と表示する。 条件付書式などの回答を見ていろいろ調べましたが、分かりませんでした。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

通常のエクセル関数でセルの関数式(文字列)を捉えるものはないと思う。 CELLやINFOもだめのようですね。 それで私製(ユーザー)関数の出番です。 ツール-マクロ-VBE-挿入-標準モジュールで出る画面に Function frml(a) If a.HasFormula = True Then If Mid(a.formula, 1, 3) = "=IF" Then frml = "○" Else frml = "△" End If Else frml = "X" End If End Function を貼りつける。 そしてB1セルに =frml(A1) と入力する。 A1に=IF(a2="2","A","")で○ A2に2でX A3に=SUM(a10:a12)で△ になりました。 しかしこの質問のようなことが必要な場面がどう言う場合 なのか判らないですね。

min128mini
質問者

お礼

このようにすれば私製関数が出来てしまうのですね。大変勉強になりました。 おかけさまで希望通りの動作ができました。 >しかしこの質問のようなことが必要な場面がどう言う場合なのか判らないですね。 おそらくVBAを使いこなせれば、他の方法が沢山あるのだと思いますが、EXCELの計算式を復活させる処理の際に、ユーザーが計算式を壊して文字列を入力している部分をスキップさせるための判定に使いました。 ご回答どうもありがとうございました。

関連するQ&A

専門家に質問してみよう