• ベストアンサー

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

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

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • Excel97で、If文をなんとかしたい

    IF文でなんとかなりそうなんですが、IF文を使った事がなくて。 A列   B列   C列    任意の位置のセルD 数式  文字列   数式  文字列 数式  文字列 数式  文字列 こんな表で、Bの文字列の値と、Dのセルの値が一致した時、Aの数式の値(数字)をCの列に表示させ、BとDの文字が一致しない時は、”エラー”を表示させたいんですが、どういう風にすればいいのでしょうか? IF文を使えばいいのでしょうか? どういう風に、数式を立てればいいのかわかりません。 どなたか詳しい方、教えていただけませんか?

  • エクセルの関数を使用して、文字と数字を判別するには・・・

    条件付書式を使用しセルの値が、文字なら色を付け、数字なら書式を変えない設定にしたいのですが、判別するための関数がわかりません。 文字が入っているので、数式で条件付けをする方法だと思います。 よろしくお願いいたします。 エクセル2002

  • 【エクセル】条件によって数式を削除する

    エクセルで以下のようなことは実現可能でしょうか? たとえば ・A1の値が「a」のときはC1にはB1を検索値としたルックアップの値を返す。 ・A1の値が「b」のときはC1はルックアップを使用せず直接値を入力させる。 つまり、A1の値によって、C1セルの数式を削除し、完全に空白にするということです。 「IF」関数等ではC1セルを空白にできても数式は残ってしまうため、実現することはできません。 わかりやすく言えば、「条件付書式」では条件によってセルの文字色や背景色を変更することしかできないと思いますが、それをセルの値も含めて変更するような感じです。 方法がお分かりの方、お教えください。

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • IF文について

    以下を実現するIF文(又は関数)を教えてほしいのですが・・↓ もし、B2のセルに何か文字が入っていたら、 B1のセルに”○”を表示する。 B2のセルに何も文字が入っていなかったら、何もしない。

  • 【Excel】IF文「ある文字を含んでいたら…」

    Excel2003を使用しています。 IF文について教えてください。 「ある文字を含んでいたら…」という条件をたてたいのですが 例えば、A1セルに『仕入』という文字が含まれていたら、B1セルに『100』と表示されるように数式を入力する場合、どのようにしたらいいでしょうか? “含まれる”ということで、『仕入』の前後に『*』をつけたらいいのかなと思ったのですが、うまくいきません。SUMIF や COUNTIF ではうまくいったのですが。。。 よろしくお願いします。

  • excel、A1セルとB1セルの差でセルに色を付けるには・・・・。

    皆さん始めまして、いつも大変お世話になっております。 excelでの質問です。 まずA1セルとB1セルに小数点2桁の数値を入力します。 A1セルからB1セルの数値を引き、その差が0.16以上の場合に条件付書式を使いA1セルとB1セルに色を付けたいのです。 当方条件付書式に 「数式が」=(A1-B1)>=0.16 上記の条件を入れてみたのですが、A1セルとB1セルに入れる数値によっては上手く色が付けられないで困っています。 参考値  A1「54.19」 B1「54.03」 上の数値だと色が付かなかったりします 他に良い方法ありましたら教えて頂けると幸いです、よろしくお願いいたします。

  • IF文の使い方

    IF文の使い方について教えて下さい.一応ヘルプを見て以下のようなIF文を作ったのですが,文字列と認識されてしまっているようで全く意図したような数字が入りません. なお,IF文を入れたセルは書式で確認しても文字列ではなく,標準になっています. やりたいことは,C列の数字がゼロならB列の数字(単価)を使って,ゼロでなければC列の数字(区別単価)を使ってD列の数量をかけた合計をE列に表示(計算)させたいのですが. 下の例だとEのセルには125*1200が入ってもらいたいのです. 単価    特別単価    数量     合計 B列     C列      D列     E列 125      0      1200    IF(C5=0,=D5*B5,D5*C5)

  • A1セルの数値が○○の時、B1セルに色をつけたい

    EXCELについて教えてください。 (1) A1セルが1以上12以下の時、B1セルに色をつける(塗りつぶす) (2) A1セルが1の時、B1セルに色をつける (3) A1セルが1か3か5の時、B1セルに色をつける。 B1セルは空欄ではなく、漢字が入力されています。 以上のようなことをやりたいのですが、どうもうまくできません。 条件付書式でできるようなのですが、特に(1)のような 「1以上12以下」という条件の付け方がわからなくて・・・。 何卒よろしくお願いいたします。 

  • Excelの関数『IF』にて・・・

    EXCELにて、関数IFを使って一覧表から 自動入力をしたいと考えています。 例えば、以下のようにしてセル『C1』の数字に 応じて、自動を試みたい時 =IF($C$1>80,"=A1",IF($C$1>70,"=B1","=C1")) =A1,=B1,=C1 の場所を文字列としてしか読み取ってくれません =A1,=B1,=C1では無く=A1,=B1,=C1のセルに入力されてる 数式(他のセルの値)を、表示したいんですが どのようにすれば可能でしょうか? 何度やっても「=A1」と、そのまま文字列として出て来ちゃいます。

専門家に質問してみよう