• ベストアンサー

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

並び替えについて質問します。 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/17068)
回答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

  • 重複の削除について

    アクセスでもエクセルでもいいのですが 顧客リストの重複を削除したいです。 会社名      電話   住所 aaa本店    1234   新宿1234 bbb      5678   新宿9856 ccc      7896   渋谷8575 aaa新宿支店   1234   新宿1234 aaa渋谷支店    1234   渋谷4563 上記の中で、電話と住所が重複しているもの(社名は違っても構いません)を削除して一つだけ残したいのですが、どのようにしたらいいかわかりません。 どなたかよろしくお願い致します。

  • select文の表示結果を置き換える

    sql初心者です、皆様ご教授お願いいたします。 以下のようなselect文の結果が・・・ select aaa,bbb,ccc from XXX order by aaa 以下のようになった場合・・・ 埼玉 100 AAA 東京 200 BBB 東京 200 CCC 東京 300 CCC 千葉 400 CCC 以下のような表示を行う事はsqlで可能でしょうか? 埼玉 100 AAA 東京 200 BBB (〃)(〃) CCC (〃) 300 (〃) 千葉 400 (〃) つまり「一つ前のレコードと同じ結果だった項目は”〃”等の任意の文字列を出力する」です。 宜しくお願いいたします。

  • 【少し急いでます】エクセルについて教えてください!

    Excel2000を使っています。 A列に重複するデータがあり、B列に別データがあります(20000行強) 例)     A  B 1  001 aaa 2   001 bbb 3   001 ccc 4   002 aa 5  002 bb 6  003 aaa 7  003 bbb 8  004 ddd 9   004 eee 10  005 aa 11  006 bbb A列で重複する001は3行あり、重複しているデータは1行にまとめてB列のaaa、bbb、cccをつなげたいです。(わかりづらくてすみません) 例)     A      B 1  001  aaa・bbb・ccc 2  002   aa・bb 3  003  aaa・bbb というようにまとめたいです。 どのような方法がありますでしょうか? よろしくお願い致します。

  • エクセルVBAで重複する名前に(2)、(3)等をつける方法は?

    こんにちは。お世話になります。 以下のようなデータ(約1500件)があります。 データは分類と名称でソート済みです。 同じ分類のなかで同じ「名称」があった場合、B列の名称の直後に同一セル内で(2)や(3)を順に振っていくマクロを教えていただきたいのです。(1)は不要です。 下記の例では、ううう(2)、ううう(3)といった具合です。 よろしくお願いします。 A列 B列 C列 分類 名称 データ1 aaa あああ a aaa いいい b aaa ううう a aaa ううう a aaa ううう a aaa えええ b bbb かかか a bbb かかか a bbb ききき a bbb くくく b ccc さささ a ccc ししし b ccc すすす a ccc すすす a ccc すすす a ccc すすす a ccc せせせ a

  • エクセルの重複データの抽出(条件付)

    エクセルの以下のようなデータから3時間以上連続で出現しているデータを抽出してその行に色をつけるようなマクロを組みたいのですがそのような方法はないでしょうか。 A列   B列 6/1 3:00 AAA社 6/1 3:00 BBB社 6/1 3:00 CCC社 6/1 2:00 AAA社 6/1 2:00 CCC社 6/1 2:00 DDD社 6/1 1:00 AAA社 6/1 1:00 DDD社 6/1 1:00 EEE社 6/1 1:00 FFF社 6/1 1:00 GGG社 6/1 0:00 AAA社 6/1 0:00 BBB社 6/1 0:00 CCC社 6/1 0:00 DDD社 6/1 0:00 GGG社 6/1 0:00 HHH社 ・ ・ ・ A列は日時、B列は企業名です。 B列の企業名が3時間以上連続して出現している行を抽出して、その行(または企業名)に色をつけるか、または重複してる企業名の一覧表示をしたいです。 この例の場合、AAA社とDDD社になります。 (CCC社は3回出現してるけど、3時間連続していないので対象外。) 3時間以上連続して出現というのがポイントです。 データは2000行ほどで、24時間分です。 マクロ初心者でいろいろ検索してみたのですが、わからずすごく困っています。よろしくお願いします。

  • エクセルでA列に

    エクセルでA列に AAA  BBB   (前にスペースが1文字)   CCC  (前にスペースが2文字) とあった場合に、 スペースが1文字ならば1つ右の列に、2文字ならば2つ右の列に、 さらに、前のスペースをなくして A列  B列  C列 AAA      BBB           CCC という形に簡単にできる方法ってありますか?

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 A1~A4の4つのセルに以下のスペースが入った文字列が入っていた場合 A1|AAA A2|AAA BBB A3|AAA BBB CCC A4|AAA BBB CCC DDD    A   B   C   D  1|    AAA 2|AAA BBB 3|AAA BBB CCC 4|AAA BBB CCC DDD という具合にしたいのです。 条件は  ・セル内にスペースで区切られない文字列があった場合には、B列に入れる  ・それ以外はスペースで区切って、A列B列C列D列に入れる  ・文字数は3文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

  • XMLの特定のデータを書き込むには?

    下記のXMLファイルを読み込んで、 タグYYYのキーでKEY2を検索し、 子要素AAAの値のData2を書き換えるという処理を 作ろうとしてるのですが、 なかなか解決策が見つかりません。 よろしくお願い致します。 例: abc.xml <XXX> <YYY KKK="KEY1"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> <YYY KKK="KEY2"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> <YYY KKK="KEY3"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> </XXX>

  • ACCESSのレポートのついてです

    初心者でお恥ずかしい質問ですが、本当に悩んでいます。 どうか教えてください!! バージョンは2007です。 クエリで 以下の通り表示されているものを レポートで表示する方法についてです。 本社  AAA 本社  BBB 本社  CCC 本社  DDD 本社  EEE ア支店 FFF イ支店 GGG 以下続く ○表示したいレポート1   (担当)本社       (製品名)AAA             BBB             CCC             DDD             EEE ○レポート2   (担当)ア支店       (製品名)FFF             「以下余白」             (空白のセル)             (空白のセル)             (空白のセル)                 ○ 教えてください(1)   1ページに5件の製品名を表示できるをようにしたいです。   5件以下の場合は、空白のセルが表示されるようにしたいです             ○ 教えてください(2)    1~4件の表示の時、「以下余白」の文字を入れたいです 今の状況は、 レポート1  (担当)本社       (製品名)AAA             AAA             AAA             AAA             AAA です。 どうぞご指導ください!お願いします!!

  • excel ピボットテーブルについて

    お世話になります。 Excelのピボットテーブルについてですが、例えば下記のような感じのデータを 集計したいときに、行ラベルに「名前」を持って行き、列ラベルには「日付」を持って いったとしたときに、行ラベルはAAA、BBB、CCC、DDDではなく、AAAとBBB以外は その他でまとめたいとき(AAA、BBB、その他)、どう設定すればいいか悩んでいます。 ご存知の方がいらっしゃれば教えてください。ちなみにExcel2010を使用しています。 日付 名前 個数 4/1  AAA 1 4/1  BBB 1 4/2  CCC 1 4/2  DDD 2 4/2  AAA  3 4/3  CCC 1

専門家に質問してみよう