
3つあるグループをいくつかのグループに分け直したいと考えております。
最初あるグループをA,B,C,分け直した後のグループを1、2、3、4、5(5グループの場合)
とし、イメージとしては以下のようなものを考えています
1・・・AABCC
2・・・ABBCC
3・・・ABBCC
4・・・ABBC
5・・・ABCC
※A・・・Aグループの人間 B・・・Bグループの人間 C・・・Cグループの人間
なお、A、B、Cグループの人数は全てばらばらで、できれば出席・欠席、グループ数の変更等にも対応できればと考えています。お力添えの方よろしくお願いいたします。
No.6ベストアンサー
- 回答日時:
回答No3及び5です。
その後に欠席などの人についてはグループから外して並び替えたいとのことですね。ここではNo3でのA,B,Cグループの名簿で仮に欠席の人には名前の最後に/0を入力しているとします。
作業が複雑ですので作業列をたくさん用意します。
D2セルには次の式を入力してF2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(OR(A2="",COUNTIF(A2,"*/0")>0),"",MAX(D$1:D1)+1)
G2セルには次の式を入力してI2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(ROW(A1)>MAX(D:D),"",INDEX(A:A,MATCH(ROW(A1),D:D,0)))
J2セルには次の式を入力してL2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(G2="","",RAND())
M2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(J2="","",INDIRECT("G"&RANK(J2,J$2:J$100)+1))
N2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(K2="","",INDIRECT("H"&RANK(K2,K$2:K$100)+1))
O2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(L2="","",INDIRECT("I"&RANK(L2,L$2:L$100)+1))
そこでお求めの表ですがQ列からU列に表示させるとしたらQ2セルに次の式を入力したのちにU2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTIF($M$2:$M$100,"?*"),INDEX($M:$M,COLUMN(A1)+1+(ROW(A1)-1)*5),IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTIF($M$2:$M$100,"?*")+COUNTIF($N$2:$N$100,"?*"),INDEX($N:$N,COLUMN(A1)+1+(ROW(A1)-1)*5-COUNTIF($M$2:$M$100,"?*")),IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTIF($M$2:$M$100,"?*")+COUNTIF($N$2:$N$100,"?*")+COUNTIF($O$2:$O$100,"?*"),INDEX($O:$O,COLUMN(A1)+1+(ROW(A1)-1)*5-COUNTIF($M$2:$M$100,"?*")-COUNTIF($N$2:$N$100,"?*")),"")))
少々複雑な数式で、何か何だかさっぱりわからなくなってしまいましたが、
教えていただいたとおりに入力したところ
完璧に私の希望に対応しておりました。
本当にありがとうございました。
したがって、ベストアンサーとさせていただきます。
他の方々も含め、私の為に時間を割いていただいた皆様方本当にありがとうございました。
No.7
- 回答日時:
名前・グループ名などの元データをコピペしておく
D2セル
=IF(C2="欠席","欠席",B2&RAND())
下へオートフィル
並び替えは D列のセル一つ選んで[昇順で並び替え]
これでランダムに並び変わる
欠席者は処理が面倒なので最後に持ってくる
G2セル
=IF(COLUMN(A1)>$L$1,"",IF($F2*$L$1-$L$1+COLUMN(A1)>$L$2,"",INDEX($A:$A,$F2*$L$1-$L$1+COLUMN(A1)+1)))
右へ下へオートフィル
L2セル
=COUNTA(A:A)-1-COUNTIF(C:C,"欠席")

