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

このQ&Aのポイント
  • エクセルのIF関数を使って、複数の条件を一つの式に盛り込む方法がわかりません。具体的には、A1~A10のどこかに「●」があり、B1~B10のどこかに「●」がない場合に「可」と表示する式を作りたいのです。
  • 試みた式ではエラーが出てしまいました。また、IF関数では複数のセルを指定することは不可能なのでしょうか?
  • エクセルのIF関数を使った複数の条件の組み合わせについて詳しく教えていただけると助かります。
回答を見る
  • ベストアンサー

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

こんにちは。 以下の全てを含む条件の式を作りたいのですが、 どのように関数の式を組み立てていいのかわかりません。 3つの条件を一つの式に盛り込むにはどうしたら良いのでしょうか? 1.A1~A10までのどこかに、1つでも「●」があって、   B1~B10までのどこかに、1つも「●」がない 2.A1~A10までのどこかに、1つでも「●」があって   B1~B10までのどこかに、1つでも「●」がある 3.A1~A10までのどこかに、1つも「●」がなく   B1~B10までのどこかに、1つでも「●」がある 1の場合、可 2の場合、可 3の場合、不可 1をIF((A1:A10)="●",isblank(A1:A10),"可"," ") として試みたのですが、 エラーが出てしまいます。 そもそも A1~A10 (A1:A10)の時点でエラーになってしまうようです。 IF関数では、複数セルを指定することは不可能なのでしょうか? 宜しくお願い致します。

  • sju7
  • お礼率57% (34/59)

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

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

ANDの条件は要らないでしょ? 0の時しかこないんだし…。 =IF(COUNTIF(A1:A10,"●"),"可",IF(COUNTIF(B1:B10,"●"),"不可","")) で、十分じゃない? 因みに、条件1と条件2って必要ですか? A1:A10に●があれば、B列は関係なく"可"ですよね?

sju7
質問者

お礼

ありがとうございます。 関数の事が良くわからず複雑になってしまいました。 未だに完璧には理解できていないですが、 この式で正解だと思います。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.1です。 No.2さんのご指摘通り・・・ >ANDの条件は要らないでしょ? >0の時しかこないんだし…。 全くその通りですね! No.2・3さんの式で大丈夫でした。 どうも失礼しました。m(_ _)m

sju7
質問者

お礼

ご思案頂き、ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

添付図のように条件を整理してみると、数式の見通しも格段によくなります。 整理してみると a)A列に●があれば、Bに●があっても無くても「可」になる b)Aなし、Bありの時に「不可」になる c)Aなし、Bなしの時にどうしたいのか、条件設定に不足がある という事が分かりますね。 >IF関数では、複数セルを指定することは不可能なのでしょうか? 全く不可能ではありませんが、通常はIF関数と別の関数を組み合わせて計算します。 一般にはCOUNTIF関数を一番よく使います。 練習: =IF(COUNTIF(A1:A10,"●"),"可",「ここにAに●が無いときの式を書く」) 「ここに」の部分では、既にAに●が無い事は判っているので、Bだけ調べれば十分です。 結局 =IF(COUNTIF(A1:A10,"●"),"可",IF(COUNTIF(B1:B10,"●"),"不可","不明")) といった具合になります。 アナタの実際にヤリタイ事をもう一回添付図の格好に整理して、改めてホントにやりたい数式をご自分で組み立ててみてください。

sju7
質問者

お礼

ありがとうございます。 不明の部分は、可です。 #2さんのおっしゃるように、 =IF(COUNTIF(A1:A10,"●"),"可",IF(COUNTIF(B1:B10,"●"),"不可","")) と言う事ですね。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! A列・B列の両方に「●」がない場合の条件指定がありませんので とりあえず、その場合は空白にするとします。 表示したいセルに =IF(COUNTIF(A1:A10,"●"),"可",IF(AND(COUNTIF(A1:A10,"●")=0,COUNTIF(B1:B10,"●")),"不可","")) ではどうでしょうか? ※ このような場合はCOUNTIF関数を使った方が簡単だと思います。 COUNTIF関数で範囲内に検索条件セルが1つ以上あれば「TRUE」となります。m(_ _)m

sju7
質問者

お礼

ありがとうございます。 早速エクセルに記入して見たのですが、 上手く機能しませんでした。 式のウィンドウを見たら、 真の場合に「不可」 偽の場合に「IF(AND(COUNTIF(A1:A10,"●")=0,COUNTIF(B1:B10,"●")),"不可",""))」 と表示されていました。

