[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセルの複数列のデータをA列のデータの最下行に追加したい』(どびー)
A列に名前、B列に年齢、C列に名前、D列に年齢、E列に名前、F列に年齢・・・とDR列まで入ったデータが行くらいあります。
これをA列とB列に入っているデータの最下行にB列C列、その下にD列E列のデータをと、どんどん最下行にコピペしたいのです。
B列のデータをA列のデータの最下行に転記はできたのですが2列ごと転記していくことができないのです。ご教授いただけないでしょうか?
A列 B列 C列 D列 E列 F列
山田 22 田村 20 鈴木 28
↓
山田 22
田村 20
鈴木 28
このような結果にしたいです。
よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sub test() Dim i As Long
For i = 3 To Cells(1, Columns.Count).End(xlToLeft).Column Step 2 Range(Cells(1, i), Cells(1, i + 1)).Copy Cells((i + 1) / 2, "A") Next i End Sub (???) 2019/03/22(金) 15:48
どこかのセルに
=INDIRECT("r1c"&(ROW(A1)-1)*2+COLUMN(A1),FALSE)
右隣にコピー 両セルをフィル (seiya ) 2019/03/22(金) 16:29
A列 B列 C列 D列 E列 F列
山田 22 田村 20 鈴木 28
↓
A列 B列
山田 22
田村 20
鈴木 28
というような結果にしたいのです。
よろしくお願いします。
(どびー) 2019/03/22(金) 17:10
A2 =INDIRECT("r1c"&(ROW()-1)*2+COLUMN(),FALSE) B2にコピー A2:B2をフィルダウン (seiya ) 2019/03/22(金) 17:20
A2: =IFERROR(INDEX($A$1:$DR$1,ROW(A1)*2-(COLUMN(A1)=1)),"")
右と下にコピーです。
(メジロ) 2019/03/23(土) 09:00
INDEX(行,列)の行と列をコントロールする必要があります。
次の式でいけると思いますが、常に処理対象列がDR列までということが前提です。
=IFERROR(INDEX(Sheet1!$A$1:$DR$60,INT((ROW(A1)*2-1)/122)+1,MOD((ROW(A1)*2-1),122)+(COLUMN(A1)=2)),"")
(メジロ) 2019/03/23(土) 15:16
山田 22 田村 20 鈴木 28
今井 8 田中 25 山崎 23
杉本 17 山中 52 田上 7
山元 9 木本 2 西野 1
↓
A列 B列
山田 22
今井 8
杉本 17
山元 9
田村 20
田中 25
山中 52
木本 2
鈴木 28
山崎 23
田上 7
西野 1
というような結果にしたいです。空白の列もありますが、結果空白になっても、空白のみクリアできれば問題はありません。
(どびー) 2019/03/23(土) 20:43
1,2,3,4と繰り返すには、、 =IF(MOD(ROW(A1),4),MOD(ROW(A1),4),4)
4行毎に 2 増やすのは、 =INT((ROW(A1)-1)/4)*2+1
その隣だから、 =INT((ROW(A1)-1)/4)*2+1+1
以上をINDEXに組み込むと、、
1 1 2 2 1 2 3 1 2 4 1 2 1 3 4 2 3 4 3 3 4 4 3 4 1 5 6 2 5 6 3 5 6 4 5 6 1 7 8 2 7 8 3 7 8 4 7 8 1 9 10
=INDEX($A$1:$F$4,IF(MOD(ROW(A1),4),MOD(ROW(A1),4),4),INT((ROW(A1)-1)/4)*2+ 1) 山田 22 =INDEX($A$1:$F$4,IF(MOD(ROW(B1),4),MOD(ROW(B1),4),4),INT((ROW(A1)-1)/4)*2+1+1) 今井 8 杉本 17 山元 9 田村 20 田中 25 山中 52 木本 2 鈴木 28 山崎 23 田上 7 西野 1 (SoulMan) 2019/03/23(土) 21:51
INDEX関数に組み込む前にご希望の通りに行列番号が変化する様に調整してから組み込まれてはいかがですか? ↑の例は4行毎にしてますけど、、そこを応用されてみてはどうでしょうか? (SoulMan) 2019/03/23(土) 22:54
前提
1.データの範囲:A1:DR60
2.並び変える範囲:同じシートの A61:B61 以下
A61: =IFERROR(INDEX($A$1:$DR$60,MOD(ROW(A1)-1,60)+1,INT((ROW(A1)-1)/60)*2+1+(COLUMN(A1)=2)),"")
この式を右と下にコピーします。
(メジロ) 2019/03/24(日) 09:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.