No.5
- 回答日時:
回答No3です。
名前の順序をランダムにしたいとのことですね。元のデータからランダムな名簿を作り、それを5列に並べることにした方法を述べます。元のデータはNo3で示した通りとしてランダムに並べるための操作を作業列を使って行います。
D2セルには次の式を入力してF2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF(A2="","",RAND())
次にG2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(D2="","",INDIRECT("A"&RANK(D2,D$2:D$100)+1))
次にH2セルには次の式に入力して下方にオートフィルドラッグします。
=IF(E2="","",INDIRECT("B"&RANK(E2,E$2:E$100)+1))
次にI2セルには次の式を入力して下方にオートフィルドラッグします。
=IF(F2="","",INDIRECT("C"&RANK(F2,F$2:F$100)+1))
これでG列からI列にはA,B,Cグループでそれぞれの名前がランダムに並べられます。この名前を元に5グループへの並べ替えをするためK1セルには1グループ、L1セルには2グループ・・・・と5グループまで文字列を入力したのちに、K2セルには次の式を入力してO2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
=IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTIF($G$2:$G$100,"?*"),INDEX($G:$G,COLUMN(A1)+1+(ROW(A1)-1)*5),IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTIF($G$2:$G$100,"?*")+COUNTIF($H$2:$H$100,"?*"),INDEX($H:$H,COLUMN(A1)+1+(ROW(A1)-1)*5-COUNTIF($G$2:$G$100,"?*")),IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTIF($G$2:$G$100,"?*")+COUNTIF($H$2:$H$100,"?*")+COUNTIF($I$2:$I$100,"?*"),INDEX($I:$I,COLUMN(A1)+1+(ROW(A1)-1)*5-COUNTIF($G$2:$G$100,"?*")-COUNTIF($H$2:$H$100,"?*")),"")))
これでK列からO列には5グループの名前が表示されることになります。
No.4
- 回答日時:
#2です。
補足ありがとう。下記は単純な割り当て方法なのですが、下記ではどうだろう。
グループからの人間をなるべく分散させるのを第1に考えている。
例 Sheet1
グループでソート、A、B,Cの順に集る。下記はソート後からの話。
A田中
A石田
A大田
A木村
A水野
A河合
B鈴木
B川崎
B品川
B河北
B内田
B戸田
B内村
B大山
C田上
C上田
C今野
C今川
C木下
C西田
C今井
C北村
C東
Sheet2
5グループの場合
A2セルに =IF((ROW()-1)+(COLUMN()-1)*5>23,"",INDEX(Sheet1!$A:$B,(ROW()-1)+(COLUMN()-1)*5,2))
と入れて、A6まで5行で式複写。
A2:A6の式を右方向に式複写
結果
田中河合内田上田今井
石田鈴木戸田今野北村
大田川崎内村今川東
木村品川大山木下
水野河北田上西田
グループ記号で言えば
A2に =IF((ROW()-1)+(COLUMN()-1)*5>23,"",INDEX(Sheet1!$A:$B,(ROW()-1)+(COLUMN()-1)*5,1))ト入れて
上記と同じことをする。
質問に挙げられた例(結果の1例)と同じになる。
AABCC
ABBCC
ABBCC
ABBC
ABCC
6グループにする場合はSheet3の
A2に =IF((ROW()-1)+(COLUMN()-1)*6>23,"",INDEX(Sheet1!$A:$A,(ROW()-1)+(COLUMN()-1)*6,1))
と入れて、6行縦に式を複写し、A2:A7の式を右方向に式複写する。
結果
ABBC
ABBC
ABCC
ABCC
ABCC
ABC
名前版の式は
=IF((ROW()-1)+(COLUMN()-1)*6>23,"",INDEX(Sheet1!$A:$B,(ROW()-1)+(COLUMN()-1)*6,2))
結果
田中鈴木内村木下
石田川崎大山西田
大田品川田上今井
木村河北上田北村
水野内田今野東
河合戸田今川
A列を明けたい場合は、Sheet4のB2に
=IF((ROW()-1)+(COLUMN()-2)*5>23,"",INDEX(Sheet1!$A:$B,(ROW()-1)+(COLUMN()-2)*5,1))
結果B2:F6 A列は式が無く空白(グループ番号などを入れる)列に使う
AABCC
ABBCC
ABBCC
ABBC
ABCC
ーー
欠席が混じる場合で出席者のみで考える場合は、出席(1)や欠席(2)のコードの列でソートして分離し、上に集った出席者のみのセル範囲で上記回答の方法を行うとどうだろう。
No.3
- 回答日時:
例として次に述べますので必ず一度述べたとおりに表を作成して試験してください。
その結果をご自分の表に適応することで問題が解決できるのではないかと思います。A1セルにはAグループと入力したのちに、A2セルには例えばA1と入力し、下方にオートフィルドラッグします。下方にはA2,A3,A4・・・と表示されますね。適当な番号まで表示させます。
B1セルにはBグループと入力したのちに、B2セルにはB1と入力し下方にオートフィルドラッグします。
C1セルにはCグループと入力したのちに、C2セルにはC1と入力し下方にオートフィルドラッグします。
いずれも下方への表示は適当な行まで行います。A,B,C列では表示の行が勿論変わっていて問題ありません。
ただし、ここでは最大100行までの式になっていますが1000までの式に変えることもできます。
さて5グループに並べ替えるための操作ですがE1セルに1グループと入力したのちにI1セルまでオートフィルドラッグして5グループまでを表示させます。
その後にE2セルには次の式を入力したのちI2セルまで横方向にオートフィルドラッグしたのち下方にもオートフィルドラッグします。
=IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTA($A$2:$A$100),INDEX($A:$A,COLUMN(A1)+1+(ROW(A1)-1)*5),IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTA($A$2:$A$100)+COUNTA($B$2:$B$100),INDEX($B:$B,COLUMN(A1)+1+(ROW(A1)-1)*5-COUNTA($A$2:$A$100)),IF((ROW(A1)-1)*5+COLUMN(A1)<=COUNTA($A$2:$A$100)+COUNTA($B$2:$B$100)+COUNTA($C$2:$C$100),INDEX($C:$C,COLUMN(A1)+1+(ROW(A1)-1)*5-COUNTA($A$2:$A$100)-COUNTA($B$2:$B$100)),"")))
これでE列からI列にはお望みのグループ分けされた結果が表示されます。5グループ以外にする場合には上記の式で5の数値を変えることで良いでしょう。
この回答への補足
乱数を与えようと思ったのですが、
上の数式を理解していないせいでどこかで
ずれが生じてしまい、いまひとつな感じになってしまいました;
元のデータを他の場所に残したまま、
ランダムの順で名前をA1~A○、B1~B○、C1~C○
の位置にに入力させるにはどうすればよいでしょう??
詳しくご説明ありがとうございました。結果、以下のような
出力結果を得ることができました。
希望はこれに加え、A1~A9、B1~B11、C1~C14の間でランダムに並びかえたいというものでしたが、元データに乱数を与え、ソートすることで解決できそうです。ありがとうございました。
1グループ2グループ3グループ4グループ5グループ
A1A2A3A4A5
A6A7A8A9B1
B2B3B4B5B6
B7B8B9B10B11
C1C2C3C4C5
C6C7C8C9C10
C11C12C13C14
No.2
- 回答日時:
シートのデータの様子も質問に書かないで質問してどうする。
ある列に、並べなおす「キー」はあるのか、造る(入力する)のか、人間が総合的に判断して分類コードなどを入力するのか、または何かこんなことではないのか、はっきりさせるため、この質問に補足を書くこと。
>、A、B、Cグループの人数は全てばらばら・・
こんなことは普通問題にならない。コンピュターで並べなおす場合は。
>グループ数の変更等・・
所属するが変わった時にはシートのデータはどうなるのか。
コンピュターの並びを自動的に整えるには、それに相応しいデータが無いといけない。
こんなことはコンピュター処理の基礎。
失礼しました。
並び直すキーはランダム(乱数)を希望です。
A ○○太郎
A ○○花子
・
・
・
C ○○二郎
以上のデータを保持したまま
1 A ○○太郎
A ○○三郎
B ○○四朗
C ○○二郎
2 A ○○花子
B ○○○○
B ○○○○
C ○○○○
以上のように出力させるのが希望です
行程としてはAグループのメンバーをランダムに並び変えて
1グループ2グループ3グループ・・・に配分
Bグループのメンバーをランダムに並び変えて、
Aグループの最後の人が配分された次のグループから順に配分
Cグループのメンバーをランダムに並び変えて、
Bグループの最後の人が配分された次のグループから順に配分
のようなものを希望しております。
あと、例えば出席している人に1、
欠席している人に0というキーを与えた場合に
0を与えた人間だけ飛ばすことや、
作り直した後のグループの数を簡単に変えれたらいいなと思っています。
(A,B,C→1、2、3、4 ⇒ A,B,C→1、2、3、4、5、)
No.1
- 回答日時:
単にリストを並べ替えるだけのことと思われますので、ソートすればいいだけだと思います。
それで問題があるのなら、もっと詳しく書いてください。ソートのやり方
http://www.eurus.dti.ne.jp/~yoneyama/Excel/sort. …
EXCELのバージョンによってソートのダイアログボックスが異なるので、とりあえず2003以前の古いバージョンでのやり方です。2007以降では画面が違いますが、考え方は同じで、項目が4つ以上に対応していますからより便利になっています。
ソートは基本中の基本なので、自分で調べてみてください。
ご回答ありがとうございます。
少々、説明が不十分でした。
分けた後の文字Aの中身についてはランダムで
変更可能な状態にしたいのが希望です。
あと、元データの3グループもそのままデータとして残しておきたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 統計学 処理Aと処理A+Bの2群の差から、AとBの効果や相対的重要性を定量したい 5 2023/02/22 09:42
- 友達・仲間 大学のグループの決め方について 1 2023/05/27 02:47
- Excel(エクセル) 指定した数字まで累計する方法や文字例の抽出について教えてください 4 2022/10/05 21:19
- 高校 数学A組み合わせの考え方 3 2022/04/19 09:05
- 高校 順列、組み合わせの宿題を教えていただきたいです。 ABCDEの5人を2人グループに分けます ①Aが3 4 2023/02/24 14:16
- 友達・仲間 みなさんならどこに入りますか? 6 2023/02/08 08:12
- その他(恋愛相談) 気になってる女性へのアプローチ方法とアプローチして良い距離がわからない 大学3年生男です。同じサーク 3 2022/08/20 15:04
- 学校 学校でグループの人に迷惑をかけてしまいました… 3 2022/06/21 12:44
- 中学校 Aグループが15人いて、Bグループが15人いた場合 その中で1日に1回ペアを組む場合、10日間で X 1 2023/06/27 21:53
- その他(恋愛相談) 同級生と恋愛について話をしました こんにちは、大学3年生男です。同級生と好きな女子ができた後のアプロ 2 2022/08/21 16:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】A列にある、日付(本...
-
エクセルの循環参照、?
-
【マクロ】3行に上から下に並...
-
【マクロ】WEBシステムから保存...
-
【マクロ】EXCELで読込したCSV...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
【条件付き書式】シートの中で...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
派遣会社とかハローワークとか...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報