• ベストアンサー

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関数 では無理なのでしょうか…。 よろしくお願いいたします。

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

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

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

figmilk
質問者

お礼

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

その他の回答 (4)

  • shansyan
  • ベストアンサー率16% (1/6)
回答No.4

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

figmilk
質問者

お礼

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

回答No.3

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

figmilk
質問者

お礼

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

noname#27115
noname#27115
回答No.2

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

figmilk
質問者

お礼

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

回答No.1

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

figmilk
質問者

お礼

やっと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関数を二つ使いたい

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

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

    お世話になります。 作成している表の中で、利用しようとおもっている関数について教えてください。 A1セルに下記のようなIF関数を作成しました。 =IF(AND(B2>=1,C2<=0),"○",IF(AND(C2>=1,B2<=0),"○",IF(AND(B2>=1,C2>=1),"○",IF(AND(B2<=1,C2<=1),"")))) B2セルは別シートからVLOOKUPを利用して検索してきて、数字を表示させているセルのため、 該当しない場合”#N/A”と 表示されるところがありました。それで、”=IF(ISERROR”を利用して、#N/Aと表示される場合、空白で表示される数式にしたところ、今度はA1セルが条件にあっていないのに”○”と表示されるようになりました。≪”B2=空白(”#N/A”),C2<=1の場合にあたるのだと思います。≫ *B2セルを”空白”ではなく”0”で表示させるようにしても同様に”○”となりました。 A1セルに、  B2>=1,C2<=0の場合”○”  C2>=1,B2<=0の場合”○”  B2>=1,C2>=1の場合”○”  B2<=1,C2<=1の場合"空白" で表示できる方法をご存じの方、ご教示お願いいたします。 簡単なことなのかもしれませんが、エクセル関数初心者のため、大変困っております。 うまく、不明な点を説明できていませんでしたら、申し訳ございません。何卒 よろしくお願いいたします。

  • エクセルの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関数の質問です。 A2セルにAと入力すると、B2セルに10 A2セルにBと入力すると、B2セルに5 A2セルにCと入力すると、B2セルに0 A2セルに何も入力しないと、B2にも何も表示されない これを関数で処理したいのですが、うまくできません。 エクセル関数を勉強中の身で、なかなか自力では作れず・・・ ご回答よろしくお願いいたします。

  • エクセル(Excel2003)のIF関数について

    Excelの数式初心者です。 IF関数でつまづいたので質問させていただきます。 SHEET2のセルA1に、 SHEET1のセルA1が○だったら1、それ以外だったら0を表示させたいです。 SHEET2のセルA1に、 =IF(SHEET1!A1=○,"1","0") と入れましたが、#NAME! とエラーが出てしまいました。 ○や×は認識してくれないということなのでしょうか? 初歩的な質問かもしれませんが、どなたかご教示いただけますと助かります。 Excel2003を使用しております。 よろしくお願い致します。

  • わからないIF関数について教えて下さい

    IF関数で下のような表を作成したいのでどなたか相談に乗って下さい。 「C」のセルに、「1:晴れ 」の場合は、「1」を表示、 それ以外は「0」を表示させるIF関数を作成したいのですが、 うまくいきません。ちなみに、 =IF($A1="1:晴れ",1,0) と入力しましたが、「1:晴れ 」とAのセルに入力されてるのに 「1」と表示されませんでした。ちなみに「A」のセルは入力規則でリストが 入っています。   A     B     C    1 1:晴れ 1/20    1 2 2:雨   1/21   0  3 3:曇り  1/22   0 4 4:雪   1/23   0 5 1:晴れ  1/24   1 全然わからなくて困っています。 どなたか助けて下さい。 宜しくお願いします。

  • IF関数?

    例えば、 セルのA2にHNから始まる文字が入力されると、A3にはAと表示されHZから始まる文字が入力されると、A3にはBと表示され、それ以外の文字が入力されるとCと表示されるような関数を教えて下さい。 IF関数だけでは設定できないと思います。 宜しくお願いします。

  • 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までのセルがあります。

  • IF関数でしたい事と、似たような計算

    エクセル2002です。 表の中に   A     B   C  D 1  1~10  A 2 11~20  B 3 21~30  C 4 31~40  D    : と入力されています。 表示させたい内容は ★「C1セルには数字を入れます。その数字が8ならば、8は1~10の中の数字なので、D1のセルにAと表示される。15ならばBと入力したいです。 使う関数は、IF関数‥‥と迷ったのですが、1~20、21~30‥‥199~200まであるので、IF関数が使えません。 関数では、このような可能でしょうか? 可能であれば教えてください。 不可能であり、他の方法があるなら、教えてください。 お願いします。

専門家に質問してみよう