- ベストアンサー
エクセル 名簿でランダムに
お世話になります。 エクセル上の名簿(59人)でランダムに9グループ(7人を5グループ、6人を4グループ)に分けたいと思います。 マンネリを避けるためにランダムで組みたいと思いますが、エクセルの機能で良い具合にグループ分けをしてくれる機能は、ないでしょうか。 どなたかお詳しい方、よろしくお願いします。
- オフィス系ソフト
- 回答数6
- ありがとう数4
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
1.範囲 F2:F60 に59人の名前を入力 2.セル E2 に式 =RAND() を入力して、此れを下方にズズーッとドラッグ&ペースト 3.セル C2 に式 =VLOOKUP(SMALL(E$2:E$60,ROW(A1)),E$2:F$60,2,FALSE) を入力して、 此れを下方に(セル C60 まで)ズズーッとドラッグ&ペースト 4.グループ分けは次のようにすればよろしいかと 7人グループ1 → C2:C8 7人グループ2 → C9:C15 7人グループ… → ……… 7人グループ5 → C30:C36 6人グループ1 → C37:C42 6人グループ2 → C43:C48 6人グループ3 → C49:C54 6人グループ4 → C55:C60
その他の回答 (5)
- merlionXX
- ベストアンサー率48% (1930/4007)
ANo3 merlionXXです。 > バージョンは、2010です。 > VBAの画面が出てこないので、ネットでVBA画面の出し方を調べて出しました。 > それに貼り付けることはできたんですが、それ以降をどのように行えば良いのか分からなくなってしまいました。 Windows7/Excel2010を持っている方のところで試してきました。 2007までと同様に ワークシート画面から、Altキー+F11キーでVBE画面にいけました。 VBE画面から、Altキー+F11キーで、またワークシートに戻れました。 ワークシート画面でAltキー+F8キーで、マクロ実行のダイアログも出ました。 標準モジュールにちゃんとコピペされているかどうかもう一度確認してから、再度お試しください。
- imogasi
- ベストアンサー率27% (4737/17068)
既回答もそれと思うが、1-59の乱数を59人の作業列にふり、その乱数順にソートする。もちろん同番号は現れるが、ソートすることにより、同じ乱数値でも上からの順位(場所というか)は決めてくれる。 これで上から7人ずつ5組と、残り6人を4組作れば良い。 エクセルの関数RAND、RANDBETWEENを使う。 http://d.hatena.ne.jp/sutara_lumpur/20080826/1219742033 http://aoki2.si.gunma-u.ac.jp/Hanasi/excel/のような記事もあります。 しかし質問程度の場合は気にしなくても良いかと。 乱数が出た直後に、乱数の式を消して、自身のセルに値化するほうが良いと思います。(形式を選択して貼り付けー値) エクセル関数のSeed値 VBAの場合はシード値を指定できます。 http://officetanaka.net/excel/vba/function/Rnd.htm ーー 一発で出すなら
お礼
ご回答ありがとうございます。 難しいっすね。やってみます。
- merlionXX
- ベストアンサー率48% (1930/4007)
エクセルのバージョンは何ですか? すくなくとも2007までは試したことがあり、この方法で大丈夫だと思うのですが・・・。 > VBAにコピペするところまでは、できたんですが、その後、Alt+F11、Alt+F8ができません。 > そもそも、Alt+F11でVBAがでてきませんでした。 Alt+F11でVBE画面がでなかったら、どうやってどこに貼り付けましたか?
お礼
たびたびのご回答ありがとうございます。 バージョンは、2010です。 VBAの画面が出てこないので、ネットでVBA画面の出し方を調べて出しました。 それに貼り付けることはできたんですが、それ以降をどのように行えば良いのか分からなくなってしまいました。 何度もすみません。
- merlionXX
- ベストアンサー率48% (1930/4007)
Rand関数での方法はすでに出ていますが、関数方式だと再計算のつどグループが再設定されてしまいます。 その点、マクロならユーザーが指示しない限りそのままの状態を維持します。 以下の前提でマクロを作成しました。 ・対象となる59名のデータはSheet1のA1セルからA59セルにある。 ・グループを書き込む先はSheet2のA列からI列に7名5グループ、6名4グループ、Sheet 手順は以下のとおりです。とても簡単ですよ。 1.データのあるエクセルの画面上で、AltキーとF11キー同時に押し(以下Alt+F11キーと記述)て Visual Basic Editor を呼び出します。 2.Visual Basic Editor のメニューから「挿入」、「標準モジュール」で出てきたコードウィンド(右側の白い広い部分)に以下のコード(Sub~End Sub)をコピペします。 '********これより下********** Sub test01() Dim ws(1 To 2) As Worksheet Set ws(1) = Sheets("Sheet1") Set ws(2) = Sheets("Sheet2") Randomize With ws(2) Application.ScreenUpdating = False ws(2).Cells.ClearContents ws(1).Range("A1:A59").Copy .Range("A1:A59") For i = 1 To 59 .Cells(i, "B") = Rnd Next i .Range("A1:B59").Sort Key1:=.Range("B1"), Order1:=xlAscending, Header:=xlNo, Orientation:=xlTopToBottom .Range("B1:B59").ClearContents For i = 1 To 10 x = IIf(i > 5, 1, 0) .Range(.Cells(8 - x, i), .Cells(8 - x, i).End(xlDown)).Cut Destination:=.Cells(1, i + 1) Next i Application.ScreenUpdating = True End With End Sub '********これより上********** 3.Alt+F11キーでワークシートへもどります。 4.Alt+F8キーで出てきたマクロ名(test01)を選択して実行します。 上記4.を何度でも実行できます。 その都度Sheet2のグループ構成員はランダムに変わります。 お試しください。
お礼
ご回答ありがとうございます。 VBAにコピペするところまでは、できたんですが、その後、Alt+F11、Alt+F8ができません。 そもそも、Alt+F11でVBAがでてきませんでした。 どうしたら、よいでしょう。
- srx-atx
- ベストアンサー率41% (12/29)
図のようにA列にランダムで大きい数字を表示し、 B列にA列の数字の順位をつけ、それを59行目までコピーして、 順位に対応する出席番号にすれば大丈夫だと思います。 しかしこの方法だとグループ分けができないので、 上から何人がAグループ、みたいな分け方をしなければなりません。 あと、ランダムの数字の表示は何か作業をするごとに変化してしまうので、 気をつけてください。 ※ ランダムの表示なので小さい確率で同じ数字が表示される場合がありますが、 どこかに一文字入力するなど何か作業をすれば数字は変化します。 A1内容 =RAND()*100000000 B1内容 =RANK(A1,$A$1:$A$59)
関連するQ&A
- エクセル ランダム
エクセルで数学の小テストを作ろうと考えています。 (1)にグループAの問題数問からランダムに一問 (2)にグループBの問題数問からランダムに一問 という感じで、毎回ランダムな20問程度の小テストを作りたいのですが、よい関数はありませんか?? エクセル等ほぼ初心者なので、よろしくおねがいします。
- ベストアンサー
- Windows Vista
- エクセル2003 名簿のふりがなもリンクさせるには
エクセル2003で各種名簿を作成中です。 シート1、列ごとにグループ分けして、全員の名簿になっています。 名前にはふりがながあります。 シート2~7、各グループ別の名簿です。 ふりがなが不要なので、リンクされた状態で問題なしです。 シート8~13、各グループ別の、シート2~7とは用途の違う名簿です。 これには、ふりがなが必要ですが、漢字のみリンクされています。 「図のリンクの貼りつけ」だと、シート1の行の高さになってしまい、不都合があります。 漢字のみリンクされたものにふりがながをつけようとしても、その作業ができません。 メンバーが入れ替わるごとに、シート1の全体名簿をいじれば、 全てに反映されるようにしたいのです。 漢字とふりがなは、ひとつのセルの中に表示したいのです。 ※職場のPCがエクセル2003です。 家で疑似データを作って、あれこれ試しているのは2007です。 どうか教えてください。お願い致します。
- 締切済み
- オフィス系ソフト
- エクセルでランダムにチーム分けをしたいです。
16人のメンバーで毎週集まって作業をしています。全員集まると人数が多くて不効率なので2ヶ所の場所に8人ずつ分かれて集まりたいのですが、毎週同じメンバーにならない様にエクセルでランダムにチーム分けをすることはできるでしょうか。ランダムにチーム分けをすると何万通りもチーム表ができるかとおもいますが向こう10回分ぐらいの表ができれば十分です。 エクセルに詳しい方がおられたら教えてください。
- 締切済み
- Windows XP
- excelの名簿を使って、、、
お世話になります。 例えばexcelで作った顧客名簿を使って、wordの案内文書内の あて先(○○様)を自動的に入れる方法を教えてください。 名前だけで結構です。 できませんか?
- ベストアンサー
- オフィス系ソフト
- Excelの条件付書式設定について教えてください。
名簿でグループ分けをした場合に、 A~C(それ以上)を入力する度に、あらかじめ決めた色に着色する方法を教えてください。 2003では、3色まではそれなりにできていたと思うのですが、離れている間に、Excelの機能が多くなりすぎてわかりません。
- ベストアンサー
- Excel(エクセル)
- エクセルで、名簿を作りたいのですがどのように区分けすればよいでしょうか
姪が通う学校で名簿を作るように頼まれました。 約40人いるグループを、4人ずつのグループに細かくわけ、 それぞれのグループをA,B、C、D と名前をつけてまとめ、 表にしてほしいといわれました。 表のレイアウトをどうするかとても悩んでいます。 4人ずつにわけると10のグループができてしまいますが それを一つの表にまとめるとなると困ってしまいました。 どのように区分けして、一つの表にすればよいか、 何か良い案がありましたら、ご提案いただけないでしょうか。 エクセルがどうも苦手で困っています どうかよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルの名簿を50音順にしたい
新しく取引先名簿を作成するのに、資料をかき集めながらやったら、なんの規則性もないランダムな並びになってしまったので、50音順に並べ替えたいのです。 フィルタという機能でできるような気がしますが、どうしたtら宜しいでしょうか?
- ベストアンサー
- その他MS Office製品
- 【エクセル】名簿入力が楽になる機能?
こんな質問で申し訳ないのですが… 以前勤めていた会社で名簿をエクセルで入力していた際、エクセルの画面上に別ウィンドウを表示して、簡単に入力する方法をとっていたように思うのですが、わからなくなってしまいました。せめて何ていう機能だったくらい覚えていればヘルプや過去の質問から検索したり出来るのですが、やり方どころか機能の名前すら覚えていない状態で、仕方なく「名簿」などの言葉で検索してもうまくヒットせず…困っています。 うまく説明できず恐縮なのですが…どなたかわかる方、いらっしゃいませんでしょうか?
- ベストアンサー
- オフィス系ソフト
- エクセルの名簿作成で
エクセルを使って名簿を作成しているところです。もともと、パソコンは、独学で身につけたので基本もあまりわかっていません。 名簿を作るため、表を作ったのですが、一番上に名簿のタイトルを入れようとすると、タイトルが長すぎるため(?)おさまりきらずわくからはみだしてしまいます。 エクセルは、横にABCD・・・とアルファベットが並んでいますよね。そのうちの1つのアルファベットのますにしかタイトルを書き込めないのでたとえばタイトル5文字くらいしか書けません。 説明が難しくて意味がわかるかどうか不安ですが、どなたかこの説明でわかる方、長いタイトルを入れる方法を教えていただけませんか?
- ベストアンサー
- オフィス系ソフト
お礼
ご回答ありがとうございます。 すごいっすね。できました。ありがとうございます。 どうしたら、そんなにエクセルをマスターできるんですか!?