• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルでの特定範囲の順合計)

エクセルで特定範囲の順合計を求める方法

このQ&Aのポイント
  • 学校内のマラソン大会のチーム順位を得点化するために、エクセルで特定範囲の順合計を求める方法について教えてください。
  • 走った生徒の得点を計算する際に、体調不良やけがの影響を考慮して、歩いた生徒の得点を均等に配分する方法が分からないです。
  • 手動で計算するのではなく、エクセルの関数や手法を利用して、自動で特定範囲の順合計を求める方法を教えてください。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

 A  B   C 順位 名前 1 2  ・・・ 徒歩 徒歩 ・・・ 休み 休み ・・・ 合計80名 作業列使用しますすが C列に =COUNTA(A:A)-ROW(A1) 80名分下までコピィ D1セルに =SUMIF(A:A,"徒歩",C:C) で徒歩の人に渡せる点数の合計 D2セルに =COUNTIF(A:A,"徒歩") で徒歩の人数 E列に =IF(A1="徒歩",D$1/D$2,IF(A1="休み",0,C1)) 入れて下までコピィします。

その他の回答 (3)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

No.2です。 やっぱり勘違いしていました。先ほどの回答は無視してください。 参加者名簿に男女の情報が無いと男女別の得点は出せませんので、性別情報があるはずですよね。 参加者名簿シートのA列が名前、B列が性別(M/F)、C列が参加確認とします。 名前 性別 参加確認 太郎 M   ○ 次郎 M   徒歩 花子 F   ○ 愛子 F   見学 : 以下は最終的な表を表示するシートの作業になります。 空きセルに徒歩と見学の点数を入れて置きましょう。 H1に =(COUNTIF(参加者名簿!C:C,"徒歩")+2*COUNTIF(参加者名簿!C:C,"見学")+1)/2 これが徒歩の一人当たり点数 H2に =(COUNTIF(参加者名簿!C:C,"見学")+1)/2 これが見学の一人当たり点数 次に男女別の徒歩/見学者数を求めます、 B2に =SUMPRODUCT((参加者名簿!B2:B81="M")*(参加者名簿!C2:C81="徒歩")) B3に =SUMPRODUCT((参加者名簿!B2:B81="M")*(参加者名簿!C2:C81="見学")) D2に =SUMPRODUCT((参加者名簿!B2:B81="F")*(参加者名簿!C2:C81="徒歩")) D3に =SUMPRODUCT((参加者名簿!B2:B81="F")*(参加者名簿!C2:C81="見学")) 最後に、 C2に =B2*H1 C3に =B3*H2 E2に =D2*H1 E3に =D3*H2 これでどうでしょう?

yokochin07
質問者

お礼

こんにちは。 SUMPRODUCT!!私がやりたかったのは、まさにこれです! ありがとうございました。目からうろことはこのことですね。 説明が下手でうまく伝わらないのに、何度も知恵を与えてくれてありがとうございました。 本当に感謝です!

回答No.3

小学校の算数で1から10までの合計とかヤリますね。その解き方を思 い出して下さい。一番大きい数と一番小さい数の合計、二番目に大 きい数とに番目に小さい数の合計、ってペアを作るヤツですよ。 一般化すると、xからyまで整数の合計は、(x+y)*(y-x+1)/2です。歩 いた者がx人で行方不明の者がy人なら、y+1からx+yまでの合計です から、(x+2y+1)*y/2点。一人当たりはその1/yですから、(x+2y+1)/2 点です。 問題はExcelの使い方じゃなくて、算数の知識だってオチでした。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

どんな表があって、どうしたいのか具体的な例がありませんので、想像するしかありませんが、例えば、A列に参加者名、B列に順位と言う表があって、順位の欄には歩いた場合は「徒歩」、欠席者は空白が入っている物とします。 あああ 1 いいい 徒歩 ううう  えええ 10  :  : 順位が出ている人の点数は 参加人数-順位+1 (例:1位 80-1+1=80点) 「徒歩」の人の点数は (参加人数-走った人数)*(歩いた人数-1)/歩いた人数 で、計算します。 例:(80-70)*(5-1)/5 =8 C1に↓を入れて下までコピーしてください。 =IF(ISNUMBER(B1),COUNTA(A:A)+1-B1,IF(B1="徒歩",(COUNTA(A:A)-COUNT(B:B))*(1-1/COUNTIF(B:B,"徒歩")),"")) COUNTA(A:A) が参加者名の数=参加人数=80 COUNT(B:B) が順位が数字の人数=走った人数=70 COUNTIF(B:B,"徒歩") が順位が「徒歩」の人数=5 に、なります。 具体例がないとまったく外した説明をしているかも知れず不安です。 できるだけ具体例は付けてください。

yokochin07
質問者

補足

ありがとうございます。わかりにくくて申し訳ありません。 まず、得点はこのようにつけます。  順位   得点   1    80   2    79     ・     ・   70    11  徒歩  徒歩  徒歩  →(10+9+8+7+6)/5=8点  徒歩  徒歩  見学  見学  見学  →(5+4+3+2+1)/5=3点  見学  見学  となるのですが、この徒歩と見学のところを当日の状況によって自動計算したいのです。    参加者名簿シートに  名前  参加確認  太郎    ○  次郎    ○  三郎   徒歩  四郎    ○  五郎   徒歩 といった感じです。この中から    A    B    C    D    E     1       男子   得点   女子   得点 2  徒歩   ○人   ○点   ○人   ○点 3  見学   ○人   ○点   ○人   ○点 といった表をつくり、この表から参照して得点が入るようにしたいのです。 C2、C3、E2、E3に入る数式をあれこれとやっているのですが、うまくいかないので…お分かりいただけたでしょうか?

関連するQ&A