ひとつの列に入力されたデータを複数の列に分割したい。


住所データを整理しているのですが、例えばA列に

(A1)〒123-4567
(A2)東京都千代田区1-2-3
(A3)XYZビル
(A4)イロハ株式会社
(A5)〒123-4567
(A6)東京都千代田区4-5-6
(A7)ABCビル
(A8)ニホヘ株式会社

と続くデータを、タックシールを作るために

A列)郵便番号
B列)住所
C列)ビル名
D列)会社名

というように並べ替えたいのですが、どのようにすれば良いでしょうか?

データが多く、とてもコピペでは対応できそうにありません。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/09/09 04:53:36
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:hysr No.2

回答回数86ベストアンサー獲得回数19

ポイント100pt

試してみたところ、以下のような方法でも可能です。

※VBAが分かるのであれば、takntさんの回答の方が良いと思います。


郵便番号を表示したいセルには、 =OFFSET($A$1,4*(ROW()-1),0)

住所名を表示したいセルには   =OFFSET($A$1,4*(ROW()-1)+1,0)   

ビル名を表示したいセルには、  =OFFSET($A$1,4*(ROW()-1)+2,0)

会社名を表示したいセルには、  =OFFSET($A$1,4*(ROW()-1)+3,0)

を入れてください。これで表示されるはずです。

また、別シートに表示する場合は、$A$1 の箇所を シート名!$A$1 のように変更ください。

※補足です。

  上記の算式を使う場合には、エクセルの一行目から使う必要があります。

id:bambyseto

この方法が初心者の私には一番簡単でした。

助かりました。ありがとうございます。

2011/09/09 04:52:47

その他の回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント10pt

データがあるシートを Sheet1 として そのシートに 以下のVBAのソースを記述します。

で 実行すると Sheet2に 出来上がります。


Sub jiko()

b = 1
c = 1
For a = 1 To Range("A1").End(xlDown).Row
    Worksheets("Sheet2").Cells(c, b) = Worksheets("Sheet1").Cells(a, "A")
    b = b + 1
    If b > 4 Then
        b = 1
        c = c + 1
    End If
Next a

End Sub
id:bambyseto

やってみたのですが、うまくいきません。

VBAの知識がないので、もっと簡単な方法が良いのですが・・・

2011/09/09 04:51:05
id:hysr No.2

回答回数86ベストアンサー獲得回数19ここでベストアンサー

ポイント100pt

試してみたところ、以下のような方法でも可能です。

※VBAが分かるのであれば、takntさんの回答の方が良いと思います。


郵便番号を表示したいセルには、 =OFFSET($A$1,4*(ROW()-1),0)

住所名を表示したいセルには   =OFFSET($A$1,4*(ROW()-1)+1,0)   

ビル名を表示したいセルには、  =OFFSET($A$1,4*(ROW()-1)+2,0)

会社名を表示したいセルには、  =OFFSET($A$1,4*(ROW()-1)+3,0)

を入れてください。これで表示されるはずです。

また、別シートに表示する場合は、$A$1 の箇所を シート名!$A$1 のように変更ください。

※補足です。

  上記の算式を使う場合には、エクセルの一行目から使う必要があります。

id:bambyseto

この方法が初心者の私には一番簡単でした。

助かりました。ありがとうございます。

2011/09/09 04:52:47
id:char_aka No.3

回答回数3ベストアンサー獲得回数1

Excelなんですかね。

A列を選択してコピー。

空いてる列または新しいシートの

貼り付けたい場所で右クリックして、[形式を指定してコピー]とかそんなんをクリック。

[行と列を変える]旨の項目があると思うので、それをクリック。

それで解決できそうですが。

id:bambyseto

やってみたのですが、「コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません」というメッセージが出てしまいます・・・

2011/09/09 04:31:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません