プロが教えるわが家の防犯対策術!

具体的には、現状A列に、


103-0001
東京都中央区日本橋茅場町1-1-1
(株)○○商事
山田 太郎
103-0002
東京都中央区日本橋茅場町2-2-2
(株)○○物産
山田 花子


という4行ごとのデータが400近く並んでいます。
これを、A列に郵便番号、B列に住所、C列に社名、D列に名前という風に並び替えたいのですが、1件ずつコピペするわけにもいかず、困っています。

どなたか、簡単な方法をご教示頂ければ幸いです。VBAは使用できませんが、簡単な関数なら指示通り使うことができます。私の検索方法がわるかったのか、同様の質問が見つけられませんでした。

よろしくお願いいたします。

A 回答 (6件)

A     B


1103-0001
2東京都中央区日本橋茅場町1-1-1
3(株)○○商事
4山田 太郎
5103-0002
6東京都中央区日本橋茅場町2-2-2
7(株)○○物産
8山田 花子
ここに列を挿入して、A列に1から400までの番号を入れる
データはB列からに移行させます。(セル列に空きがあれば、列挿入不要です。)
セル      関数式
C1:=IF(MOD($A1,4)=1,$A1,"-")
D1:=IF(MOD($A1,4)=1,$B1,"-")
E1: =IF(MOD($A2,4)=2,$B2,"-")
F1: =IF(MOD($A3,4)=3,$B3,"-")
G1: =IF(MOD($A4,4)=0,$B4,"-")

セルC1からG1の範囲のコピーを
コピー先をC2からC400までにして、貼り付ける
できあがった、C1からG400までの範囲をC列で並べ替えします。
これで、完成です。

できあがった、表は、全範囲コピーして、別の場所に
数値のみ貼り付けで、選択コピーして、移行させておいてください。
    • good
    • 0

>同様の質問が見つけられませんでした


良くあるパターンの質問と思うが。
変形するほうの第1行目の第1列目は、
郵便番号で
元データシートの(第1行ー1)*4+1を採ってくる=>1行目
住所は
元データシートの(第1行ー1)*4+2を採ってくる=>2行目
社名は
元データシートの(第1行ー1)*4+3を採ってくる=>3行目
以下略。
A1:D1のこの式を下方向に式複写すると
第1行は第2行に変化するから
郵便番号は(2-1)*4+1=>5行目
住所は(2-1)*4+2=>6行目
以下略
のようにとってこれる。
ーー
具体的には
Sheet2のA1に=INDEX(Sheet1!$A$1:$A$100,((ROW()-1)*4+COLUMN()))
と入れてD1まで横方向に式複写。
A1:D1を下方向に式複写。
    • good
    • 0

=OFFSET($A$1,(ROW(A1)-1)*4+COLUMN(A1)-1,)

    • good
    • 1

データがSheet1のA列に縦に並んでいるとして


別のシートのA1に
=INDEX(Sheet1!$A:$A,(ROW()-1)*4+COLUMN())
と入れて、右へコピィ、下へコピィしてみてください。
    • good
    • 1

元のデータが、A列でセルA1以下にあるとして


B1に、#A1
C1に、#A2
D1に、#A3
E1に、#A4

B2に、#A5
C2に、#A6
D2に、#A7
E2に、#A8
と入力
セル範囲、B1:E2を選択
選択枠の右下角の■を、下方へ必要行までドラッグしてドロップ
セル範囲が選択状態のまま、編集メニューの「置換」で
検索する文字列に、#
置換後の文字列に、=
として、「すべて置換」
セル範囲が選択状態のまま、Ctrl+Cでコピー
そのまま、「形式を選択して貼り付け」の「値」で貼り付け
A列は、不要なら削除してください。
    • good
    • 2

こちらの質問に似ていませんか?


http://okwave.jp/qa4339953.html
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!