[[20160929005329]] 『ランダムに並べ替えるが、関連づいたものは連続さ』(ひつじ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ランダムに並べ替えるが、関連づいたものは連続させる』(ひつじ)

下記のようなデータがあります。

(列A/列B)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ガンダム/ガンダム01
Zガンダム/ガンダム02
ZZガンダム/ガンダム03

鉄腕アトム/鉄腕アトム

ゴジラ/ゴジラ01
メカゴジラ/ゴジラ02

鉄人28号/鉄人28号

キングコング/キングコング

ウルトラマン/ウルトラマン01
ウルトラセブン/ウルトラマン02
ウルトラマンA/ウルトラマン03
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

このデータをランダムに並べ替えたいのですが、
同じシリーズのものはバラバラにせず連続して
並べたいと思っています。これを行うためには
どのような操作をすればよいでしょうか?

作業用の列を作ってそこに乱数を入れて…さて、
一体これをどのようにソートすればよいのやら…と
行き詰ってしまいました。

< 使用 Excel:unknown、使用 OS:unknown >


 シートを複製して行ってください。
 (ひつじさんの意図した結果ではない可能性があるので)

 L1:L6

 *ガンダム*
 *鉄腕アトム*
 *ゴジラ*
 *鉄人*
 *キングコング*
 *ウルトラ*

 ↑のように、
 各シリーズを区別できる文字列を**で囲みます。

 A:Bにあるデータを一列にまとめたデータを作成します。
 (ここでは、M1:M22に作成したこととします)
 このデータの並び順はバラバラでOKです。

 N1:N22
 =SUMPRODUCT((COUNTIF(M1,$L$1:$L$6)*ROW($L$1:$L$6)))+RAND()

 M列の文字列が「ガンダム」を含む場合
 1より大きくて2より小さい乱数

 M列の文字列が「鉄腕アトム」を含む場合
 2より大きくて3より小さい乱数

 M列の文字列が「ゴジラ」を含む場合
 3より大きくて4より小さい乱数

 A1:B3に次式を入れると、
 N1:N22から、1〜6番目に小さいデータ
 (ガンダムシリーズ)を取り出すことができます。

 A1
 =INDEX($M$1:$M$22,MATCH(SMALL($N$1:$N$22,1),$N$1:$N$22,0))
 A2
 =INDEX($M$1:$M$22,MATCH(SMALL($N$1:$N$22,2),$N$1:$N$22,0))
 A3
 =INDEX($M$1:$M$22,MATCH(SMALL($N$1:$N$22,3),$N$1:$N$22,0))
 B1
 =INDEX($M$1:$M$22,MATCH(SMALL($N$1:$N$22,4),$N$1:$N$22,0))
 B2
 =INDEX($M$1:$M$22,MATCH(SMALL($N$1:$N$22,5),$N$1:$N$22,0))
 B3
 =INDEX($M$1:$M$22,MATCH(SMALL($N$1:$N$22,6),$N$1:$N$22,0))

 SMALL関数の順位を9〜12にすれば、
 ゴジラシリーズを取り出すことができます。

 ファンクションの[F9]を押せば、並び順が入れ替わります。

(x-ab) 2016/09/29(木) 06:58


 M1:M22の作業セルの並び順がバラバラでも問題ありませんが
 M1:N22の2列を[N列を基準]にして並び替えると
 グループごとに表示することができます。
(x-ab) 2016/09/29(木) 07:51

 気が向けば教えてください。

 >>このデータをランダムに並べ替えたい

 このデータを並び替えたい ではなく 「ランダムに」並び替えたいということですね?
 ランダムに というのは、どういうことでしょう。で、なぜ、そうしたいのでしょう?

 >>同じシリーズのものはバラバラにせず連続

 シリーズとは Zガンダム/ガンダム02 でいえば、左側ですか?右側ですか?
 で、右側にせよ、左側にせよ、その文字列内の「シリーズ」というのは、どのことですか?

(β) 2016/09/29(木) 10:31


 C1 =IF(COUNTIF(B$1:B1,LEFT(B1,LEN(B1)-2)&"*")=1,RAND(),VLOOKUP(LEFT(B1,LEN(B1)-2)&"*",B$1:C1,2,FALSE))

 下へコピー。

 A:C列を選択、C列昇順または降順で並び替え。
 
(GobGob) 2016/09/29(木) 11:02

回答でなくてすみません。

>ZZガンダム/ガンダム03
ZZガンダム/ガンダム
とは出来ないのですか?

各シリーズ(?)のデータは空白行で区切られるのですか?

別の列や別のシートに出力するのではなく、
現状のセル範囲のなかで、入れ替える(並び替える)のですか?

各シリーズのデータの最大数はどれくらいですか?

(まっつわん) 2016/09/29(木) 12:37


みなさま、回答を頂きありがとうございました。
そして情報が不足していたため、一部の方々には
目を通して頂いたのに答えようがないという状況を
生んでしまい申し訳ありませんでした。
ここで得られたいくつかの方法を組み合わせて
問題を解決することができました。
本当にお騒がせして申し訳ありませんでした。
ありがとうございました。
(ひつじ) 2016/09/29(木) 12:44

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.