• ベストアンサー

IF関数の複数の条件について

よろしくお願いいたします。    A   B   C 1  ○   ○    あ  2  ○   △    い  3  △   △    う 4  △   ○    え 5  □   △    お A列が○でかつB列が○のみ場合、E列は「あ」、 A列が○でB列が○以外の場合はC列は「い」、 A列が△でかつB列が△のみ場合、E列は「う」、 A列が△でB列が△以外の場合はC列は「え」、 A列が○、△以外の場合はC列は「お」。 というようなIFを使った数式はは可能でしょうか? 質問に矛盾がありましたら申し訳ありません。

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

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

#04です。C1の式は  =IF(A1="○",IF(B1="○","あ","い"),IF(A1="△",IF(B1="△","う","え"),"お")) でよいのではないでしょうか。C2以下はC1をコピーです。

abikopapa
質問者

お礼

有難うございます。早速、実施してみます。ANDは使用しなくても良ろしいのでしょうか。

その他の回答 (4)

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

A列が○でかつB列が○の場合、E列は”あ”と明示されていますが、C列はどうするのですか? 空白ですか? 同様に2,4,5行目の条件の時E列は空白でよいのでしょうか。もしそうなら、 C1の式は  =IF(AND(A1="○",B1="△"),"い",IF(AND(A1="△",B1="○"),"え",IF(NOT(OR(A1="○",A1="△")),"お",""))) E1の式は  =IF(AND(A1="○",B1="○"),"あ",IF(AND(A1="△",B1="△"),"う","")) C1、E1は下の行にコピーしてください。結果が期待通りになるとよいのですが。

abikopapa
質問者

補足

有難うございます。何度も済みません。質問に誤りがあります。質問文を何度も考えていたため誤ってしまいました。 再度質問をします。結果を表示するのは全てC列です。 A列が○でかつB列が○のみ場合、C列は「あ」、 A列が○でB列が○以外の場合はC列は「い」、 A列が△でかつB列が△のみ場合、C列は「う」、 A列が△でB列が△以外の場合はC列は「え」、 A列が○、△以外の場合はC列は「お」。 というようなIFを使った数式はは可能でしょうか?

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.3

