• ベストアンサー

IF関数の条件に関数を指定

Excelに関する質問です。 ちょっと分かりづらいのですが、例えばセルA1とB1があるとします。 A1には別シートのセルが参照されています。(「="あ!A1"」など) ここで、B1にはIF関数を入れたいのですが、その時A1の関数式内の文字を条件にしたいのですが、そういうことはできますか? つまり、B1にIF関数で「A1セル内の関数式内に"あ"の文字がある時に"い"と表示する」のようにしたいのです。 普通に「=IF(A1="あ","◯","")」ではできません。 Google先生でも調べてみたのですが、分かりませんでした。 お知恵をいただければ幸いです。

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

  • ベストアンサー
  • marumets
  • ベストアンサー率42% (199/463)
回答No.5

EXCEL2013であれば、 B1に =IFERROR(IF(FIND("あ",FORMULATEXT(A1)),"○",),"") でできます。

SEI-R
質問者

お礼

ご回答ありがとうございます。 これを求めていました! すごくシンプルに完了しました! ありがとうございました!!

その他の回答 (4)

回答No.4

"○○"はその値を示す記号です。 A1には「あ!A1」と表示されるかと。 A1=あ!A1 としたうえで B1=IF(A1="あ","い","") でOKなはず。

  • marumets
  • ベストアンサー率42% (199/463)
回答No.3

こういう方法はどうでしょう? A1に =INDIRECT(A2) として、 A2に あ!A1 という =を除いた式(文字列になります) を入れます。 これで、A1は今まで通りの値が計算されます。 そうしておいて、 B1には =IF(FIND("あ",A2),"○","") とします。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>ちょっと分かりづらいのですが、例えばセルA1とB1があるとします。 >A1には別シートのセルが参照されています。(「="あ!A1"」など) はい、非常に分かりずらいです。 A1=あ!A1 と言う数式ならシート名が あ のA1セルを現在のシートのA1へ代入するのですが、 A1="あ!A1" では現在のシートのA1へ文字列の あ!A1 が代入されます。 「別シートのセルを参照」と言いながら例示の数式では別シートのセルを参照していません。 >つまり、B1にIF関数で「A1セル内の関数式内に"あ"の文字がある時に"い"と表示する」のようにしたいのです。 >普通に「=IF(A1="あ","◯","")」ではできません。 シート名の あ のA1セルに"あかさたな"と言う文字列があり、現在のシートのA1セルに =あ!A1 と言う数式が設定されていればA1セルに あかさたな と表示されているでしょう。 その状態で現在のシートのB1セルに次の数式を設定すると結果は右に示す通りです。 B1=IF(A1="あ","◯","") → (何も表示されない) C1=IF(FIND("あ",A1),"○","") → ○

SEI-R
質問者

お礼

>A1="あ!A1" では現在のシートのA1へ文字列の あ!A1 が代入されます。 誠に申し訳ございません、仰る通りでした(;´Д`) が、実例を明示していただいて申し訳ありませんが、別シートのA1セルに「あかさたな」と入れてしまうと、"あ"が入っていますので、そちらを検索してしまうのでは無いでしょうか。 実際に提示させていただいた方法で「あかさたな」を「いきしちに」に変えてみたところ、エラーになりました。 私が希望しているのは、関数内のシート名の"あ"を条件にしたいのです。 わかりづらくて申し訳ありませんが、よろしくお願いします。

  • ryo_ky
  • ベストアンサー率47% (112/237)
回答No.1

当方でも同じ検証をしましたが,おそらくできていると思います. Sheet1のA1に =あ!A1 B1に =IF(A1="あ","い","") これでB1には「い」と表示されます. ※Excel ver 2010 Home & Business

関連するQ&A

専門家に質問してみよう