• ベストアンサー

エクセル グループを並び替え

並び替えについて質問します。 A列    B列     C列 AAA社 東京支店 03-XXXX-1234 AAA社 千葉支店 04X-XXX-1289 BBB社 本社    03-XXXX-5678 CCC社 渋谷店  03-XXXX-9123 CCC社 新宿店  03-XXXX-4567 CCC社 千葉店  04X-XXX-8912 のような表があります。 これを社名のグルーピングはそのままにしてランダムに並び替えたいのですがいい方法はありますか? たとえば CCC社 渋谷店  03-XXXX-9123 CCC社 新宿店  03-XXXX-4567 CCC社 千葉店  04X-XXX-8912 AAA社 東京支店 03-XXXX-1234 AAA社 千葉支店 04X-XXX-1289 BBB社 本社    03-XXXX-5678 という感じ会社内のグルーピングはそのままで社名同士をランダムに並び替えたいです。 (会社内でしたら支店の順番は前後して大丈夫です) 会社数は全部で4000近くあり所在地が違うので電話番号でも住所でも並び替えできません。 諸事情により社名で並び替えるということも出来ません。 皆様のお知恵をお貸しください、よろしくお願いします。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

___A___B_____C______D__ 1 会社名 本支店  電話番号 2  CCC社 渋谷店  03-XXXX-9123 3  CCC社 新宿店  03-XXXX-4567 4  CCC社 千葉店  04X-XXX-8912 5  AAA社 東京支店 03-XXXX-1234 6  AAA社 千葉支店 04X-XXX-1289 7  BBB社 本社   03-XXXX-5678 のようになっているとします。1行目はタイトル行です。 D2セルに =IF(A2<>A1,INT(RAND()*10000),D1) として、データ分コピーします。 この状態でD列で並べ替えます。

marumomorumo
質問者

お礼

結局、ソートをかける前のデーターを使用することになってしまいましたが、 nishi6さまの数式は他のことでも役立ちそうなのでメモらせていただきました。 ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

第1段階 例えばCCC社の中での順序を、今のままに、(今後のソートを行って後も)保存されるように下記をします。 B列に列挿入しB1に =COUNTIF($A$1:A1,A1)と入れて下方向に式を複写する。 結果 AAA社 1 東京支店 03-XXXX-1234 AAA社 2 千葉支店 04X-XXX-1289 BBB社 1 本社 03-XXXX-5678 CCC社 1 渋谷店 03-XXXX-9123 CCC社 2 新宿店 03-XXXX-4567 CCC社 3 千葉店 04X-XXX-8912 第2段階 B列に列挿入する。 そして上行と会社名が同じなら同じ番号(直前にその行で振った乱数)を、違うときは乱数をふる B1に =RANDBETWEEN(1000,9999) B2に =IF(A2=A1,B1,RANDBETWEEN(1000,9999)) B3セル以下に式を複写する。 B列をB列自身に形式を選択して貼り付けー値で式を消す。 C列の式も消す。 最終段階 B,C列でソートする。 BBB社 1026 1 本社 03-XXXX-5678 CCC社 1544 1 渋谷店 03-XXXX-9123 CCC社 1544 2 新宿店 03-XXXX-4567 CCC社 1544 3 千葉店 04X-XXX-8912 AAA社 7935 1 東京支店 03-XXXX-1234 AAA社 7935 2 千葉支店 04X-XXX-1289 ーー 乱数を使ったといっても、同じ番号の発生はないとはいえない。 ですから完全ではない。最後に、使う目的によっては、チェックは必要かも。

marumomorumo
質問者

お礼

回答ありがとうございます。 今回はソートをかける前のデーターで作業することになりましたが、 他の場面でも活躍できそうな数式だったのでメモらせていただきました。 ありがとうございました。

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.2

D列に CCC社系1、AAA社系2、BBB社系3と並び替えたい順番の番号をつけます。 A列    B列     C列        D列 AAA社 東京支店 03-XXXX-1234    2 AAA社 千葉支店 04X-XXX-1289    2  BBB社 本社    03-XXXX-5678    3  CCC社 渋谷店  03-XXXX-9123    1 CCC社 新宿店  03-XXXX-4567    1 CCC社 千葉店  04X-XXX-8912    1 全体を選択して「ツールバー」の「データ」→「並び替え」で D列を最優先で並び替えてはどうですか。 同じ会社を集めておけばそれほど大変では無いと思います。 A列    B列     C列       D列 CCC社 渋谷店  03-XXXX-9123    1 CCC社 新宿店  03-XXXX-4567    1 CCC社 千葉店  04X-XXX-8912    1 AAA社 東京支店 03-XXXX-1234    2 AAA社 千葉支店 04X-XXX-1289    2  BBB社 本社    03-XXXX-5678    3

marumomorumo
質問者

お礼

回答ありがとうございまた。 会社ごとに番号を振っていく案もありましたが 4000社近い会社に番号を付けていくには時間が足りなさ過ぎたので 今回は却下となってしまいました。

関連するQ&A

専門家に質問してみよう