- ベストアンサー
エクセルのor関数について
すみません、いまエクセル関数でorを使い 特定セルにてR112、F122、G111などの記号があり、 それに該当する式で =if(or(LEFT(A1,2,"R1"),(LEFT(A1,2,"F1")・・・・),式1,式2) という風にorの条件は30個までですが、それ以上の条件式を書く事は出来ないでしょうか? また、それに代用できる関数はあるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まずこの式は変ですね。 > =if(or(LEFT(A1,2,"R1"),(LEFT(A1,2,"F1")・・・・),式1,式2) =IF(OR(LEFT(A1,2)="R1",LEFT(A1,2)="F1"・・・・),式1,式2) ですよね。 条件が30以上あるなら、別に先頭2文字のテーブルを作成したらよいと思います。例えば Sheet2!A1:A50 にR1、F1、G1…を入力しておいて =IF(COUNTIF(Sheet2!A1:A50,LEFT(A1,2))>0,式1,式2) などでもできます。そこまで書きませんがMATCH関数やVLOOKUP関数でSheet2の表を検索する方法でも可能ですよ。
その他の回答 (3)
- hallo-2007
- ベストアンサー率41% (888/2115)
例えば 別の場所に A B R112 R1 F1 G1 と条件の一覧を作っておいて COUNIF関数など =IF(COUNTIF(B1:B10,LEFT(A1,2))=1,式1,式2) 他 ISERROR関数とVLOOKUP関数やMATCH関数の組み合わせもあります。
お礼
さっそくのご返答ありがとうございます! COUNTIFは気づかなかったです。 ありがとうございました!
- mu2011
- ベストアンサー率38% (1910/4994)
OR関数よりCOUNTIF関数で条件を別セル範囲に定義しておけば良いと思いますが如何でしょうか。 別シート(sheet2)のA列に記号左2文字を設定した例です。 =IF(COUNTIF(SHEET2!A:A,LEFT(A1,2)),式1,式2)
お礼
さっそくのご返答ありがとうございます! COUNTIFは気づかなかったです。 ありがとうございました!
orを多重化すると良いのでは。 if(or(or(条件1,...,条件30),or(条件1,...,条件30),...),式A,式B)
お礼
早速のご返答ありがとうございます。 なるほど多重化とは。。思いつかなかったです。 早速試してみます。
お礼
さっそくのご返答ありがとうございます! すみません、急ぎすぎで数式が間違っていました。 COUNTIFを使ってテーブル作成で行けますね! なかなか思いつかなかったです。 ありがとうございます!