• 締切済み

エクセルの並べ替え

エクセルの並べ替えについて質問です。 今、手元に最寄駅と住所のデータがあります。 A駅 住所A B駅 住所B C駅 住所C のように、エクセルの1つの列に2つの情報が入っています。 それを下のように、 A駅     住所A B駅     住所B C駅     住所C A列に最寄駅、B列には住所としたいのですが、 手作業で1つずつ住所をB列にカット&ペーストしていかないとできませんか? データが3000件ぐらいあるので、 簡単に並べ替える方法があれば教えていただきたいです。

みんなの回答

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

並びに規則性があるならマクロで一発で行けますね。 たとえば、データがA列1行目からあって、お書きになった例のように、1行目が駅名、2行目が住所、3行目が空白行、と決まっているなら、B列に移動させるのは常に3行おきになるので Sub TEST() With ActiveSheet x = Cells(Rows.Count, "A").End(xlUp).Row '最終行取得 For i = 2 To x Step 3 'A列2行目から3行おきに .Cells(i, "A").Cut Destination:=Cells(i - 1, "B") 'B列の1行上に移動 Next i '繰り返し .Range("A1:A" & x).SpecialCells(xlCellTypeBlanks).EntireRow.Delete 'A列の空白行を削除 End With End Sub で、そうなります。 試すときは必ずオリジナルデータのコピーを取ってからにしてくださいね。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

一例です。 A列の奇数行に駅名、偶数行に住所とします。 (1)仮にB・C列のB1に=INDIRECT("a"&ROW(A1)*2-1)、C1に=INDIRECT("a"&ROW(A1)*2)として、B1:C1を選択して下方向にコピー (2)B・C列をコピー→形式を選択して貼り付け→値を選択→OK

回答No.1

データ⇒フィルタ⇒オートフィルタを設定します。 で、そのあとの『駅』を含むでフィルタをかけたら駅の一覧が出ます。 それをコピペして別のシートに貼り付ける。 今度は逆に『駅』を含まないフィルタをかけたら住所一覧が出ます。 それをコピペして以下同様。 これで求めてる物が得られますかね?

関連するQ&A

専門家に質問してみよう