• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelのCOUNTIFについて)

ExcelのCOUNTIFについて

このQ&Aのポイント
  • Excel2007を使用しています。COUNTIFについて次のようなことは可能か教えて下さい。
  • A~Fさんまでそれぞれ行によって成績をまとめてあります。そして、D~F列の1,2、3、4という数字は、K列、N列の順位の回数をCOUNTIFにてそれぞれカウントしています。
  • 問題は8行目のFさんなのですが、上と同様にI8~N8をCOUNTIFでカウントすると、本来は2G目の2着のみなのですが、I8~N8を対象範囲としているのでL列の『P』(※ポイントです)の+3.0を誤って3着にカウントしてしまい、F列の3着のところに1つカウントしてしまっています。

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

添付図を見た感じ2003位前バージョンではなさそうなので D3セル:=COUNTIFS($I3:$N3,D$2,$I$2:$N$2,"着順") と言うのもありですね。 要するにCOUNTIF関数の複数条件バージョンです。 こちらの方がわかりやすいかな。 まぁ、#2さん同様のコメントなんですが、 私も(特定の目的が無い場合を除き)「縦に伸ばして、集計表は別に持つ」方が良いと思いますよ。 集計機能やフィルタ機能などを使えば、推移を見るのも楽ですし、 何より横方向にだだっ広い表は見ていて疲れますから。

ao-i-hoshi
質問者

お礼

早速の回答有難う御座いました。 Excelは2007を使っています。 COUNTIFSという複数条件がつけられる関数が2007から追加されたとは知りませんでした。 お陰で望んだ通りの結果を得ることが出来ました。 (おまけに、SUMにも複数条件付けれることも知ることが出来ました。) 本当にありがとうございました。

その他の回答 (2)

回答No.2

基本的に、横の方向にどんどんデータを延ばしていく表の作り方は、お勧めしません。今後はなるべく、下に延ばす表を作る工夫をしましょう。Excel で計算しにくいというだけでなく、人間にとって読みやすい表にすることが望ましいです。 下に延ばすには、同じ人の名前のレコード(行)が繰り返し登場するにようにすればいいだけですね。表にフィルタを取り付ければ、日付、名前などで絞り込むことも簡単にできます。ピボットテーブルというクロス集計の機能もあります。並べ替えも簡単なので、必ずしも掲載順にこだわる必要もありません。 さて、「列を1つずつ選択する方法ではなく」というのは、例えば次の数式では嫌だということでしょうか?10ゲーム以内と仮定して。 D3 =COUNTIF(K3,D$1)+COUNTIF(N3,D$1)+COUNTIF(Q3,D$1)+COUNTIF(T3,D$1)+COUNTIF(W3,D$1)+COUNTIF(Z3,D$1)+COUNTIF(AC3,D$1)+COUNTIF(AF3,D$1)+COUNTIF(AI3,D$1)+COUNTIF(AL3,D$1) 様々な数式が考えられると思いますが、例えば次式はどうなのでしょうか?100ゲーム以内だとして。 D3 =sumproduct(countif(offset(k3,0,3*(row($1:$100)-1)),D$1)) No.1 さんの式でもいいですね。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

とりあえず、案だけでも。 例えば問題のFさんについて。 図が見辛いのでアレですが、I列からZ列までの"着順"だけを数えるのであれば D8セル・・かな。Fさんの1位のセルに   =SUMPRODUCT(($I8:$Z8=D$2)*($I$2:$Z$2="着順")) あとは、これを全員分の1~4位にコピー・貼り付けしてやれば良いです。 SUMPRODUCT関数の意味や詳細は別途お調べくださいませ。