関連するQ&A

  • 一つのセルでIF関数を二つ使いたい

    二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??

  • エクセルのIF関数で複数の条件を指定する方法

    エクセルのIF関数で複数の条件を併記する記載方法がわかりません。 例えば、A列に苗字、B列に名前が入っている(どちらかが空白の場合もある)とします。 その場合に、苗字と名前両方が入力されている場合にのみC列に氏名を表示し、どちらかの条件が偽の時は何も表示しない関数を入れたいです。 具体的に以下のような関数を考えてみましたがこれはエラーになります =IF(ISBLANK(A1) | ISBLANK(B1),"",CONCATENATE(A1,B1)) "|"の辺りが違うようなので"||"とか"OR"とかやってみましたがうまくいきません。どう記述すればよいでしょうか。 ちなみに、IF文のなかに別のIF文をネストして同じ事をやる方法ならわかるのですがこれはなんとなく好きではありません。上記のような記載の仕方でできれば教えて欲しいです。

  • Excel 長すぎるif関数

    こんにちは。Excelを使って、条件によって表す表示を変える場合、 例えばa1のセルには0~100までの任意の数字を入れるとして、b1のセルにa1の数字に応じていろいろな表示をしたい場合(具体的には100ならAを表示、90~99ならB、70~89ならC、55~69ならD・・・といったように)、if関数を使うと思いますが、 =if(a1=100,"A"1,if(a1>=90,"B",if(a1>=70,"C",if・・・・)))というように長々と続きますね。条件が少ないうちはいいのですが、条件が多くなると、大変複雑な式になり、入力もしづらいし、頭も使うし、閉じる括弧の数もわからなくなるし、作成に時間もかかりますよね。2つ以上の条件が重なる(例えばA1が90~99の範囲でかつa2がAならb1にB1と表示するなど)など複雑になってくるともうお手上げです。 これらを短時間で要領よく作成する方法はないでしょうか?次の観点で教えてください。 1 if以外の良い関数はあるか?または良い機能はあるか?それとも複雑であってもif関数が妥当なのか? 2 (if関数が妥当であるとして)複雑なif文の作成を簡単にできる方法があるか?あるいはそんなソフトがあるか? 3 やっぱりそういうのはVBAとかで作った方がいいのか?(できれば使いたくないのですが。)

  • エクセル IF関数について

    IF関数について、皆様に質問です。 セルに入力された数値xがある数値yと同じか大きい場合は"NG"と表示し、数値aがある数値bと同じか小さい場合は"NG"と表示させたいと考えております。 IFを使って式を作成したのですが、『数式が多すぎる』というエラーになってしまいます。 具体的には、 セルB25に入力している数値が8.980の場合、 8.991と同じまたは大きい場合は"NG"と表示させたい。 同じセルB25で、8.969と同じまたは小さい場合は"NG"と表示させたい。 これをこのような式にしてみました。 =IF(B25<=9.991,"NG","",IF(B25>=9.969,"","NG")) これで『数式が多すぎる』というエラーになっています。 教えてgooで調べたのですが、解決には至っていません。 どなたかご教示いただけますでしょうか。

  • ExcelのIF関数で

    IF関数で質問なんですが、複数条件(アンケートのような物)で、例えばA1:B100の中で、A列が「5」で且つB列が「3」の物を数えなさい。という式で抽出結果を一覧表にしたいのですが、抽出結果が0の場合「0」が表示されてしまい、とても見苦しくなってしまいます。0の場合は空白にしたいのですが悩んだ結果、 =IF(SUM(IF(A1:A100=5,IF(B1:B100=3,1,0),0))=0," ", (SUM(IF(A3:A100=5,IF(B1:B100=3,1,0),0)))) のような長い式になってしまいました。他に良い方法かあるでしょうか? ご教授ください。

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

    エクセルの数式でIFを使って、下記のような複数の条件の時に、それぞれの計算結果を算出する式を作りましたが、単純に条件を並べただけで(IFとAND使用)、式が長くなってしまいます。これを短く出来る式の方法はありますでしょうか?(他の関数を使用する方法など)また、エクセルの関数の数式を応用編まで詳しく調べられるサイトをご存知でしたら教えてください。 (条件の例)R1への式入力 (1)A1がに"A"か"B"かを入力 (2)A1がAで、B2の値がC3以下の時、R1には8、C3より大きい場合は、B2-C3の値を表示 (3)A1がBで、B2の値がC3以下の時、R1には5、C3より大きい場合は、(B2-C3)/2の値を表示 といった条件を満たすものが作成したいです。 ちなみに私が作成した式は、 =IF(AND(A1=A,B2<=C3),8),IF(AND(A1=A,B2>C3),B2-C3,・・・・)って感じです。こんな方法しか無いでしょうか?

  • Excel IF関数を短くする式を教えて下さい。

    ExcelのIF関数が長くなりすぎて困っています。 短くする方法あれば教えてください。 =IF(A1="",0,IF(A1<4.5,A1,4.5))+IF(B1="",0,IF(B1<4.5,B1,4.5)) のように"4.5より数が小さい場合はセルの値を返し、 4.5より大きい場合は4.5を返す"というのを繰り返し合計していきます。 60セル以上を合計したいのですが、それだと数式が長すぎて・・・ 何か短くする良い式があれば教えて下さい。 よろしくお願いします。

  • excelのand関数、IF関数について

    エクセルのand関数、IF関数について質問です。 非常に簡単なことで申し訳ないのですが、仮にセルA2が5でかつセルB2が0の時にtrueとしたいときの関数は=and(A2=5,B2=0)であっているでしょうか。また、これをIFの関数で表す場合、=IF(A2=5,IF(B2=0,1,0),0)で同じ意味になるでしょうか?(IFの方は条件を満たす場合を1、満たしていない場合を0としたつもりです) ANDの方の関数は、多分合っていると思うのですが…。エクセルに入力しても、正しい結果が得られなかったので、質問させていただきました。初心者です。つまらない質問で申し訳ないのですが、よろしくお願いします。 

  • エクセル関数について(IF関数)

    エクセルの関数について教えて下さい。 セルに1と入力した場合Aと出てきて、2と入力した場合B、3と入力した場合Cとなるような計算式を入れたいのですが、どのような式を入れればよろしいのでしょうか? 別のシートから呼び出す(?)というような方法でもいいのですが、どんな式を入れればよいのか、全く分かりません。 自分で調べてみた結果、IF関数を用いるということは解りました。 『IF(A1="1","A",IF(A1="2","B",IF(A1="3","C")))』 上記のような式を入れてみて、実際に実践してみたところ、結果としては入力した数字が表示されるだけで、計算式は消えてしまいました。 どうしたらいいのか解りません。 素人故に恥ずかしい質問ですが、お知恵を貸して下さい。 よろしくお願いします。

  • 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つです。 ご指導のほど宜しくお願い致します。

専門家に質問してみよう