• 締切済み

EXCELで縦から横への並び替え

ある集計結果を並び替えたいのですが、 001  AAA  1位 A店          2位 B店 002  BBB  1位 A店          2位 B店          3位 C店 という結果を 001  AAA  1位 A店   2位 B店 のように並び変えたいのですが、データが非常に多くて、手作業では 大変かと思うので、どなたか助けていただけないでしょうか? 宜しくお願いします。 AAA、BBBは品名で全ての店舗で販売してるわけではないです。 そのため、販売店舗(A店、B店・・・)が品によってバラバラです。  

みんなの回答

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

こんなんでどうでしょう? データバックアップ後自己責任で確認してください。 Sub Macro1()  Dim i, HinmeiNo, Runking  HinmeiNo = 0  i = 1  Do   If Cells(i, 1) <> "" Then    HinmeiNo = HinmeiNo + 1    Runking = 1    i = i + 1   Else    Runking = Runking + 1    Cells(HinmeiNo, 1 + Runking * 2) = Cells(i, 3)    Cells(HinmeiNo, 2 + Runking * 2) = Cells(i, 4)    Rows(i).Delete   End If  Loop Until Cells(i, 3) = "" End Sub

spain9
質問者

お礼

御礼が遅くなりました。 ありがとうございました。

関連するQ&A

  • Excel2002:複数条件のデータの個数の集計

    苦手な集計について質問させてください。 [A] [B] [1] AAA aaa [2] BBB bbb [3] AAA aaa [4] AAA bbb [5] BBB ccc 上記のようなデータで[A]と[B]のAND条件でみたときの個数を集計したいと思います。 例えば上記であれば、 [A]AAAかつ[B]aaa・・・2個 [A]BBBかつ[B]bbb・・・1個 [A]AAAかつ[B]bbb・・・1個 [A]BBBかつ[B]ccc・・・1個 になります。[B]のデータは[A]のデータに依存せず、[A]の各値にまたがっています。([B]bbbは[A]AAAと[A]BBBの場合があります) 実際のシートでは、全パターンを網羅したリストがA列とB列、集計対象がD列とE列にあります。 上記の例でいえば、以下のようになっています。 [A] [B] [C] [D] [E] [1] AAA aaa AAA aaa [2] AAA bbb BBB bbb [3] BBB bbb AAA aaa [4] BBB ccc AAA bbb [5] BBB ccc つまり[A]列と[B]列が組み合わせパターン、[D]列と[E]列が集計元データです。 ちなみにパターン数が414個、集計元データは29000個程度です。 そして最終的な各パターンの個数を[C]列に表示させたいと思います。 VLOOKUPやピボットテーブルを考えましたが、ピンと来ません。 適切なやり方を教えてください。よろしくお願いします。

  • 並び替えで教えて下さい。

    並べ替えで悩んでます。ご教授下さい。 下記のようなA、B、Cというフィールドがあり それぞれデータが入っているとします。 取得する際の並び替えですが、 A B C --------------------- aaa 1 6 bbb 1 5 ccc 1 4 aaa 2 4 bbb 2 6 ccc 2 5 ORDER BY Aとすると・・・ aaa 1 6 aaa 2 4 bbb 1 5 bbb 2 6 ccc 1 4 ccc 2 5 ORDER BY Bとすると・・・ aaa 1 6 bbb 1 5 ccc 1 4 aaa 2 4 bbb 2 6 ccc 2 5 ORDER BY Cとすると・・・ aaa 2 4 ccc 1 4 bbb 1 5 ccc 2 5 aaa 1 6 bbb 2 6 となります。 私がやりたいのは下記の順で並べ替えしたいのです。 ccc 1 4 ccc 2 5 bbb 1 5 bbb 2 6 aaa 1 6 aaa 2 4 つまりORDER BY B、Cの結果の1つ目のレコードの AでGROPE BYするような感じです。 方法をご教授頂きたいと思います。 よろしくお願いします。

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

    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 というようにまとめたいです。 どのような方法がありますでしょうか? よろしくお願い致します。

  • 行数ごとに検索をかけて並び替えをしたいのですが・・

    数千のファイル名が書かれたテキストファイルがあります。(Aとします。) /yyy/ccc.txt /aaa/aaa.txt /bbb/bbb.txt /sss/aaa.txt /ccc/bbb.txt /zzz/ccc.txt ・ ・ ・ ユニークファイル名だけ書かれたファイルがあります。(Bとします。) aaa.txt bbb.txt ccc.txt ・ ・ ・ Bの行数1行ずつAで検索をかけ、ファイル名を新しいファイル(Cとします)に書き出したいのです。 /aaa/aaa.txt /sss/aaa.txt /bbb/bbb.txt /ccc/bbb.txt /yyy/ccc.txt /zzz/ccc.txt ・ ・ ・ シェルを使ってやりたいのですが、どのようにすればいいのか見当もつきません。 どなたかお分かりのかたいましたら教えてください。よろしくおねがいします。

  • 抽出条件入力用テキストボックスが空白の場合の抽出条件

    SQL初心者です。 今あるテーブル(TABLE)に | VALUE_A | VALUE_B | VALUE_C | VALUE_D | ----------------------------------------- | 000 | AAA | AAA | AAA | | 001 | AAA | AAA | BBB | | 002 | AAA | BBB | AAA | | 003 | BBB | BBB | BBB | | 004 | BBB | BBB | NULL | のようなデータが入っているとします。 Web上から VALUE_B VALUE_C VALUE_D に対しそれぞれテキストボックス入力フィールドから値を入力し検索を行うようにしたいのです。 [VALUE_B]=AAA [VALUE_C]=AAA [VALUE_D]=AAA と入力されれば VALUE_A:000 を検索結果として出します。 [VALUE_B]=AAA [VALUE_D]=AAA と入力されれば VALUE_A:000 VALUE_A:002 を検索結果として出します。 [VALUE_B]=AAA だけが入力された場合は VALUE_A:001 VALUE_A:002 VALUE_A:003 を検索結果として出します。 つまり、フォームのテキストボックスに入力された条件で抽出し、入力が無い場合は全件抽出を行いたいのです。 この場合、どのようなSQLを組めばよいのかわかりません。ANDやORだけでは対応できないような気がします。Oracleを始めたばかりということもあり、どのような関数を使えばよいのかもわかりません。どなたかご教授いただけませんでしょうか??よろしくお願いします。

  • エクセルとアクセスについてお伺いします。

    エクセルとアクセスについてお伺いします。 エクセルのA列に AAA¥BBB¥001 AAA¥BBB¥002 AAA¥BBB¥003 DDDD¥EEE¥001 DDDD¥EEE¥002 DDDD¥EEE¥003 といったデータが続いているとします。 2つめの¥までのデータが同じものは同一とみなし、一番上のみ残して あとは消去するというマクロを作りました。 B列を作業セルその1とし、 =left(A1,FIND("¥",A1,FIND("¥",A1)+1)) の式で、AAA¥BBB¥を取り出し、 C列を作業セルその2とし、2行目から =if(B2=B1,2,1) の式で重複するデータの2つめ以降に「2」が立つようにして、 C列が2になる行を削除するというものです。 ただしエクセルだと65536件以上のデータには使えませんし、 なにより2000件を超えると計算が非常に遅くなり、 時によっては固まってしまいますから、 アクセスでの作業を考えているのですが、可能でしょうか。

  • Excelでお尋ねしたい事があります。

    エクセルのデータを下記のようにするのに 良い方法があれば教えて下さい。    A   B         A   B   C   D  1 AAA 100      1 AAA 100 101 102 2 AAA 101  ⇒   2 BBB 100 101 102 3 AAA 102      3 CCC 100 101 102 4 BBB 100      5 BBB 101 6 BBB 102 7 CCC 100 8 CCC 101 9 CCC 102 A列にある同一のデータを一行にして B列のデータを一行にした列に持っていく作業です。 現在は、A列にある同一データのB列をコピー。 行列を入れ替えて貼り付け。 B列が空いた所を行事削除しています。 このデータが何千とありまして… 延々とコピー、貼り付け、削除。 をしています。 何か良い方法があれば教えて下さい。 よろしくお願いします。

  • 横に並んだ各セルから数字を引張りたい

    A   B    C 1月度  aaa   500 2月度  aaa   600 3月度  aaa   700 1月度  bbb   450 2月度  bbb   550 3月度  bbb   650 例えば A列の「1月度」とB列の「aaa」の一致する行の「C列の数字」を引張りたいのですが・・・。 マッチさせるのは 同じ行の1列目、2列目です。 横・横で引張れますか?

  • エクセル、こんな場合はどのような関数式を立てればよいでしょうか?

     会社の部材部門に勤務していますが、毎月の生産予定が下記のように組まれているとして      A   B   C   D   E 1 商品  台数  品番 2製品1  80  AAA 3製品2 100  BBB 4製品3  50  AAA 5製品2 200  AAA 6製品4 150  CCC 7製品1  40  AAA 8製品5  60  AAA 9製品2 180  BBB   ↓   ↓        のような配列で作られていて、仕事の都合上から以下のように品番が切り替わるごとにC列品番をキーワードにD列に累計合計を表示させたいのです。同じ品番が連続したり、1行のみや、細かく切り替わったり、不規則です。      A   B   C   D   E  1 商品  台数  品番  累計  2製品1  80  AAA  80  3製品2 100  BBB 100  4製品3  50  AAA  50  5製品2 200  AAA 250  6製品4 150  CCC 150  7製品1  40  AAA  40  8製品5  60  AAA 100  9製品2 180  BBB 180 10製品6 400  BBB 580 11製品2 350  BBB 930  SUMIF関数,SUM関数をIF関数にネストして式を作るような気がしているのですが、単純に条件に合うものの合計ならSUMIF関数または集計機能で求められますが、品番が替わる地点で、条件に合う品番のそこからの累計を求め、表示させる式が導けません。=IF(AND(C2<>C3)(B2>0),SUMIF($C$2:C2,C2,$B$B2:B2))のような式を組みましたが、B2からのトータル累計が出て、思うようにいきませんでした。どなたか教えていただけないでしょうか?

  • エクセルの文字処理

    以前に同じ様な質問があったかも知れませんが、探しきれなかったので教えてください。 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文字固定ではなく全角半角が混在 以上です。すいません宜しく願いします。

専門家に質問してみよう