• ベストアンサー
  • すぐに回答を!

IF関数を使った数式がおかしいのですが…

エクセルに詳しくない為、下の数式のどこがおかしいのか全くわかりません。どうかよろしくお願いします。 ・B1が「0」であればC1は「×」 ・B1が「0」以外でA1とA2の両方が「◎」ならC1は「◎」 ・または、B1が「0」以外でA1とA2の両方が「△」ならC1は「△」 ・B1が「0」以外で、A1とA2の両方が「◎」または「△」に揃っていない場合はC1は「○」 …となるようにしたいのですが、どうしてもうまく表示されません(A1が「○か△」でA2が「◎」の時は正常に表示されるのですが、A1「◎」でA2「○か△」の時にどうしても「◎」となってしまいます)。 C1のセルに入力している数式は、 =IF(B1=0,"×",IF(A1:A2="◎","◎",IF(A1:A2="△","△","○"))) です。自分なりに調べてみたもののさっぱりです。IF関数 では無理なのでしょうか…。 よろしくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数133
  • ありがとう数6

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

  • ベストアンサー
  • 回答No.5
  • odessa7
  • ベストアンサー率52% (101/192)

 簡単な式では =IF(B1=0,"×",IF(AND(A1=A2,A1<>"○"),A1,"○"))  でも出来ます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

こんなに短い式で出来るとは夢にも思いませんでした(汗)。とても助かります。ありがとうございました。

その他の回答 (4)

  • 回答No.4

IF関数のみでやりたいなら =IF(B1=0,"×",IF(A1="◎",IF(A2="◎","◎","○"),IF(A1="△",IF(A2="△","△","○"),"○")))

共感・感謝の気持ちを伝えよう!

質問者からのお礼

正しく表示されました。いろいろな数式があるのだなと、とても勉強になります。ありがとうございました。

  • 回答No.3

こういうことですか? 但し、この式だとB1が0以外でA1とA2が◎か△以外でそろったときに■が表示されるので、 不都合がある場合は、ヌル("")にするなどしてみて下さい。 =IF(B1=0,"×",IF(A1=A2,IF(A1="◎","◎",IF(A1="△","△","■")),"○"))

共感・感謝の気持ちを伝えよう!

質問者からのお礼

正しく表示されました。いろいろな数式があるのだなと、とても勉強になります。ありがとうございました。

  • 回答No.2
noname#27115
noname#27115

