- ベストアンサー
エクセルで二つの列を一つの列にコピー
A列とB列を、まとめてC列に以下のようにコピーしたいのですが。 C1にA1 C2にB1 C3にA2 C4にB2 C5にA3 C6にB3 ・・・ ・・・ C99にA50 C100にB50 一括して行う方法を教えて頂きたいのですが。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
C1に以下の式を入力して、下にコピーして下さい。 =INDIRECT(IF(MOD(ROW(A1),2)=0,"B","A")&CEILING(ROW(A1)/2,1)) A列B列との連携が必要ないなら、最後にコピー→値貼り付けを。 簡単に内容を説明すると、 IF(MOD(ROW(A1),2)=0,"B","A" 行数が奇数のときA列の値、偶数ならB列の値となるので、 AかBかを判別。 C1に対してA1、C6に対してB3ということで、C列の(行数/2)を 小数点以下切り上げたものがA・B列の行番号となるので、 CEILING(ROW(A1)/2,1) ↑で行番号とし、 INDIRECT関数で、セルアドレスとしています。
その他の回答 (4)
- pauNed
- ベストアンサー率74% (129/173)
こんにちは。No.4さんの式がスマートでわかり易くていいなぁって思います。 なので蛇足ですが、部分的にでも参考になれば。 C1=INDEX(A:B,INT((1+ROW())/2),2-MOD(ROW(),2)) もしくは C1=OFFSET(A1,-INT(ROW()/2),1-MOD(ROW(),2)) (C100までコピーですね)
お礼
ありがとうございます。
- mu2011
- ベストアンサー率38% (1910/4994)
次のセルを設定し、下方向にコピーで如何でしょうか。 C1に=INDIRECT("A"&ROUND(ROW()/2,0)) C2に=INDIRECT("B"&ROUND(ROW()/2,0))
お礼
ありがとうございます。
- redowl
- ベストアンサー率43% (2140/4926)
もっとエレガントな回答が有るかと思いますが・・・・ とりあえず セルD1 に下式を 入力し、 下方向にコピペ =INDEX(A:B,ROUNDUP(ROW()/2,0),IF(MOD(ROW(),2)=1,1,2)) D列に表示された値を いったんコピーし C列に 形式を選択して(「値」を指定)ペースト
お礼
ありがとうございます。
- toshi_2000
- ベストアンサー率30% (306/1002)
マクロを使用すれば可能です。
お礼
ありがとうございます。