• ベストアンサー

うるさい老人を有無を言わせず仕分けるには?

老人同好会でグランドゴルフを楽しんでおります。集まった参加者の組み分けに苦労しています。MSエクセル関数(例えばRANDBETWEEN関数)などを使って簡便迅速に参加者を組み分けする方法を教えてください。例として14人の参加者各人が順次クリックして5、5,4人の3組に仕分けられるようにしたいのですがよろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

乱数を使う方法の難点の一つは、そのエクセルをちょっと他の事に使うと、今までの順番がぱーっと消えて新しい順番に並べ変わってしまう点です。 折角「よし今回はこの組み合わせで行こう」と思っても、うっかりエクセルに触った瞬間、新しい組み合わせに変わってしまうという事ですね。 【作り方】14人を5,5,4人に組み分ける 【準備】必ず行う事 ご利用のエクセルのバージョンが不明ですが、エクセルのオプションで「反復計算」のチェックを入れておきます 【添付図】 A1に「乱数」と記入 A2に =RAND() を記入、以下コピー B1に「データの入力規則」で種類を「リスト」に変え、下の空欄に 組分け,固定 と記入 B1を選択して▼から「組分け」が選べることを確認しておく B2に =IF($B$1="組分け",MATCH(RANK(A2,A:A),{1,6,11},1)+ROW()/1000,B2) と記入、以下コピー B列を選び、ホームタブ(またはツールバー)の「カンマ区切り」書式(カンマボタン)を押して置く C1に「名前」と記入 C2以下に参加者名を羅列 E1、F1、G1にグループ名を記入 E2に =VLOOKUP(SMALL(B:B,ROW(E1)),B:C,2,FALSE) F2に =VLOOKUP(SMALL(B:B,ROW(F1)+5),B:C,2,FALSE) G2に =VLOOKUP(SMALL(B:B,ROW(G1)+10),B:C,2,FALSE) と記入、以下コピー 【使い方】 F9を押したり、エクセルを何か使うと、メンバーが次々入れ替わります B1を選択、▼から「固定」を選ぶとそれで固定します 「組分け」に変更すると(「組分け」を再度選ぶと)、また組分けが変わります。 #名前一覧の順にグループに現れるので、誰がどの組か探し易くしてあります。 #補足 言わずもがなですが、A列は非表示にして見え無くしておいて構いません。 数式を簡単にするため「5,5,4」は固定にしてありますが、実際にアナタがヤリタイ事に応じて適切に応用してください。

72amenhotep
質問者

お礼

keithin 様   早速のご回答ありがとうございました。各人クリックで順次決めるというこちらからの要望よりはF9でマクロ実行一発という方法が有無を言わさないやり方に合致している気がします。又、参加人員が変わったり、組み合わせ人数を変更したりする場合、keithin様の方式がより迅速に対応できます。Best Answerとして貴案を採用させて戴きます。

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

その他の回答 (2)

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

なるほど、面白そうなので私もちょっと参加させてくださいませ。 各人がクリックではないですけれど^^; まず・・ A列に氏名を用意します。14人分ですね。 次に、1~14までの重複しない乱数を用意しましょう。 添付図では便宜上、同じシートにおいていますが、 もちろん、他のシートにおいてもOKです。 G列にRAND関数を使って乱数を発生させます。   =RAND() 続いて、H列にRANK関数を使って順位をつけてやりましょう。   =RANK(G2,$G$2:$G$15) これで、H列に重複しない1~14の数字が入ります。 で、この数字を基にB列にチーム分けをしていきます。 やり方は様々です。 IF関数だけで   =IF(H2<5,"いぬ",IF(H2<10,"さる","きじ")) でももちろんいけますし、 VLOOKUPを使って(別表が必要ですが)   =VLOOKUP(H2,$J$2:$K$4,2) でもいいでしょう。 あるいはよりランダムぽく見せるためにMOD関数で   =MOD(H2,3) として「3で割った時の余り」を求め、それを基にしても良いでしょう。 まだまだありそうです。 ちなみに、F9ボタンで再計算しますので、ボタン一発で組み替えもできます。 このシートの文字を大きくして、画面いっぱいにしたら面白そうかなぁ・・と。 F9ボタンを押しっぱなしにしている間、画面が・・・・・ おっと、ここから先はやってのお楽しみです(笑)。 で、確定次第、コピー→数値貼り付けしてしまえば動かなく出来ます。 ご希望の「各人が順次クリック」と言うやり方ではないですが、 「クリックする順番が!」と言わせない一つの手法として、 とりあえず、参考までにどうぞ^^

