小学校の教員をしている者なのですが・・・
体育などでいろいろなタイムや得点をもとにチーム分けをしなければならない場面が多々あります。
そんな時,excelで上手くチーム分けをする方法ってあるのでしょうか?
ちょっと具体的には
A~Xまで24人の児童の50m走のタイムをもとに,走力が均等になるよう1チーム6人のチームを4つ作りたい場合,チームの合計タイムが [A~Xの平均タイム]×6 に最も近くなるようにA~Xを4つに割り振るようなことが,関数やマクロ(?)でできたりするのでしょうか。
もしこれができるなら本当に助かります。excelでできない場合も何かツールのような物でできればよいのですが・・・検索してみても思うような物が見つけ出せませんでした。
どなたか詳しい方,ご回答よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
2通りやって見ました。
予想以上に差が出ました。
1)早い順にabcd 4チームに分ける
A列に名前、B列にタイムを入力
並び替えでタイムを優先
C列にチームabcdを繰り返し入力
並び替えでチームを優先
結果:チーム別平均にかなりの差が出来てしまいました。
2)一番早い子と一番遅い子を組み合わせる
A列に名前、B列にタイムを入力
並び替えでタイムを優先
C列12番目までにチームabcdを繰り返し入力
C列最下位から逆にabcdを繰り返し入力(13番目からはdcbaを繰り返し入力)
並び替えでチームを優先
結果:チーム別平均は近いものになりました。
修正:差のある2チームの各1名を入れ替え平均タイムがそろいました。
添付図参考
ご回答ありがとうございます。
実は自分も同様の方法でやっていました。結局のところ「補正」の手作業が必要になるのですね。
そこまで自動的にやってくれる計算式みたいなのがあれば楽なのですが・・・。
タイムには極端に遅い子や早い子が少しだけいたりするので,計算の組み合わせも相当難しくなりそうですので,無理みたいですね。もしかしたら「数学者」とかだったらどんなパターンにも当てはまるような数式を考えられるのかもしれませんが・・・。
ここでこれまでに自分がやっていた地道な方法が間違っていないことに気づけただけでもめっけもんでした。ありがとうございました。
No.3
- 回答日時:
持ちタイムの上位から順にならべたデータをできる限り総合計時間が等しくなるようにチーム分けしたい場合は、以下のような順に配分するのが合理的です。
すなわち、4チームに配分するなら上位から順に1~4チームに4番目まで配置し、次の5番目の人は、逆に4チームから1チームの順に配分し、その後は同じ配分を繰り返します。
操作的には、データをタイム順に並べ、チームの列の8つのセルに「1,2,3,4,4,3,2,1」と入力して、このセルをコピーします。
実際のチームの合計時間は、以下の式で表示できますので、うまく分配できているか調べてみてください。
=SUMIF($C$2:$C$25,E2,$B$2:$B$25)
ご回答ありがとうございました。
残念ながら=SUMIFという関数がつかいこなせず,E2のセルには0が表示されてしまうだけでした・・・。
うまくいったとしても,おそらくNo1様の方法のように,チーム合計には無視できない差が出てしまうかもしれませんね・・・。
とにかく,ありがとうございました。
No.1
- 回答日時:
組み合わせとかいろいろ考えると、なかなか難しい数学になっていきます。
それより、単純に処理してみてはいかがですか?どの程度Excelを使いこなされているか分かりませんが、例えばこのような。1.
A2:A27の範囲にA~Xの子の名前を、B2:B27にそれぞれのタイムを記入。
2.
C2セルに次の式を記入。
=rank(b2,$B$2:$B$27) ※「$」マークを付けるには、キーボードのF4キーを何回か押します
3.
C2にカーソルを置いてその右下隅の角をダブルクリックすると、下方向にオートフィルされ、C2:C27に式が入力されます。
4.
A2:C27の表中のどこかにカーソルを置いた状態で、リボンあるいはメニューバーの「並べ替え」をクリック。C列を基準に降順で並べ替え。(または降順での並べ替え専用のボタンをクリック)
5.
足の速い子から順に4チームに分けます。次の式をD2に入力。
=mod(row(),4)
6.
3.と同様にしてD2:D27をオートフィル。
7.
A1:D27の範囲(数字に注意)を選択。続いて、リボンあるいはメニューバーのフィルタあるいはオートフィルタをクリック。表示されるプルダウンのボタンを使って、特定チームに所属する子だけを表示できます。
早速のご回答ありがとうございました。実はexcelはほとんど使えないのですが,この回答をいただいてから調べ,RANKという関数とmod(row()○)という関数についてうすらぼんやり理解することができました。勉強になりましたm(_ _)m
この方法だと
「順位をつけて並べ替え,単純に4行おきにチーム編成したものを表示する」
ということになるようですね。
合計タイムを出してみると,やはりけっこうな差が出てしまいました(^^;
「数学的に難しい」と言われ,納得です。よくよく考えてみれば,確かに組み合わせや平均の考え方が複雑に入り組みそうですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
エクセルで公平にチーム分けする方法を教えて下さい
その他(Microsoft Office)
-
グループを均等に分けるには? Excel ACCESS
Visual Basic(VBA)
-
Excelで合計値を基にデータを均等に分ける
Excel(エクセル)
-
-
4
エクセルを使って 組み合わせ リレーチーム
Visual Basic(VBA)
-
5
エクセル 学校のクラス分けのやり方
Excel(エクセル)
-
6
Excelの関数かVBAでグループ分けする方法を教えてください(。-_-。) (VBA初心者です)
Excel(エクセル)
-
7
データに条件付をつけてまんべんなくばらばらにグループ分けする方法
Access(アクセス)
-
8
エクセルでランダムにチーム分けをしたいです。
Windows Vista・XP
-
9
エクセルで自動の割り振りがしたいです。助けて下さい。
Excel(エクセル)
-
10
50人を数回、グループ分けする方法について。
数学
-
11
数字の配分
Excel(エクセル)
-
12
複雑なシフト表から1日ごとの出勤者、シフトを抜き出したいです
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの警告について
-
Excelで数値を時間数に変換する...
-
エクセル折れ線グラフについて...
-
エクセル IF計算式?でしょうか?
-
【マクロ】for nest について ...
-
EXCELで数値が異なった数字を足...
-
Excelについて。Excelに縦1列に...
-
エクセル、LibreOffice Calcプ...
-
エクセルを使用して、円周率を...
-
エクセルの数式バーのフォント...
-
【マクロ】マクロが割当てされ...
-
エクセルでファイルの最終更新...
-
【マクロ】AブックからBブック...
-
index関数の説明をお願いします。
-
Excelで時間の計算の方法 7時45...
-
【Excel】Powerクエリーの取り...
-
エクセルマクロを教えてほしい...
-
エクセルのセルの書式ユーザー...
-
エクセルで曜日を入れたい
-
【マクロ】アクティブセルの、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの数式バーのフォント...
-
エクセルでファイルの最終更新...
-
2列に入っているデータを1列...
-
データチェックを行うエクセル...
-
再質問です。マクロの修正箇所...
-
エクセルで 自動的に◯や数字を...
-
数字入力後他の文字等が表示さ...
-
Excel 小さくなったスクロール...
-
F9キーについて。
-
【ExcelVBA】ダブルクォーテー...
-
Excelに詳しい方! B列が「日...
-
セルの数を求めたい
-
Excelを無料で使うには? パソ...
-
IFとIFS関数
-
【Excel】別シートから条件に合...
-
EXCELの散布図で日付が1900年に...
-
ある表にフィルターをかけて出...
-
【ExcelVBA】名前を付けて保存→...
-
Excelセルを跨いで合計を出す方法
-
エクセルのツールバーから数値...
おすすめ情報