ifは確か7つまでネストができましたから、8種類の分類が可能です。 if(and(a1="○",b1="○"),"あ",if(and(a1="○",b1<>"○"),"い",if(and(a1="△",b1="△"),"う",if(and(a1="△",b1<>"△"),"え",if(and(a1<>"○",a1<>"△","お","")))) でいいと思うのですがどうでしょう。と終わろうと思ったら補足が入ってますね。結果表示がC列の場合とE列の場合があるのですか。となると上記の"あ"と"う"の場合を""にして表示せずにE列に類似のifを入れればできそうですね。

abikopapa
質問者

補足

有難うございます。何度も済みません。質問に誤りがあります。質問文を何度も考えていたため誤ってしまいました。 再度質問をします。結果を表示するのは全てC列です。 A列が○でかつB列が○のみ場合、C列は「あ」、 A列が○でB列が○以外の場合はC列は「い」、 A列が△でかつB列が△のみ場合、C列は「う」、 A列が△でB列が△以外の場合はC列は「え」、 A列が○、△以外の場合はC列は「お」。 というようなIFを使った数式はは可能でしょうか?

  • ape5
  • ベストアンサー率57% (85/148)
回答No.2

A3に =IF(A1="○",IF(B1="○","あ",""),"") と書けばokですよ。 残りは同じようにすればいいですよ

abikopapa
質問者

お礼

ご回答ありがとうございます。初心者であるため、もう少し具体的にお教えください。なぜA3なのか分かりません。

abikopapa
質問者

補足

質問の文章に誤りがありました。一行目と二行目は 一行目=A列が○でかつB列が○場合のみ、E列は「あ」、 三行目=A列が△でかつB列が△場合のみ、E列は「う」、 ※「場合」と「のみ」の順序が逆でした。

noname#19431
noname#19431
回答No.1

可能です

abikopapa
質問者

お礼

早々のご回答ありがとうございます。 よろしければ具体的な数式をお教えください。 よろしくお願いいたします。

関連するQ&A

  • 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関数を使った数式がおかしいのですが…

    エクセルに詳しくない為、下の数式のどこがおかしいのか全くわかりません。どうかよろしくお願いします。 ・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関数 では無理なのでしょうか…。 よろしくお願いいたします。

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • 複数条件のMIN関数

    いつもお世話になっております。 以前にも質問した内容なのですが、当てはまる回答が なかったため、再掲させていただきます。 A列 B列 1  06/06/06 3  06/08/01 2  06/06/15 3  06/07/25 1  06/07/20 1  06/06/06 ・   ・ ・   ・ のようなデータがあります。 そこで、C列に 1) A列が「1」且つ、B列が最小値のもの 2) A列が「2,3」且つ、B列が最小値のもの のデータを取得したいです。 ただ、A、B列ともに固定値ではないため、Null値が 発生します。 そこで、教えて頂いた数式が MIN(INDEX(SUBSTITUTE((($A$1:$A$10=1)*($B$1:$B$1>0))*1,0,10^7)+(B1:B10)-1,))) で、Min関数がNull値を感知することと、シリアル値が0の場合、最小値がうまく取れないと いう現象を考慮してしてあります。 そのため、Null値の場合の答えが「9999999」になりますが これを表示させたくないので「=IF(C1=9999999,\"\",」 としてますが、この数式を何行にも渡り書いている為 パフォーマンスがかなり悪いです。 なにかいい方法、もしくはいい数式はないですか??教えて下さい。

  • IF関数に、二つの条件を入れたいです

        A     B      C 1. 100     90     ○ このような場合で、もしA1-B1が1以上の場合のみ、C1に○が出るようにしたいのですが、A1に入力しただけで○が出てきてしまいます・・ B1を入れたときに、初めて○がでるようにしたいのですが、IF関数に条件を いくつか入れられるのでしょうか? この関数式がどうしても、分かりません。よろしくお願いします。

  • Excel2002 IF関数の組み合わせ

    初歩的な問題ですが、組み合わせ方が他のサイトに例が見つからなかったので質問します。 IF関数で、 D列に、『もしA列が○○なら、B列の数値をもってきなさい。そうでなければC列の数値を持ってきなさい。』 というような単純な数式が入っているとして、ここに別の条件をまた付け加えたくなったので、どうすればよいか 質問させて下さい。 内容は、上記の条件のあとに、『E列が△△なら、F列の数値を持ってきなさい。』 というものです。 式としては IF(A1="大阪",B1,C1) 追加したいのは IF(E1="国語",F1,C1) ということで、全く違う条件を追加したい場合はどのように組み合わせればよいでしょうか?

  • IF関数(複数条件)

    E1:検索したい商品番号 E2:検索したい商品棚コード A列:商品番号 B列:商品棚コード C列:価格 とある場合、A列の商品番号もB列の商品棚コードもE1、2のものと一致する場合に限り、C列の価格をD列に表示するようにしたいです。 どう入力すれはいいでしょうか。

  • 【エクセル】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,"○","×") 自分ではなにがいけないのかがわからなかったので、 出来ればこちらの関数の矛盾点も指摘して頂きたいです。 関数の単語だけでも、なにかヒントを頂きたいと思っています。 よろしくお願いします。

  • IF関数で

    AとB列に数値(空欄もあり)が入力してあります。 C列にAかBに数値が入力してあれば○を表示したいのですが CもBも空欄の場合は非表示です。 =IF(A1="","","○")に何を追加すればよいでしょう?

  • 複数条件のMIN関数

    いつもお世話になっております。 前回、誤って二重投稿してしまった為、サイト側で 削除されてしまったようなので、再投稿致します。 もう内容を見ていた方、何度もスミマセン。 A列 B列 1  06/08/01  3  06/07/20 1  06/07/25 2  06/07/28 2  06/07/20 ・  ・ ・  ・ こんな感じのデータがあります。 A列、B列ともに固定値ではないため、空の行が発生します。 そこで、A列が「1」だった場合のB列の最小値とか A列が「2もしくは3」だった場合のB列の最小値の日付データ をC列に求めたいと思ってます。 数式は、教えて頂いて =MIN(INDEX(SUBSTITUTE((($A$1:$A$10=1)*($B$1:$M$10>0))*1,0,10^7)+(B1:B10)-1,)) =MIN(INDEX(SUBSTITUTE((($A$1:$A$10>1)*($B$1:$M$10>0))*1,0,10^7)+(B1:B10)-1,)) で記述しているのですが、A列の値がない場合数式の答えに 「9999999」や「10000000」が入ってきます。 (O値が入ったときに置き換えをしている為) それを表示させないために、「=IF(C1=9999999,"",」を 数式の頭に入れているのですが、何行にも渡って上記の数式を 書いているため、再計算され続けてパフォーマンスがかなり悪いです。 もっと効率よく、計算できる方法があれば教えて下さい。 お願い致します。

専門家に質問してみよう