• ベストアンサー

IF OR関数で

C1のセルに次のように式を入力しました。 =IF(OR(A1<B1),"●",IF(OR(A1>B1),"○",IF(OR(A1=B1),"△"))) これは試合結果を表示させるために作ったのですが、これだとまだ試合 をしてないところは△で表示されてしまいます。 そこで上記の式の最後に A1が空白のときは 未 と表示されるように 式を追加したいのですが、どのようにしたらいいでしょうか? IF(OR(A1=""),"未"とつけたしてみたんですがうまくいきませんでした。 どなたかご教授ください。お願いします。

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

  • ベストアンサー
回答No.1

or関数は、複数の判定式をカンマで区切って並べ、どれか一つでも TRUEならTRUEを返す関数です。中身が一つでは、or関数を使う意味 がありませんね。 > IF(OR(A1=""),"未" これを最後に追加したんじゃないですか。A1とB1がどちらも空っぽ なら、A1=B1がTRUEになります。空っぽの判定は、最初にやりま しょう。というわけで、 =if(A1="","未",if(A1<B1,"●",if(A1>B1,"○","△"))) みたいな感じ。"△"の前にifがないのは、A1<B1でもA1>B1でもない 状態はたいていA1=B1だから、判定する必要がないのです。

その他の回答 (3)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.4

◆こんな方法はいかがでしょう =IF(COUNT(A1:B1)<2,"",TEXT(A1-B1,"○;●;△"))

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

OR関数の理解が、根本的に誤解してますよ。 OR関数は()内に条件式をカンマで区切って書き並べます。 その結論はTRURかFALSEで、その各々(2通り)についてしか、セットしたい式や結果をかけません。 質問のようにORの()内に相反するA1<B1、A1>B1、A1=B1など並べません。 WEBででも照会して、学習してください。 多分質問の場合は、IF関数のネストを使う場合でしょう。 エクセルには、=SWITCH(A1<B1、A1>B1、A1=B1,"●", "○","△")のようなのはありません(これは架空例です)。 多分質問の場合は、IF関数のネストを使う場合でしょう。 Googleででも、{エクセル IF ネスト」で照会して学ぶこと。 http://kokoro.kir.jp/excel/if-and.html OR、AND関数利用でネストの深さを少なく出来ますが。 ネストの制限は2003までは最大7までの制約がある。2007では64です。 ーー 現状の課題にIF関数のネストでうまく式を作れたら、、 >A1が空白のときは 未 と表示されるように・・ を追加するのは、ネストを外側に1つ増やすだけです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

A1セルまたはB1セルが空のときに未とするように式の最後で行うような式をどうしてもするとしたら次のようになります。 =IF(A1<B1,"●",IF(A1>B1,"○",IF(AND(A1<>"",B1<>"",A1=B1),"△",IF(OR(A1="",B1=""),"未","")))) ここでAND(A1<>"",B1<>"",A1=B1)はA1,B1の両セルが空白以外でA1とB1が同じの場合にはとなります。 OR(A1="",B1="")はA1またはB1が空ならばの意味になります。 通常はAND(A1<>"",B1<>""・・・のような式をなくするためには最後の式を最初に付けるようにします。 =IF(OR(A1="",B1=""),"未",IF(A1<B1,"●",IF(A1>B1,"○",IF(A1=B1,"△",""))))

関連するQ&A