• 締切済み

エクセル【IF関数、OR関数】について

=IF(OR(F3:G3=X5,F3:G3=X6,F3:G3=X7,F3:G3=X8,F3:G3=X9,F3:G3=X10),"A",IF(OR(F3:G3=X14,F3:G3=X15,F3:G3=X16,F3:G3=X17,F3:G3=X18),"B",IF(OR(F3:G3=X23,F3:G3=X24,F3:G3=X25,F3:G3=X26,F3:G3=X27,F3:G3=X28),"C"))) の式で、どこを直せば正しく返されるのか教えてください。 現在の式では、♯VALUE!になってしまいます。

みんなの回答

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.4

普通の関数では、複数のセル範囲を条件式には使えません。 (「F3:G3=X5」という条件式は不可、「F3=X5」「G3=X5」などは可) ですから、例えば =IF(OR(F3=X5,G3=X5,F3=X6,G3=X6,… という式なら問題なかったわけです。 しかし、これだと式が長くなるので「F3:G3=X5」のような条件式の 記述を可能にする方法が、「配列数式にすること」です。 でもまぁ、私ならCOUNTIF関数を使いますね。 =IF(COUNTIF(X5:X10,F3)+COUNTIF(X5:X10,G3)>0,"A",IF(COUNTIF(X14:X18,F3)+COUNTIF(X14:X18,G3)>0,"B",IF(COUNTIF(X23:X28,F3)+COUNTIF(X23:X28,G3)>0,"C",""))) このような感じです。

mat00en
質問者

お礼

お答えありがとうございます。 補足させていただきたいのですが、長くなりそうなので別に質問を立てようと思います。 もしよろしければそちらも見ていただければ嬉しいです。

全文を見る
すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

>F3:G3=X5 こういう書き方は普通しません。この数式の意味は AND(F3=X5,G3=X5)でしょうか?OR(F3=X5,G3=X5)でしょうか? どちらの意味で使ってるかで修正方法が変わります。 AND(F3=X5,G3=X5)の場合 =IF(OR(AND(F3=X5,G3=X5),AND(F3=X6,G3=X6),AND(F3=X7,G3=X7),AND(F3=X8,G3=X8),AND(F3=X9,G3=X9),AND(F3=X10,G3=X10)),"A",IF(OR(AND(F3=X14,G3=X14),AND(F3=X15,G3=X15),AND(F3=X16,G3=X16),AND(F3=X17,G3=X17),AND(F3=X18,G3=X18)),"B",IF(OR(AND(F3=X23,G3=X23),AND(F3=X24,G3=X24),AND(F3=X25,G3=X25),AND(F3=X26,G3=X26),AND(F3=X27,G3=X27),AND(F3=X28,G3=X28)),"C",""))) OR(F3=X5,G3=X5)の場合 =IF(COUNTIF(X5:X10,F3)+COUNTIF(X5:X10,G3),"A",IF(COUNTIF(X14:X18,F3)+COUNTIF(X14:X18,G3),"B",IF(COUNTIF(X23:X28,F3)+COUNTIF(X23:X28,G3),"C","")))

mat00en
質問者

お礼

お答えありがとうございます。 補足させていただきたいのですが、長くなりそうなので別に質問を立てようと思います。 もしよろしければそちらも見ていただければ嬉しいです。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

エクセルの普通の関数では、F3:G3=X5のように複数セルと1セルを比較して(=はこの場合比較演算子)、結果TのRUEかFALSEを返すような使い方はできません。しません。 ーー ただし例外的に 配列数式 SUMPRODUCT などでこういう書き方を使うことがありますが、 配列数式の説明記述を読んでも、質問者がわからないというなら、この課題をするのが質問者には速すぎるということ。 http://pc.nikkeibp.co.jp/pc21/special/hr/ など、あらためて読んでみたら。 == こういう初心者が自分流か、何処かからの真似(コピー)の式だけ書いて (1)何がしたいのか文章で質問で説明しない (2)データの有様(データ例)を質問に挙げない のは稚拙な質問の仕方です。 ーー 私はいつも言っているが、IF関数を3個(や3ネスト)以上書く式を書いたら、もっと別の関数が使えないか、自分で勉強するか 最悪こんなところへ質問する方が良い。 人間の思考はIF・IF・IFの連鎖なんだか(特に検索において)f、そういうのをIFでやらない仕組みを提供するのが関数なりの 仕組み(エクセルの開発者(ユーザーではなくMSの技術者)の便利を心がける)ことなのだ。 === 今からでも、あらためて、 ・データ例を(数は5例ぐらいで良いだろう)挙げる ・その際、シート・番地(行と列)がわかるようにかく ・何をしたいか文章で説明する文を添える して別質問したら。 何処を直したらのレベルでなく、方法も含めて、根本からおしえてもらうこと。

mat00en
質問者

お礼

ありがとうございます。 貼り付けていただいたサイト等、参考にさせていただきます。

全文を見る
すると、全ての回答が全文表示されます。
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

1. 配列数式になるので、数式を入力した後、 Ctrl+Shft+Enter とする。CtrlキーとShiftキーを押しながらEnterキーを押す。3つのキーを同時に押すということです。 2. 最後のIF文でその他のときがないので、次のようにでもする。 IF(OR(F3:G3=X23,F3:G3=X24,F3:G3=X25,F3:G3=X26,F3:G3=X27,F3:G3=X28),"C") ↓ IF(OR(F3:G3=X23,F3:G3=X24,F3:G3=X25,F3:G3=X26,F3:G3=X27,F3:G3=X28),"C","")

mat00en
質問者

お礼

お答えありがとうございます。 補足させていただきたいのですが、長くなりそうなので別に質問を立てようと思います。 もしよろしければそちらも見ていただければ嬉しいです。

mat00en
質問者

補足

早速のお答えありがとうございます。 配列数式が何か分からないので調べてみたのですが、ほとんど理解できませんでした。 簡単に言うとどういうことですか? 関係ないかもしれませんが、Excel2002、WindowsXPです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル【IF関数、OR関数】について

    先ほどの質問(http://okwave.jp/qa/q6870449.html)の続きというか補足です。 具体的には、 ・F列またはG列に、X5またはX6またはX7またはX8またはX9またはX10のいずれかの値が入れば、I列に「A」と表示させる。 ・F列またはG列に、X14またはX15またはX16またはX17またはX18のいずれかの値が入れば、I列に「B」と表示させる。 ・F列またはG列に、X23またはX24またはX25またはX26またはX27またはX28のいずれかの値が入れば、I列に「C」と表示させる。 ということがやりたいです。 X列の値は全て文字列(人名)です。 先ほどいただいた回答の、 =IF(COUNTIF(X5:X10,F3)+COUNTIF(X5:X10,G3),"A",IF(COUNTIF(X14:X18,F3)+COUNTIF(X14:X18,G3),"B",IF(COUNTIF(X23:X28,F3)+COUNTIF(X23:X28,G3),"C",""))) という式を入れてみましたが、F列、G列が空白でも「A」と表示されてしまいました。 教えてgooを利用するのは初めてなので、おかしなことをしていたら申し訳ありません。

  • EXCEL IF関数 AND、OR条件

    先ほど、以下のような質問をさせて頂き、回答を頂いたものについての、追加の条件を付けた場合についての数式について、ご教授お願いいたします。 ◆以前、質問引用 以下の「D」の「○」「×」を数式で入力するのが目標です。 数式で表すことができますでしょうか? 条件としましては、 B>Cのとき、Aの文字列が「X1またはX2」の場合は、「○」、それ以外は「×」 C>Bのとき、Aの文字列が「Y1またはY2」の場合は、「○」、それ以外は「×」 それ以外のとき、(B=C,どこかが空白のとき)は、空白   A  B  C  D 1 X1 37 63 × 2 X2 78 22 ○ 3 Y1 45 55 ○ 4 Y2 29 71 × ◆回答 成功しました。 =IF(OR(COUNTA(A1:C1)<3,B1=C1),"",IF(B1>C1,IF(OR(A1="X1",A1="X2"),"○","×"),IF(OR(A1="Y1",A1="Y2"),"○","×"))) ◆引用終了 ここに、追加条件を付加したいのですが、 BとCどちらか大きい数字が、なおかつ80以上のもの。ただし100は除く それ以外は空白(100の場合も空白) という条件を付加して、80以上99以下の「○」と「×」をE列(NEW)に返したいと考えています。 回答を頂いた数式を一つずつ分解して理解しようとしましたが、どこにいれていいやら、後半の数式の使い方がいまいち理解できません。 分解(参考) 論理式 IF(OR(COUNTA(A1:C1)<3,B1=C1), 真の場合"", 偽の場合 IF(B1>C1,IF(OR(A1="X1",A1="X2"),"○","×"),IF(OR(A1="Y1",A1="Y2"),"○","×"))) 宜しくお願いいたします。

  • IF OR関数で

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

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

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

  • エクセル IF式について、

    先日からこちらで=IFとisnumberの使い方を教えていただき、次のような式を作りました。 =IF(isnumber(C2),B2+C2+F2+G2+J2+K2,"") これで(C2)に数値がある時のみ計算結果を打ち返し、文字その他は空欄で、が出来ました。 次にやりたいことは、(C2)と(G2)と(K2)のいずれかに数値がある時に計算させる式はどのようにすればよろしいでしょうか? 以下の4つを試しましたがNGでした。 =IF(isnumber(C2,G2,K2),B2+C2+F2+G2+J2+K2,"") =IF(isnumber((C2)*(G2)*(K2)),B2+C2+F2+G2+J2+K2,"") =IF(isnumber((C2)OR(G2)OR(K2)),B2+C2+F2+G2+J2+K2,"") =IF(ISNUMBER((C2)*OR(G2)*OR(K2)),B2+C2+F2+G2+J2+K2,"") よろしくお願いします。

  • IF、ORなどの関数について

    ある数値を分類わけする式が作りたいのですが ぜんぜん分かりません。誰か助けてください。 セルA1の値が 100以上ならA、100以下ならBを返す式を下記のように作ってみました。 =IF(OR(A1=100,OR(A1>100,)),"A","B") これに 100以上200以下はCという情報を入れたいのです。 どうやればいいですか?? 誰か教えてください。 困ってます。 これで言ってる意味伝わるのでしょうか?それもとても不安です。。。。

  • ExcelのIF添削お願いします(*_*)

    学校の課題でIFを使う問題が出ました(>_<) テストの合計点数(G18:J18のこと)が90以上でA、80以上89以下でB、60以上79以下でC、59以下でD、ただし0点の場合はFを表示します(*_*) この時私は、 =IF(G18:J18>=90,"A",IF(89>=G18:J18>=80,"B",IF(79>=G18:J18>=60,"C",IF(G18:J18=0,"F","D")))) という式をたてたのですが #VALUE表示でます(T_T) どこが間違っているのか 添削お願いします(*_*)

  • エクセルのIF関数で数式をつなげたいのですが…

    エクセルのIF関数で A B C D E F 4月5月6月7月8月9月         田中 たとえばF列に名前が入っていれば、その列の月を表示させたいのですが、 =IF(A3<>"","4月","")+IF(B3<>"","5月","")+IF(…+IF(F3<>"""9月","") というような式を入れると#VALUE!と出てきてしまいます! 何か良い方法はないでしょうか? よろしくお願いいたします。

  • エクセル2003のIF関数についてお尋ねします。

    エクセル2003のIF関数についてお尋ねします。 A1、B1、C1に数字を入れます。A1またはB1が50以上の場合で、「且つ」C1が120以上である場合にD1に※を入れたいときの関数式を教えて下さい。 =IF(OR(A1>=50,B1>=50),?????,"※"、"")という感じなると思いますが、????の部分をどうしたらいいのか分かりません。且つC1が120以上の表現方法がわかりません。よろしくお願いします。

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

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

専門家に質問してみよう