• ベストアンサー
※ 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

  • エクセルで大会順位表作成

    釣りの会で得点表をエクセルで作ろうと思っております。 釣果(匹数)で順位決定して、順位により 1位100点、2位90点 3位80点 4位70点 5位60点 6位50点 7位以降は参加点として10点それぞれ獲得します。 順位付けまではRANK関数でできたのですが、 順位による配点、また同率順位があった場合、 たとえば同率3位が3人いた場合、 3位4位5位の合計得点の210点の平均で70点を同率3位の3人に配点する、 いうよな処理をしたいのですが、 よろしくお願いいたします。

  • エクセル関数について

    スポーツの勝敗表を作成する際に順位を自動で出る様にしたいのですが、順位を決める要素が二つ以上有る為上手く行きません。お教え下さい。 順位を決める要素は、 1: 勝ち点 同じ勝ち点の場合は、 2: 得失点差 同じ得失点差の場合は、 3:当該直接対決の結果 上記3つが同じ場合は、 4:得点の多い 方となります。 上記の3番4番をも満たす関数は恐らく無いと思いますので,,,,, 上記1と2を満たす関数をお教え下さい。 (上記4つを満たす関数があれば尚、良いのですが・・・) 勝敗表は下記の通りです。 (勝 敗 ) / (得 失 点) / 勝点 / 順位     勝 分 負 得 失 差 Aチーム 1 0  1  / 1 3 -1 / 3 / 2位 Bチーム 1 0  1 / 2 2 0 / 0 / 3位 Cチーム 2 0  0 / 2 0 +2 / 3 / 1位

  • エクセルでランクする時の同点の処理を教えて下さい

    ランク関数を使って順位を出そうと思います。同点の場合別の条件を当てはめて順位を出したいと思います。 チーム名  順位   得点   勝ち点  負け点  勝ち点差     A    4    1     1    6    -5  B    2    3     4    9    -5  C    2    3     5    3     2  D    1    5     8    2     6 数字は適当に当てはめたので、矛盾があるかも知れませんがこの様な場合、同点のチームだけ勝ち点差で順位をつけて、同順位の無いようにしたいのですが、どうすればいいのでしょうか。

  • プラスの乱数の合計とマイナス乱数の合計の商の値を上げるには?

    プラスの乱数の合計とマイナス乱数の合計の商の値を上げるには? 以下ルールで乱数を使ってプラスの乱数とマイナス乱数の合計の商の値をいかにして上げられるかの検証をやってます。 しかし今の私の知恵では商の値を動かす事ができません。 乱数の範囲は-10から+10とします。 乱数を発生させ与えられた値が仮得点として加算されます。 そして任意のロジックで仮得点を正式な得点として加算します。 その任意ロジックは例えば仮得点がマイナス幾つになったら、またはプラス幾つなったら仮得点を仕切り正式な得点として加算するというもの。 但し、仮得点がマイナスの場合、プラスの場合とそれぞれ1つ以上の仕切りロジックを作らなければならない。 そして仮得点がマイナスとプラスの場合に分けそれぞれ別の変数に加算する。 (もし仮得点がマイナスなら変数mynas プラスなら変数plus) 仕切られた仮得点は0に戻る。 最終的にその計算を数多く繰り返してプラスの乱数とマイナス乱数の合計の商の値を出力する訳です。 文章では分かりにくいので、私が行いたい検証をプログラムソース風に明記します。 //仕切りロジック 例えのロジックとして仮得点が+100以上、-100以下になったら、仕切って+100、-100をそれぞれ正式得点に加算する処理を1000回繰り返し最後にプラスの変数÷マイナスの変数の商を出力 //仮得点がマイナスの場合、プラスの場合とそれぞれ1つ以上の仕切りロジックを作らなければならない(変数plusのみまたは変数mynasのみのロジックは不可) //仮得点加算変数 KariTokuTen=0 //プラス得点加算変数 plus=0    //マイナス得点加算変数 mynas=0 for(i=0;i<1000;i++){ //whileループを止める為の変数 ex=0; while(ex==0){   //乱数(-10..10)を発生させ仮得点として加算(乱数の範囲変更不可) KariTokuTen=KariTokuTen+rand(-10..10) if( KariTokuTen >= 100){ //仮得点が100以上になったら100をプラス変数に加算 plus=plus+100 //仮得点を初期化 KariTokuTen=0 //whileループを止める変数 ex=1 } else if(KariTokuTen <= -100){ //仮得点が-100以下になったら-100をマイナス変数に加算 mynas=mynas-100 //仮得点を初期化 KariTokuTen=0 //whileループを止める変数 ex=1 } } //加算処理が終了しプラス得点とマイナス得点の商の値を出力 (この商の値を上げたい) print plus/mynas 私としてはルールを守った上で上述のロジックに限らず色々なロジックを発案し(プラスの変数÷マイナスの変数)の商の値がより高くなようにしたいです。上記のロジック以外にも色々と試してみましたが商の値は+-1ばかりで全くコントロールできません。 何卒ご教授宜しくお願いします。

  • エクセルのセルの値を、他のシートに反映させる方法

     「Aチーム 100 Bチーム 150 Cチーム 200…」というような形で試合の結果をエクセルでまとめています。シートごとに試合をわけて、試合の状況や順位を確認しています。  チームごとの推移を比較できたらと思い、別に得点合計シートをつくり、そこに各チームの得点の推移が分かるようにしました。そして、毎回、合計得点ごとに並び替え順位をつけています。  現状でかなり見やすく、データ分析ができているのですが、得点合計のためのシートに毎回、各チームの合計点を入力しなければならず、少しめんどくさいです。  そこで質問なのですが、試合のシートの内容を、得点合計のシートに反映させることは可能でしょうか?たとえば、「Aチーム 100」を合計シートの「Aチーム」のところに反映させるということです。※合計シートの「Aチーム」は毎回、並び替えてしまうので、常に「Aチーム」の場所は変わってしまいます。  文章のみで分かりづらいかと思いますが、可能な所で教えて頂けたらと思います。よろしくお願いします。

  • 平等な採点方法について。

    仮に Aチーム (赤組 100点 白組 90点) Bチーム (赤組 150点 白組 40点 青組 30点) Cチーム (赤組 80点 白組 40点 青組 40点) という得点があって、各チームの順位をつけたいのですが、 Aチームのみ二組しかないので、不利な状況が出てきます。 このような場合、 平等な順位を出すためにはどのような方法があるのでしょうか?

  • オーラスって何?麻雀の順位が決まるのはいつ?

    麻雀はアガリのスピードや役の難易度で高い得点加算を狙い順位を競うゲームですが、順位の決着はいつ定まりますか? オーラスってあるじゃないですか。これは一荘最終局の事ですか?それが終われば、順位が定まりますか? オーラス前に得点差が離れすぎて誰かが役満のロンでも順位が同じ場合、オーラスを省きますか?野球でいうと、9回表が終わって後攻チームがリードしていれば、9回裏を省きます。 ゲーム開始からオーラスまで、何局ありますか?20局くらい?

  • EXCELの範囲を判定する関数について

    EXCEL2000で、参照した数値がどの値の範囲に入っているか分かる簡単な方法は無いでしょうか? マクロを使用せずにできる方法がありましたらお教え下さい。 例えば、あるクラスにおける生徒のテストの得点により10段階の評価(成績)をそれぞれ付けるとき、10段階の判定要素がまちまち(10点ごとではなく)の場合に簡単な評価の判定方法がありましたらお教え下さい。 ただし、0点~5点→評価「1」というふうに、評価の基準は明確なものとします。(10点刻みの10段階ということではありません)

  • エクセルにて。

    たとえば、多数の生徒のテスト得点のデータがあったとして、その中で81点から90点までの人数を調べたい場合、COUTIF関数を用いるなら、どのように入力すればよいのでしょうか?教えてください。

  • Excelで、フィルタ表示(マクロ使用)の結果を別シートにコピーした後・・・

    |日付|開催地|英|米|仏|伊|独 |○日|神奈川|壱|壱|●|□|壱 |◎日|神奈川|●|壱|壱|□|□ |△日|神奈川|壱|壱|壱|□|● |▲日|和歌山|壱|壱|壱|壱|● このようなデータベース(表)があります。 1行目がタイトルで英~独はチーム名です。 チーム名欄には点数が入力されています。  ※漢数字は普通の数字、”□”は空白に読み替えてください ここで検索用シートにて、例えば開催地を 神奈川で検索すると |日付|開催地|英|米|仏|伊|独 |○日|神奈川|壱|壱|●|□|壱 |◎日|神奈川|●|壱|壱|□|□ |△日|神奈川|壱|壱|壱|□|● 現在はこんな感じで検索結果が表示されます。 このとき検索結果と共に各チームの点数の合計を 検索結果が表示された最終行の次の行に計算させて 表示したいのですが、全ての点数を加算するのではなく そのチームについている直近の●より 下の点数のみを合計して表示したいのです。 |日付|開催地|英|米|仏|伊|独 |○日|神奈川|壱|壱|●|□|壱 |◎日|神奈川|●|壱|壱|□|□ |△日|神奈川|壱|壱|壱|□|● □□□□□□□□壱□参□弐□□□零 ←こんな風に 英は、◎日において●が付いているので合計点は1点。 伊は、神奈川においては得点がないので空白とする。 独は、抽出された最終日において●なので点数は0点となる。 更にこの状態から得点のないチームを除きたい。 ただし、伊は除外するが、独は0点では あるものの点数はあると考えて残す。 |日付|開催地|英|米|仏|独 |○日|神奈川|壱|壱|●|壱 |◎日|神奈川|●|壱|壱|□ |△日|神奈川|壱|壱|壱|● □□□□□□□□壱□参□弐□零 ↑最終的にこのような形で表示したいのですが どのように処理すればよいでしょうか。

専門家に質問してみよう