住所データを整理しているのですが、例えば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列)会社名
というように並べ替えたいのですが、どのようにすれば良いでしょうか?
データが多く、とてもコピペでは対応できそうにありません。
試してみたところ、以下のような方法でも可能です。
※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 のように変更ください。
※補足です。
上記の算式を使う場合には、エクセルの一行目から使う必要があります。
データがあるシートを 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
やってみたのですが、うまくいきません。
VBAの知識がないので、もっと簡単な方法が良いのですが・・・
試してみたところ、以下のような方法でも可能です。
※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 のように変更ください。
※補足です。
上記の算式を使う場合には、エクセルの一行目から使う必要があります。
この方法が初心者の私には一番簡単でした。
助かりました。ありがとうございます。
Excelなんですかね。
A列を選択してコピー。
空いてる列または新しいシートの
貼り付けたい場所で右クリックして、[形式を指定してコピー]とかそんなんをクリック。
[行と列を変える]旨の項目があると思うので、それをクリック。
それで解決できそうですが。
やってみたのですが、「コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません」というメッセージが出てしまいます・・・
この方法が初心者の私には一番簡単でした。
助かりました。ありがとうございます。