• ベストアンサー

エクセルのor関数について

すみません、いまエクセル関数でorを使い 特定セルにてR112、F122、G111などの記号があり、 それに該当する式で =if(or(LEFT(A1,2,"R1"),(LEFT(A1,2,"F1")・・・・),式1,式2) という風にorの条件は30個までですが、それ以上の条件式を書く事は出来ないでしょうか? また、それに代用できる関数はあるのでしょうか?

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

まずこの式は変ですね。 > =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の表を検索する方法でも可能ですよ。

naopon2000
質問者

お礼

さっそくのご返答ありがとうございます! すみません、急ぎすぎで数式が間違っていました。 COUNTIFを使ってテーブル作成で行けますね! なかなか思いつかなかったです。 ありがとうございます!

その他の回答 (3)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

例えば 別の場所に A   B   R112 R1    F1      G1 と条件の一覧を作っておいて COUNIF関数など =IF(COUNTIF(B1:B10,LEFT(A1,2))=1,式1,式2) 他 ISERROR関数とVLOOKUP関数やMATCH関数の組み合わせもあります。

naopon2000
質問者

お礼

さっそくのご返答ありがとうございます! COUNTIFは気づかなかったです。 ありがとうございました!

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

OR関数よりCOUNTIF関数で条件を別セル範囲に定義しておけば良いと思いますが如何でしょうか。 別シート(sheet2)のA列に記号左2文字を設定した例です。 =IF(COUNTIF(SHEET2!A:A,LEFT(A1,2)),式1,式2)

naopon2000
質問者

お礼

さっそくのご返答ありがとうございます! COUNTIFは気づかなかったです。 ありがとうございました!

noname#64199
noname#64199
回答No.1

orを多重化すると良いのでは。 if(or(or(条件1,...,条件30),or(条件1,...,条件30),...),式A,式B)

naopon2000
質問者

お礼

早速のご返答ありがとうございます。 なるほど多重化とは。。思いつかなかったです。 早速試してみます。

関連するQ&A

  • 【エクセル】if関数 or条件に関して

    エクセル初心者です。 A列を検索条件とし B列から検索 一つでも該当がある場合にはCにチェックを入れる (もしくは該当セルの色を変える等) という関数を作りたいと思っています。 IF関数を使って試しに作ってみました。 =IF(OR($A$1=$B$1:$B$26,$A$2=$B$1:$B$26,$A$3=$B$1:$B$26),"○","×") ※結果は画像を参照お願い致します。 A列の(a,f,m)という文字列を条件としてB列を検索し、一つでも該当する場合には C列に○を、該当しない場合は×をつける。 検索条件を(A1,A2,A3)と3つだけの場合はこちらで対応出来るのですが、 本来やりたいものは、 (A列)検索条件が100個以上、 (B列)検索をかける対象も1000個以上といったものをやりたいので (A1,A2,A3・・)を手打ちだとものすごく時間がかかってしまいます。 なので、文字列の条件を簡単に範囲指定(複数指定)出来るような書き方があれば 教えて頂きたいと思い質問をさせて頂きました。 また、以下のIF文を最初に思いついたのですが、 こちらは書き方が間違っているようで、「!」が出てしまいました。 =IF($A$1:$A$3=$B$1:$B$26,"○","×") 自分ではなにがいけないのかがわからなかったので、 出来ればこちらの関数の矛盾点も指摘して頂きたいです。 関数の単語だけでも、なにかヒントを頂きたいと思っています。 よろしくお願いします。

  • エクセルの関数で非常に困っています

    エクセルの関数で質問です。 添付に記載していますが、 次の三つの条件を満たす式を教えていただきたいです。 (データ入力規制を使用すれば有りがたいです) 1. A3セルに150~200の数値の場合は F3セルに 12 のみが入力できる 2. A3セルに200~265の数値の場合は F3セルに 14 のみが入力できる 3. A3セルに290~315の数値の場合は F3セルに 16 のみが入力できる  A3セル数値が一部かぶる数値の場合 F3に両方(12 or 14)が入るようにしたいです 宜しくご教示の程お願いいたします。

  • 関数式を教えてください。

    仕事の関係で初めて関数に挑戦しています。 パソコン歴は10年ほどありますが、事務職ではないこともあり、 Excel関数は全く無知です。 式や記号の意味を教えてください。 =IF(OR($A$5="",$A$5=0)""$A$5-50) この式ですが、自分なりに参考書で調べてみました。 $A$5は、A5セルを絶対参照。「""」は""の間に入れる数値。 $A$5-50はA5セルの数値から-50する。 IFは、理論値、正と否の値。ORがどちらかの数値。 この辺までは意味が分かりそうですが、 =IF(OR(.....).....)のように複数の式になると 単体の式と意味がどうちがうのかが分かりません。 初心者にも分かるように教えて頂けないでしょうか。

  • Excelの関数について教えて下さい

    Excel97を使っています。 例えば、10人の生徒がいるとして、 A1~A10 10人の名前 B1~B10 テスト1の結果(点数) C1~C10 テスト2の結果(点数) という表があったとします。 で、<問題その1>が、 「IF関数を2つ使って、次の2つの条件に該当する場合はD列に「合格」と表示しなさい。」 条件「テスト1の結果が30点以上」    「テスト2の結果が40点以上」 ・2つの条件が該当する場合:「合格」と表示 ・2つの条件が1つでも該当しない場合:非表示(空白のまま) <問題その2>が、 ひとつのIF関数で<問題その1>と同じように表示させるようになっています。 (IF関数の論理式にAND関数を使う、というヒントがあります。) で、<その2>の方は分かったのですが、 <その1>の「IF関数を2つ使って~」というのが分かりませんでした。 どなたか教えていただけませんか? それと、複数の関数を組み合わせる場合、 関数ごとに関数の挿入ボックス(?)を使ってやると、 「関数+関数」という数式になってエラーが出ます。 「関数,関数」という風にするにはどうしたらいいのでしょうか? (分からないので手で入力しているのですが・・・) こんな説明で質問の意味が伝わるかどうか不安ですが・・・ どうかよろしくお願い致します。

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

    エクセルでvlookupを使い得た結果がAだとします。 次にif関数でvlookup関数の結果のセルがAならばと言う式を作りました。 が、if関数が認識してくれません。 同じif関数の式でキーボードからAを入力したら結果が出ます。 vlookup関数のセルにはAでなく式しか入ってないからでしょうか? vlookup関数の結果をif関数で認識する方法をお願いします。

  • Excelに関する質問(IF関数のOR連結)

    ExcelでIF関数を3条件以上つなげる場合、どうすればよいですか。 例えば、A1のセルに「A」と入ったらB1のセルには「あ」、同じく「B」と入ったらB1のセルには「い」、同様に「C」と入ったらB1のセルには「う」…のように、A1の入力値(文字列)に対応して、B1の値(文字列)を変化させていくというものです。 05年10月にほぼ同じ質問が出され既に解決済みになっていますが、それを参考に条件を増やしたところ、書式が違っているせいか数式の入力を受け付けません。 <2条件までは成功>※「B1」セルに与えた式 =IF(A1="A","あ",IF(A1="B","い")) <3条件以上は失敗>※「B1」セルに与えた式 =IF(A1="A","あ",IF(A1="B","い"),IF(A1="C","う"),IF(A1=…)) 恐らく初歩的な書式ミスだと思いますが、初心者ゆえ分かりません。 ちなみに今のところ条件は5つです。 ご指導のほど宜しくお願い致します。

  • エクセル・IF関数・レフト/ライト関数について

    よろしくお願いいたします。 例えば ある文字の 右から5行目(最後の一文字はいらない)までの文字を 読み込みたいという時の事ですが・・・・ たとえば セルA1 の 日野自動車 (7205) という文字の 7205 だけを読み込みたいのです。 =RIGHT(A1,5) という関数を使うと 表示されるは 7205)と なります。最後の ) がいらないのです。(SAM計算ができなくなるため)   表示    日野自動車 (7205) 式        ↓=RIGHT(I1,5) 表示       7205) 式        ↓=LEFT(I2,4) 表示       7205 このやり方なら できましたが・・・・ IF関数をしこむ セルが2つになってしまうなどで 困ってしまったのです。セル 一つにIF関数をしこめば大丈夫な式はありますでしょうか? すみませんが よろしくお願いいたします。  

  • エクセル IFとORの関数を使いたいのですが

    IFとOR関数を使ってできると思うのですが、うまくいかないので教えてください。 りんごなら、単価×1.2に、キャベツなら、単価×1.5、みかんなら、単価×1.6、その他の材料なら、そのままにしなさい という式ですが、 if(or(((F5="りんご",I5*1.2),F5="キャベツ",I5*1.5),F5="みかん",I5*1.6),I5) こうしたのですが、エラーになります。 どこがおかしいのでしょうか?よろしくお願いします。

  • エクセル関数 入れ子の作り方 コピー可能?

    エクセル関数の入れ子の作り方で教えてください。 IF関数が3つ入れ子になる状態を作りたいのですが、 一つ一つのIF関数の式が長いので、動作を確認するために、 とりあえず3つのセル(A1,A2,A3)に一つずつ作ってみました。 この時A1,A2の偽の値には仮に”偽”と入れて作ってあります。 それぞれのIF関数は正しく出来ていたので、A3の式をA2の偽の値へ、 A2の式をA1の偽の値へ、と入れ子にしたいです。 コピーして貼り付けたいのですが上手くいきません。 ちなみに数式は A1 =IF(AND(K31<>TRUE,K33<>TRUE,K35<>TRUE),"","偽") A2 =IF(AND(K35=TRUE,INDEX(H19:H24,K18)="-"),J37,"偽") A3 =SUM(IF(K31=TRUE,INDEX($F$19:$H$24,K18,1),0),IF(K33=TRUE,INDEX($F$19:$H$24,K18,2),0),IF(K35=TRUE,INDEX($F$19:$H$24,K18,3),0)) です。一つのセルですべての条件を満たす必要があり、他のセルは利用できないので、 なんとしても入れ子にしなくてはなりません。 すべてを打ち込みしないとダメでしょうか? 検索してみましたがヒット出来ませんでした。 どうかよろしくお願いします。

  • エクセルのIF関数でORとANDの組み合わせ方

    エクセルのIF関数でORとANDの組み合わせ方を教えてください。 =IF(AND(C1>10,A1>B1),"S","") =IF(AND(C1>10,A1<B1),"L","") この2つの式をORで1つの式にするにはどのように組み合わせれば良いのでしょうか? よろしくお願いいたします。

専門家に質問してみよう