• ベストアンサー

エクセルの複数列データを一列に並び変える方法につい

imogasiの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

これはVBA向きの課題だと思う。 すでにVBAでの回答も出ていますが、「コード行数を少なくする」ことを目指して、やってみた。 ーー 標準モジュールに Sub test01() k = 30 '結果を30行目から書き出しと仮定 For Each c In Array(1, 6, 11) 'A,F,K列(から4列)について lr = Cells(100000, c).End(xlUp).Row '最下データ行を察知 For r = 1 To lr '各ブロックの1行からlr行までについて For j = 1 To 4 '各ブロックは4列なので横方向に4回繰り返し Cells(k, j) = Cells(r, c + j - 1) Next j k = k + 1 '次は1行下へ書き出し Next r Next End Sub 結果 A30から下へ(多少、質問データと異なるかも) 1 2 3 4 4 5 6 7 8 9 10 11 12 13 14 15 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 100 101 102 103 104 105 106 107 108 109 110 111

関連するQ&A

  • 複数列を一列にする方法

    Excelで複数列に渡るデータを1列にまとめたいのですが、カット&ペースト以外によい方法はありませんでしょうか。 例えば表にあるセルA1-A10、B1-B10、C1-C10、D1-D10、E1-E10のデータを F列のF1から下へ一列に並べるといった感じです。 A1-A10→F1-F10 B1-B10→F11-F20 C1-C10→F21-F30 D1-D10→F31-F40 E1-E10→F41-F50 よろしくお願いします。

  • エクセルで3列に分かれているデータを並べ替えたい

    エクセルで3列に分かれているデータを並べ替えたいです。 場所(1) A 3 D 0 G 2 B 0 E 1 H 1 C 2 F 0 I 0 : 場所(2) J 0 M 1 P 2 K 1 N 1 Q 3 L 1 O 0 R 0 : (アルファベット:物、数字:回数) 同様に場所(3)までが同じシート内に入っています。 列は全て3列、行は場所によって異なります。 それぞれの場所ごとに、他のシートや列に移し変えずに そのまま並べ替えたいのですがどうしたらいいでしょうか。 初心者で質問が分かりにくかったらすみません。

  • エクセルデータの改列の方法について

    エクセルデータの改列の方法について エクセルデータでA列のセルに以下のように「aaa」と「スペース」で区切られた数列のグループを、 ___A__B__ 1|aaa|1 2|465|2 3|231|3 4|124|4 5|221|5 6|・ 7|・  ・(数は不明) ・ 10|3|84 11|スペース 12|aaa|1 13|556|2 14|245|3 15|111|4 16|232|5 17|・ 18|・ ・(数は不明) ・ 28|2|78 29|スペース 30|aaa|1 31|255|2 ・ ・ 以下のようにaaaを頭とする複数の列に分割するにはどうしたらいいでしょうか。 ___A__B__C__D・・・ 1|aaa|__|aaa|__・・・ 2|465|1|556|1・・ 3|231|2|245|2・・ 4|124|3|111|3・・ 5|221|4|232|4・・・ 6| ・ 7| ・ 各ファイル50ブロックの数字の列があり、更にファイルも100以上ありますので、 贅沢ですが、できれば作業が少ない方が。。と思っています。 どなたか教えていただけたら幸いです。 よろしくお願いします。

  • エクセルのデータ並び替え

    列(A)に1000個あるデータを、4列X250行に自動的に並び替える方法はありますか? つまり A   A B C D B   E F G H C ⇒ I J K L D   M N O P E   ・ ・ ・ ・ ・ ・ ・ と、並べかえたいのですが、いい方法はありませんでしょうか?

  • エクセルで2列のデータを1列にする方法について質問です

    エクセルで2列のデータを1列にする方法について質問です エクセルで2列のデータを1列のデータにするときに A B 1 a 2 b 3 c   4 d 5 e ↓ A B a 1 b 2 c 3 d 4 e 5 となるようにするにはどうすればいいでしょうか?

  • エクセルの列から行へコピーするBVA教えて下さい

    エクセルのVBA(マクロ)について、素人なので教えてください。 下記のようなデータ変換を行がある限り変換するVBAマクロです 列1列2列3列4列5列6列7列8 社員1 A B C D E F G H 社員2 H I J K 社員3 L M 社員4 O P Q R ↓   列1列2 社員1 A B 社員1 C D 社員1 E F 社員1 G H 社員2 H I 社員2 I J 社員3 L M 社員4 O P 社員4 Q R 違うエクセルシートへ行がある限り、コピーを繰り返す。 BVAの解説付きだと助かります

  • エクセル:複数列のデーターの単列化について教えて下さい。

    皆さん教えて下さい。 現在作業をしていまして、excelデータで住所を記載している欄で「A列に○○県」、「B列に○○市」、「C列に○○町」と複数列に分割して住所を入れています。それを、「A列の一列ですべて表示したい」のですが、これをEXCEL機能でできる方法はありませんか? 教えて下さい。 すいません。急いでいます。よろしくお願いいたします。

  • MS-excel 10列毎に改行したい

    MS-excel2003で、A1~W1までデータが横並びに入力されています。 これを10列毎に改行したいのですが、マクロでどのようにやればよいでしょうか? 図解すると、、 A1 B1 C1 D1 F1 G1 H1・・・・ のデータを A1 B1 C1 D1 F1 G1 H1 I1 J1 K1 L1 M1 N1 O1 P1 Q1 R1 S1 T1 U1 V1 W1・・・・・・ と したいのです。 これをマクロで行いたいのですが、ご教授願えませんか。

  • エクセルの使い方についてお教えください。

    エクセルの使い方についてお教えください。 例えば、 a | b | f c | g | j d | h | k | m e | i | l | n | o | のように、右肩下がりになっている列を、 a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | のように一列にまとめる方法は無いでしょうか? 何卒よろしくお願いいたします。

  • エクセルデータの並び替え

    A列に 1 2 3 4 5 6 7 ・・・・・ B列に a b c d e f g h i j k l ・・・・ と文字列があります。 これを C列に 5つずつデータをセットにして並べたいのです。 A列    B列           C列 1     a      1 a   2 b  3 c  4 d  5 e 2     b      6 f   7 g  8 h  9 i  10 j 3     c      11 k  12 l  13 m  14 n  15 o 4     d      16 p   17 q  18 r  19 s  20 t 5     e      以下同じように続く 6     f 7     g 8     h 9     i 10     j 11     k 実際のC列のデータは トマト tomato  ネコ cat   机 desk  いす chair  かばん  bag  のようにしたいのです。 関数の扱いがわからずに苦戦しています。どうぞ、よろしくお願いします。