他にも条件がありそうですが、「○」を表示したいだけなら =IF(B1=0,"×",IF(A1:A2="◎","◎",IF(A1<>A2,"○","その他"))

共感・感謝の気持ちを伝えよう!

質問者からのお礼

正しく表示されました。いろいろな数式があるのだなと、とても勉強になります。ありがとうございました。

  • 回答No.1

=IF(B1=0,"×",IF(AND(A1="◎",A2="◎"),"◎",IF(AND(A1="△",A2="△"),"△","○"))) このような式になると思います。 質問者さんの式でうまくいってないのは  A1:A2="◎" この参照方法ですね。 うまくいく場合もありますが、 素直にAND関数を使ってはいかがでしょう? ANDは、二つ上の条件式を並べて、 両方ともが真の場合のみに、真を返す関数です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

やっとIF関数がわかり始めた程度なので、AND関数の使い方は全く知りませんでした。勉強になります。ありがとうございました。

関連するQ&A

  • 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」と、そのまま文字列として出て来ちゃいます。

  • IF関数

    エクセル2013使用です IF関数について教えて下さい A1×A2 という数式と B1×B2 という数式があり A1に数字を入力していない場合はB1×B2の答えを A1に数字を入力している場合は “B1×B2に数字が入っていても” A1×A2の答えを、C1に表示させたいです 答えの欄はC1ひとつだけで A1×A2とB1×B2の答えが足されないようにしたいです 説明が下手で申し訳ございません よろしくお願い致します

  • IF関数でしょうか?

    IF関数だと思うのですが、セルA1に仮に数値30と入っています。で条件としてセルB1が0.2の場合にはA1(値30)に1.1を掛けます。ただB1が0.3の場合はA1(値30)に0.9を掛けます。B1が0.4の場合にはA1(値30)に0.7を掛けます。同じ様にB1が0.5の場合にはA1に0.6を掛けます。その値をC1に表示したいと言う場合、C1の数式はどのように描けばよいのでしょうか?

  • IF関数について教えてください。

    IF関数について教えてください。    A    B    C    D     1              ここの関数     この場合D1の数式をご教授お願いします。   もしA1に数値を入力した場合は「C1+A1」、もしB1に数値を入力した場合は「C1-B1」   おそらく2つのIFがあるのはわかるのですができません。      よろしくお願いいたします。

  • エクセルのif関数で

    エクセルのif関数でこれができるのかわかりませんが、 C1~C10の中の文字列の中にA1と同じ文字列があればB1に「1」を入れ、なければ「2」を入れるということをやりたくて B1のセルに IF(OR(C$1:C$10=A1),1,2) という計算式を入れました。 関数の引数の中の数式の結果では、正しい結果が表示されてるのですが、B1のセルには間違った結果が表示されます。 また、B2以下B20まで計算式をコピーするとB11以下は#VALUE!になってしまいます。 一つ一つを見てみると、どうやらセルに正しく表示されるのはAの行とCの行が=だった場合のみのようです。 #VALUE!が表示されているセルも含めて、数式の結果では正しい結果が出ているのにセルの表示が違っているのが納得できませんが、おそらく何かが間違っているのでしょう。 間違いを教えてください。 よろしくお願いします。

  • IF関数

    教えて下さい。 エクセルのIF関数について まずC1にA1-B1を計算させます。 そのときに、C1の値がマイナスの場合は0表示するようにし、プラスの場合はその値が表示されるようにしたいのです。 具体例 A1=10、B1=12 の場合C1=0     A1=10、B1=8  の場合C1=2 となるように! C1に入力する計算式を教えて下さい。

  • エクセルのIF関数とVLOOKUP関数について教えてください。

      A B C 1 A1 B1 C1 2 A2 B2 C2 ・ ・ ・ 上記のような表があり、セルX、Yに入力した値が2つの条件に合致した場合、セルZにC列の値を返すような数式を作っています。 たとえば、セルXの値がA1より小さく、かつ、セルYの値がB1より小さい場合にはセルZにC1の値を表示する、という数式を作りたいのです。 (ちなみにAn、Bn、Cnにはそれぞれ数字が入ります) =IF(AND(X<=A1,Y<=B1),C1,IF(AND(X<=A2,Y<=B2),C2,・・・ AND関数を利用してこのように数式を入れると、途中まではうまくいくのですが、引数が多いため途中からエラーが出てしまいます。 (引数の数は10個以上あります) IF関数とVLOOKUPを組み合わせればいいというところまではわかるのですが、どのように条件設定をすればいいのかがわかりません。 エクセル初心者で恐縮ですが、どなたか詳しい方いらっしゃいましたらご回答よろしくお願いいたします。

  • IF関数について

    エクセル2013使用です IF関数について教えて下さい A1が空欄だった場合はB1×B2の答えを A1に文字が入っていた場合はC1×C2の答えを D1に表示させたい場合の数式を教えて下さい お願い致します

  • IF関数の組み合わせ

    A1セル 21000 B1セル 20000 引き算して1000以上なら+と表示、999以下なら△を表示したいのです。 結果はC1セルにして =A1-B1にIF関数を入れるにはどうしたら良いでしょうか? =IF(C1>=1000,"+","△") 結果 +1010 △988 組み合わせが分からないので教えて下さい。

  • Excel2003でif関数を使うとSUM関数で反映されません

    A1セルに金額を入力すると、B1に1と表示させる為に=IF(A1,"1","")といった数式を入れております。 さらにC1にBセルの合計値を表示させる為に=SUM(B1)C2には=SUM(B1:B2)と入力しているのですが、B列のセルにIF関数を使った数字『1』が表示されてもC列セルに反映されないので困っています。 ここで質問ですが、A列セルに金額が入力されるとB列セルに数字『1』が表示され、更にC列セルにB列セルの合計値が表示される様な関数等はありますでしょうか?解り難い説明ですいません。 因みにA、B、C列共に1~31までのセルがあります。