- ベストアンサー
エクセルのsheet間コピー(空間あり)について
エクセルのsheetをまたいでのコピーに苦戦しています。 ●例 sheet1 A,1に「1111」 B,1に「あいお」 A,2に「2222」 B,2に「空欄」 A,3に「空欄」 B,3に「かいこ」 A,4に「3333」 B,4に「空欄」 とあったデータを sheet2 A,1に「1111」、B,1に「あいお」、C,1に「2222」、D,1に「空欄」と、 A,2に「空欄」、B,2に「かいこ」、C,2に「3333」、D,2に「空欄」と コピー(自動転記)させ、それを下部へ「+」規則性をもってコピーさせたいのです。 ご指導のほどよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1の奇数行のA列、B列のデータをSheet2のA列、B列 Sheet1の偶数行のA列、B列のデータをSheet2のC列、D列 にそれぞれ移動させたいと言うことですか。 自分ならC列に =MOD(ROW(),2) の関数を必要な行数入力(コピー)して 奇数行に 1 偶数行に 0 が表示されるようにした後、C列にオートフィルタを掛けて 1 だけ、0 だけを表示させ、A列とB列を選択した後 [編集]→[ジャンプ]→「セル選択」→「可視セル」→[OK] として表示されているセルだけを選択し、コピーします。 C列に 1 が表示された範囲は Sheet2のA1に貼り付け C列に 0 が表示された範囲は Sheet2のC1に貼り付け(1行目のA1、B1セルもコピーされる) 不要なA1セルとB1セルのデータであるC1セルとD1セルを削除、上にシフト Sheet1のオートフィルタを解除してC列を削除 ですね。
その他の回答 (2)
- zap35
- ベストアンサー率44% (1383/3079)
別シートのA1の式 =OFFSET(Sheet1!$A$1,(ROW(A1)-1)*2+(COLUMN(A1)>2),MOD(COLUMN(A1)-1,2)) これを右方向、下方向にコピーします。 でも別シートの空白セルを参照すると「0」で表示されるので、それを回避するには =IF(LEN(OFFSET(Sheet1!$A$1,(ROW(A1)-1)*2+(COLUMN(A1)>2),MOD(COLUMN(A1)-1,2)))=0,"",OFFSET(Sheet1!$A$1,(ROW(A1)-1)*2+(COLUMN(A1)>2),MOD(COLUMN(A1)-1,2))) のように長い式になります
お礼
空欄部分の回避方法までご教授ありがとうございました。 これもやってみます。
- pbforce
- ベストアンサー率22% (379/1719)
この例の場合の規則性はなんですか?
お礼
そうですね。規則性については、もう少し調べて再度投稿します。 今後の質問の仕方のヒントになりました。 ありがとうございました。
お礼
私の説明不足を補っていただきましてありがとうございました。 参考になりました。ありがとうございました。