72amenhotep
質問者

お礼

tsubuyuki 様 早速のご回答ありがとうございました。非常に参考になり助かりました。keithin様の方式と会わせて状況の変化に対応できるよう工夫します。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 面白そうなのでちょっとやってみました。 クリックではなくダブルクリックにしています。 ↓の画像のような表を作成しておきます。 A2~C6(実際はC5まで)にF列の氏名が入るようにしています。 E2セルを =RAND() としてオートフィルでE15セルまでコピーしておきます。 (最終的にはE列は非表示にした方がよいと思います) 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてみてください。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'この行から If Application.Intersect(Target, Range("F2:F15")) Is Nothing Then Exit Sub Dim i As Long Dim myArea As Range Set myArea = Range("A2:C6") Cancel = True Application.Calculation = xlManual i = WorksheetFunction.Rank(Target.Offset(, -1), Range("E2:E15")) myArea(i) = Target Target.Font.ColorIndex = 2 If WorksheetFunction.CountA(myArea) = WorksheetFunction.CountA(Range("F2:F25")) Then Application.Calculation = xlAutomatic End If End Sub Sub リセット() Range("A2:C6").ClearContents Range("F2:F15").Font.ColorIndex = xlAutomatic End Sub 'この行まで F列セル(本人の氏名セル)をダブルクリックしてもらいます。 そうするとA2~C5セルのどこかにその氏名が表示され、F列フォントが「白」になります。 (全員がダブルクリックするまで、再計算はしないようにしています) ※ リセットの操作も必要だと思いますので、別マクロを一緒に乗せています。 リセットの場合は Alt+F8キー → マクロ → マクロ実行 の操作をしたのちに、F9キーを押下! これで再計算されますので、どこに配置されるかわかりません。 こんなんではどうでしょうか?m(_ _)m

72amenhotep
質問者

お礼

tom04 様  早速のご回答ありがとうございました。VBAのコードまでご提示くださっての解説非常に参考になりました。3つのご回答の中こちらの要望にもっとも合致した内容として評価させていただきます。ありがとうございました。

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

