- ベストアンサー
IF関数とCOUNTIF関数の混在した式なんですが・・・
A1からA10までAかBの文字が入力されています。 この10個のセルのなかで Aが入力されているセルの数が7個以上の場合、B10にCと入力、 Bが入力されているセルの数が7個以上の場合、B10にDと入力、 それ以外の場合、B10にEと入力したいのです。 そこでB10に =IF(COUNTIF(A1:A10,"A")>=7,"C",COUNTIF(A1:A10,"B")>=7,"D","E") と入力しましたがエラーになってしまいます。 エラー表示の際、"D"の部分が黒く反転しています。 どこが間違っているでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1の方に補足します。 関数は =命令文(パラメータ) の構成を取り、パラメータがないもの(その時間を呼び出す=now()など)、一定個数のパラメータを必要とするもの(命令に対し、何個のパラメータと決まっているタイプです。IF関数も、このタイプです)、複数のパラメータを並べるもの(個数が決まっていないが、複数指定するものです。良い例がsum関数です)があります。 IF関数の場合、 =IF(条件指定、条件に適合した場合、条件に適合しない場合) と3個のパラメータを使用します。 =IF(COUNTIF(A1:A10,"A")>=7,"C",COUNTIF(A1:A10,"B")>=7,"D","E") とすると、 COUNTIF(A1:A10,"A")>7が条件指定で、”C"が適合するときとなりますが、COUNTIF(A1:A10,"B")>=7が適合しない場合となってしまい、そのあとの”D"と”E"の二つがパラメータとして多いことになります。黒く反転しているのは、そのあたりがおかしいという指摘です。 #1さんが記したように、 =IF(COUNTIF(A1:A10,"A")>=7,"C",IF(COUNTIF(A1:A10,"B")>=7,"D","E")) とすることで、最初のCOUNTIF関数で指定している条件に適合しないときは、3つめの適合しない場合に記しているIF関数内の判定となり、それぞれのパラメータの数が正当な数になります。 複雑な条件を指定するときは、IF関数を7回組み込む(ネストすると言います)ことが可能で、2種のうち1種を満たすときはOR(条件1,条件2)という書き方を、共に満たすときはとするならAND(条件1,条件2)という書き方の関数を、IF関数内に組み込むことで複雑な判定をさせます。
その他の回答 (3)
- tmi2e
- ベストアンサー率31% (7/22)
=IF(COUNTIF(A1:A10,"A")>=7,"C",IF(COUNTIF(A1:A10,"B")>=7,"D","E")) だと思います。
お礼
ありがとうございました。 機会がありましたらまたよろしくお願いいたします。
- t-yamada_2
- ベストアンサー率40% (587/1460)
IF文は、IF(論理式,真の場合,偽の場合) の書式なので"C"以降は単式にするか、そこでまたIF文で判定をしなければなりません。下の様にしたらできると思います。 =IF(COUNTIF(A1:A10,"A")>=7,"C",IF(COUNTIF(A1:A10,"B")>=7,"D","E"))
お礼
ありがとうございました。
- hirorin00
- ベストアンサー率50% (446/884)
はじめまして =IF(COUNTIF(A1:A10,"A")>=7,"C",IF(COUNTIF(A1:A10,"B")>=7,"D","E")) こうしましょう(^^)
お礼
早々のご回答ありがとうございました。 うまくできました。
お礼
大変詳しいご解説をありがとうございました。 非常によく理解できました。