こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

こんにちは。
EXCEL2002です。以下のようにするにはどのような関数を使えば良いのか教えてください。

A1セルが・・・・
if文だったらB1セルに"○"
if文以外の数式だったらB1セルに"△"
文字や数字の値だったらB1セルに"×" 
と表示する。

条件付書式などの回答を見ていろいろ調べましたが、分かりませんでした。よろしくお願いします。

投稿日時 - 2004-01-17 05:26:05

QNo.753173

困ってます

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

通常のエクセル関数でセルの関数式(文字列)を捉えるものはないと思う。
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)で△
になりました。
しかしこの質問のようなことが必要な場面がどう言う場合
なのか判らないですね。

投稿日時 - 2004-01-17 08:11:56

お礼

このようにすれば私製関数が出来てしまうのですね。大変勉強になりました。
おかけさまで希望通りの動作ができました。

>しかしこの質問のようなことが必要な場面がどう言う場合なのか判らないですね。
おそらくVBAを使いこなせれば、他の方法が沢山あるのだと思いますが、EXCELの計算式を復活させる処理の際に、ユーザーが計算式を壊して文字列を入力している部分をスキップさせるための判定に使いました。

ご回答どうもありがとうございました。

投稿日時 - 2004-01-18 04:30:14

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問