• 締切済み

IF関数のネストについて

A列~E列に評価の点数が入力されています。 もし同じ点数のセルが3つ以上あればF列にその同じセルを表示、 同じセルが3つ以下の場合だったら、A列~E列の平均点を表示させる場合 どのようにネストを組めばよいでしょうか? よろしくお願いします。

みんなの回答

  • yosifuji20
  • ベストアンサー率43% (2675/6115)
回答No.2

これはifでできないこともありませんが式が複雑すぎます。 それよりは、少し原始的ですが可能性のある組み合わせを全部考えて、それを一個づつ式にしてどれかがヒットするかを見たほうが判りやすいと思います。 具体的には、組み合わせは下記のとおりです。 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE この条件に合う場合は左端の値をとり、それ以外はゼロという式を作り、列G;列Pに並べます。 式 列G =If(AND(A1=B1,A1=C1),A1,0) 列H =If(AND(A1=B1,A1=D1),A1,0)  以下P列まで同様に式を設定 列Q =MAX(G1:P1)   G:Pの間の最大数を取る 列R =If(Q1>0,Q1,Average(A1:F1))   Q1>0ということは3個一致がある場合、ゼロのときはないから平均値を取る。 以上で列Rに答えが得られます。 でも実際はこのような問題はVBAで組んだほうがはるかに簡単ですね。 IfではなくAND関数を使っています。意味はHELPでご覧ください。

kuma3kuma3kuma3
質問者

お礼

おっしゃる通り、複雑な式になってしまいますよね。 実はわたしも友人から聞かれたもので友人に教えてあげるには yosifuji20さんのものは少し説明しにくかったものですから、 今回は強引にCOUNTIFを使わせて頂きました。 でも私自身とても勉強になりました。 ありがとうございます!

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

セル[A1]~[E1]に点数が入っているとした場合にセル[F1]に以下の式を入力すればよいのでは ないでしょうか? 「=IF(COUNTIF($A1:$E1,$A1)=3,A1,IF(COUNTIF($A1:$E1,$B1)=3,$B1,IF(COUNTIF($A1:$E1,$C1)=3,$C1,AVERAGE($A1:$E1))))」 ・A1と同じ値が3つあればその値を表示      ↓ ・B1と同じ値が3つあればその値を表示      ↓ ・C1と同じ値が3つあればその値を表示      ↓ ・それ以外は5つの値の平均を表示

kuma3kuma3kuma3
質問者

お礼

ありがとうございます! =を>=にしてみたら求めたい値がでました!!

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