関連するQ&A

  • 30枚ほどのデジカメ画像をアルバム形式にしてメールで送るには?

    同好会のイベントで写した30枚ほどのデジカメ画像を会員各人にメールで送る予定です。枚数も多く、受信後のことも考えアルバム形式にして送りたいのですが、もっとも簡便なのはどういう方法でしょうか(web上でのアルバム公開等ではなく)。ご教示願います。出来ればメッセージ、コメントなども入れたいのでワードに画像を貼り付けることも考えたのですが、出来上がったファイルがメール添付に適したサイズに縮小できるのか、またその方法も判らず困惑しています。(WindowsXP/HE,Outlook Express6)

  • エクセル 参加者リスト

    自治会の組毎の有料参加者のみを、算出する方法 現在OS Windows 11 Office 2019 Excel を使用しています 行事参加者リストに於いて、子供以外の参加費は、一人500円とし、 組毎の参加者数は、 SUMIF関数で算出していますが、大人のみの会費 を組毎に出す方法を、教えて下さい。 又、エクセルファイルを、添付する方法が判りません、これも併せて 教えて下さい、宜しくお願いします。

  • EXCELの関数で教えてください。

    こんばんは。 ただいま、同窓会の参加・不参加をEXCELで作成しているところです。 参加者には『○』 不参加者には『×』 未定者には『△』 としたいのですが、どうすればいいか迷ってます。 IF関数でお願いします!!

  • 親のご近所トラブルについて

    親がご近所トラブルで、精神的に悩んで、「死にたい」とまで言い出しました。 きっかけは、ご近所の路上駐車で、警察に通報した人がいるらしく、なぜか私の母が通報したと言ううわさになり、10年以上濡れ衣で仲間はずれのようにされてきました。もちろん通報はしていません。 路上駐車していたうちは元市議会議員の家なので、みんな嫌われては困る的な感じなんです。 最近は、仲間はずれにされてても慣れてきたようで、老人会に入り、グランドゴルフをするなどげんきにしていました。 しかし、グランドゴルフにもその情報が回り、会長から嫌がらせを受けたり、お花見会の参加、不参加に勝手に不参加に○をされてたり。 せっかく気晴らしができていたのに「ゴルフはやりたいけど、嫌がらせがひどすぎる」と悲しんでいます。そしてやめてしまいました。 でも、どれも素人の私から見ると、物的証拠もなく、文句をいいに行くにも「やってない」「いってない」と言われても仕方ないとも思うのです。 市役所に相談に行きましたし、民生委員も来てくれたりしましたが、何も変わりませんでした。 そのうち、定年退職した父に毎日母が「つらいつらい」言っているうちに、父まで欝のようになってしまい、家から出れません。 外に出ると、みんながいやな顔をするというのです。 私は隣町に嫁に来ているので、よく実家に行くのですが、私自身はあまり気にならないのですが、「きのせいじゃない?」と言うととたんに顔色を変えて気のせいではないと怒り出します。 それも、証拠がなく、個人の感じ方もあるのでなんともできないところがあります。 引越しを勧めていますが、年金暮らしで、アパートを借りて、初めての土地ですむのも勇気がかなりいるようで。 でも、無理やりにでも引越しさせたほうがいいのでしょうか? うちで一緒に住めればいいのですが、我が家は8坪の狭小住宅で・・・。 ほかに何か相談するところや、私ができそうなことがあれば意見をいただきたいです。 長くなりましたが、よろしくお願いします。

  • Excelで割り振りしたい。

    Excelを使って以下の割り振りをしたいと思います。 (添付ファイル参照) ・No1~10の10人がそれぞれA~Fの6つの部屋のうちから3つの部屋を選びます。 ・選んだ部屋で行われる説明会に参加します。 ・各説明会は3回行われるので、10人は1回目~3回目で選んだ3つの部屋を回ることになります。 ・各部屋の各回の人数はなるべく均等になるようにします。  例えば添付ファイルでは、会場別のべ希望数がEは3なので、1回目~3回目の参加者数は1,1,1とし、Bは6なので2,2,2となるようにします。 このような条件に当てはまるように、各人の1回目~3回目に参加する部屋を割り振りたいのです。 なるべくマクロは使わずに割り振り表を作成したいのですが、Excelでできますでしょうか? よろしくお願いいたします。

  • ポイント制にて選手選考をしたい

    ゴルフ場の研修会幹事をしているものです。 選手選考にポイント制を使いたい ※現在は15回の内ベスト5のスコアの平均にて決定 ※偏差値を使って算出したい (平日の参加者が少ないためポイントを考慮したい) また偏差値を使用したエクセルにて作成を試みましたが うまくいかず(自分の技量不足だと思います) どのように計算式(関数)を入力するか等 詳しく教えて頂ける方いらっしゃらないでしょうか? 分からない部分は補足していきたいと思います よろしくお願い致します。

  • エクセルでランダムに隠しホールを設定する方法No2

    数日前にゴルフの新ぺリア方式のときの隠しホールをエクセルで ランダムに設定する方法を質問させていただいたものです。 IF関数で対象ホールを絞り込みSMALL関数で抽出し、 その後、MOD関数でホールNoを切り出す方法をここで 教えていただいたのですが、どうしてもうまくいかず、 #VALUE! が帰ってきてしまいます。 簡便化するため以下のように検定してみました。 A列に1-9までの番号。 B列には2-5までの任意の数。 仮にB列の数字が"4"であるものの中から どれか一つを選ぶという条件を付け、 D列のD2にその番号(1-9)を返す。 というサンプルにいたしました。 しかし、やはりD2の結果には#VALUE!が帰ってきます。 ただ、B2が"4"で有った場合のみ#VALUE!ではなく 数値が表示されますが、この場合も、B列に"4"が 割り当てられている番号だけでなく、A列の番号の どの番号でも再計算のたびに表示されます。 A列 B列 1 3 2 2 3 5 4 3 5 4 6 3 7 5 8 2 9 4 C列には抽選のためのランダム数を割り当てるため C2=RANDBETWEEN(1,99)*100+A2 D2には抽選の結果当選した番号を表示するため D2=MOD(SMALL(IF(B2:B10=4,C2:C10,""),1),100) と入力しました。 検証していただき、訂正の必要がある箇所がありましたら ご指摘いただきたく存じます。

  • ★同好会(野球)の運営について相談に乗ってください!

    こんにちは。 野球の同好会に加入している、 または運営している方いらっしゃいませんか? この度、同好会を作ることになり、 運営方法がいまいち不案内なので困っています・・・ 全部ご回答いただかなくても、わかる範囲でお答えいただければ嬉しいです。 よろしくお願いします! <当チーム事情> *20代~30代半ば中心(20名程度) *女子マネージャー有り *全員が社会人 *チームコンセプトは「楽しくやろう!(勝敗にはこだわらない)」 *練習は2回/月程度を予定 *ボール・バット等はあるので、新規購入の予定はしばらくナシ。 *公営グランド中心(安価) *ユニフォームは追々検討。 <質問> 1)運営費(会費)は月にいくらくらいですか? 2)会費の徴収はどのようなシステムですか?   その都度、参加者で割り勘?月会費を決めて初日に徴収? 3)練習の連絡等はどうしていますか?   HP・掲示板使用?メール連絡?電話連絡網? 4)会費の取りまとめはどうしていますか?   専用口座を準備?会計係が現金で管理? 5)中心となって動いているメンバーは何名くらいですか?   例:主将1名、副主将1名、会計1名 計3名 その他、同好会を続けて行くにあたって、 必要なことや、考えておくべきこと等、なんでも結構です。 ぜひアドバイスをお願いします。

  • 団地内の親睦会

    市営住宅に住んでいるのですが、今年は住んでいる棟の役員をしているのですが、来月に毎年親睦会というものをやっていまして、晴れていれば、近所の小学校でパターゴルフ、雨なら体育館でカーリング?をやっているのですが、日曜日ということもあって参加者が毎年、そろわなくて役員になった人が大変だと聞きました。私個人としては中止にしてほしいのですが、そうもういかないみたいなので、小学校のグランドや体育館で子供から大人がいっしょに楽しめて、評判が良かった何かがあれば知りたいと思って、質問させていただきました。

  • 町内にある福祉施設の位置づけ

    郊外にある40年ほど前から人が住み始めた住宅地域です。 ほぼ同時期に同じ域内に建てられた特別擁護施設がこのほど区域内の町内会のメンバーに法人として入会されることになって、施設の防火訓練の打ち合わせに行きました。 私はボランテアとして町内会の独居老人の見回りなどを行っているのですが、施設の世話役さんから、構内での祭りやクラブ、同好会への参加や、髪すきとかの地域のボランテアもお願いできればという話がありました(人手が足りないのでしょうか)。 確かに施設の動けない老人たちと健常者とのふれあいが多くなれば活性化がはかられ、いいことにはまちがいありません。囲碁や将棋などの遊戯に参加しておられる町内ご近所のかたもぼちぼち増えています。でもそういう動きは基本的に入居者の係累が優先するべきだとも思います。むづかしい話かもしれませんし、それが出来ないからこその施設であるのでしょうけれど。  町内の独居老人と擁護施設の入居者とはカテゴリーが違いますし、われわれの本来の意図とはずれもありますので、私は彼らのお話にちょっと違和感がありました。もちろん後ろ向きの気分は出さず、そういう地域との融和に成功した例を聞かせて欲しいといいましたが、それはあるでしょう、という軽い返答だけでした。 重度の養護施設へのボランテアに詳しいかたがおられましたら、これらについての前向きのお話とか実例をお聞かせいただければ幸せです。

専門家に質問してみよう