関連するQ&A

  • IF関数について

    ご教示ください。 エクセルである何名かの点数表があって、それぞれの点数が500点以上なら”A”と表示、450~499点なら”B”と表示、400~449点なら”C”と表示、399点以下は”D”とそれぞれに表示したいのです。IF関数で作っているのですが、例えばセルA2の点数が540点のとき、その評価をA3に表示させたいとき、単純にA3のセルに、  =IF(A2>=500,”A”) と作ればちゃんと”A”と、表示されます。そのあとの式のつなぎが作れません。どなたかご教示ください。

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

     こんにちわ。仕事で成績の評価表の作成をしたくて、エクセルで表を作成しました。    表は、  Aのセル・・・氏名 Bのセル・・・テストの点数 Cのセルが平常点          Dのセル・・・BとCのセルを合計した合計点数          Eのセル・・・成績評価  Fのセル・・・合計点数による順位    という表を作成しました。    Eのセルに Dのセルの合計点数を基準として 5段階の評価をつけたい。    条件が、 85点以上が5、60点以上が4、50点以上が3、35以上が2、1~34点までが1    =IF の関数 =IF(論理式、真の場合、偽の場合) というのを使用すればいいのは   わかったんですが、いまいち関数式の取り方、書き方がわからなくて・・・本をみて記入して   みたんですがエラーになります。   どうしたら評価を自動転記することができるか、教えてください。   また点数をもとに順位をつける方法も教えて欲しいです。よろしくお願いします。

  • IF,VLOOKUP,COLUMNの関数を理解している人

    助けてください。 このジャンルは初めてなので自信ありませんが・・ まず平均点を求める場合、少数第一位まで表示する方法を、教えてください。 次にセルに番号を入力すると該当する学生の個人成績が表示されるようします。セルC4から14までが番号で、数学の点数がE4から14までと、5教科あります。英語はF4 から14とだんだんの仕組みで点数は仮定して求めてください。単純でいいです。加えて評価は90点がA、80がB、70、60、0がC・D・Eとなります。 セルC30に氏名が入りH30まで5教科の個人点数が入ります。関数としては、タイトルの関数をしようします。あえてこのような形にしたのは、数式を教えて欲しいからではないからです。この関数を使う場合、どのセルを選択して入力するのかを知りたいからです。非常に特殊かつ分かりにくいと思います。指摘されたら補足させて頂きます。 直ぐにできるとは、思いません。それでもパソコン・エクセル関数得意だよという助けを期待しています。

  • IF関数のネスト

    IF関数のネストについての質問です。 例えば、D1のセルに日付が入力してあり、 A4のセルの日付の月がD1の月と同じならば、 「今月」違うなら「エラー」と表示させたいのですが、 数式は解るのです。↓ =IF(MONTH($D$1)=MONTH(A4),"今月","エラー") ですが入力のしかたが解らないのです。 まず、fxの関数の挿入からIFを選択、論理式の部分に、 fxの左にある下矢印からMONTHを選択、 シリアル値はD1を絶対参照。 このあとがどうしていいのか解らないのです。 どなたか教えてください。 宜しくお願いします。

  • IF関数とAVERAGE関数を重ね合せについて

    各個人の前期の点数とその平均点(前期点数の平均点)、後期の点数とその平均点(後期点数の平均点)を比較するのに、 前期・後期の点数がともにその各平均点以上なら「前・後」と表示する。          前期の点数のみ平均点以上なら「前」、後期の点数のみ平均点以上なら「後」と表示する。     それ以外は何も表示しない。 以上のやり方がわからなくて苦戦しています。 分かる人は回答お願いします。 具体的な数字は以下の通りです。 前期 後期 80 77 56 79 65 95 65 84 45 59 89 74 98 95 75 63 85 90 51 45

  • IF関数とAVERAGE関数を重ね合せについて

    各個人の前期の点数とその平均点(前期点数の平均点)、後期の点数とその平均点(後期点数の平均点)を比較するのに、 前期・後期の点数がともにその各平均点以上なら「前・後」と表示する。          前期の点数のみ平均点以上なら「前」、後期の点数のみ平均点以上なら「後」と表示する。     それ以外は何も表示しない。 以上のやり方がわからなくて苦戦しています。 分かる人は回答お願いします。 具体的な数字は以下の通りです。 前期 後期 80 77 56 79 65 95 65 84 45 59 89 74 98 95 75 63 85 90 51 45 カテゴリーが違うかもしれませんが、回答お願いします。

  • 関数のネスト 入っている関数の前にネストしたい

    Excel2003を使っています。 要領が悪いのか、関数を作ってから、ネストしたいなと思います。 しかし、ネストする場合、その関数の後にネストする場合は、そのセルをアクティブにしてから関数ボックスをクリックすれば、簡単にネスト出来ますが、前に入れたい場合‥‥一から作り直しています。 一生懸命作り上げた関数なのに‥‥ 手打ちで入力してもいいのですが、だんだんと式が崩れてわやくちゃになるケースが多いのです。 ネストで、前に入れる場合、何かいい方法はありますでしょうか?

  • Excel2002 IF関数のネストは関数ボックスで出来ますか?

    関数ボックスを使用し、ネストした式を作りたいです。 IF関数を使い、『3点未満=劣、7点未満=可、10点未満=優』のような式です。 手打ちではいつもやっていますが、関数ボックスで作ってみたいと思っています。 しかし、関数ボックスでは、何故か2段階評価の式しか作れず、ネストが出来ません。 関数ボックスで3段階以上の式を作る場合は、やっぱり手打ちしか無いのでしょうか? 関数ボックスで出来る場合、どのように作っていくのでしょうか?

  • IF関数について

    IF関数について A列のセルに住所が入力されていて、「中野区」という文字列が含まれているときに「○」そうでない場合は「-」をB列セルに表示させる方法で B列セルに、 =IF(COUNTIF(A1,"*中野区*"),"○","-") を入力すれば良いことがわかりました。 この条件に加えて、A列のセルが空白の場合上の行を参照するという条件を加えたいと思います。 例A3のセルが空白の場合A2を参照しB3に表示させる。 因みに、A2も空白の場合A1を参照する。 って感じにしたいです。 宜しく御願いします。

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

    =IF(E19>=100000,E19-100000,0) この関数式が入力されているセルはE19のセルが10万以上の場合10万を引いた数が表示されますが、例えばE19のセルが178000の場合、78000というように表示されます。ところが、千単位以下を全部0000表示し万単位以上の数字だけを表示させる場合どのような関数式になるのでしょうか?例えば、E19のセルが178000の場合、70000という具合にです。わかる方ぜひ教えてください。よろしくお願いします。

専門家に質問してみよう