- ベストアンサー
エクセルデータを複数連番でコピーしたい
sheet2で A B 1 ='sheet1'!a1 ='sheet1'!b1 2 ='sheet1'!c1 3 ='sheet1'!a2 ='sheet1'!b2 4 ='sheet1'!c2 5 ='sheet1'!a3 ='sheet1'!b3 6 ='sheet1'!c3 このようなデータを下に連番でコピーしたいのです。 いろいろやってみたんですが、うまくいきません。 sheetがたくさんあるので、うまい方法があれば助かります。 どうかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
A1 → =INDIRECT("Sheet1!A"&(ROW()+1)/2) B1 → =INDIRECT("Sheet1!B"&(ROW()+1)/2) B2 → =INDIRECT("Sheet1!C"&ROW()/2) 上の式を入力後、 A1:B2を選択、コピーし、下へ必要なだけ貼り付け
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
シートの例(セル、列、行などを明示して)を質問に挙げて、シートにどんな番号を振りたいのか書くのが先だ。 うまく行かない式など質問に書くのは、最後に参考程度でよかろう。 ーー A列は1行とびで番号を振るのか(番号というよりデータ?) B列はB列とC列をZ字式に下方向に振る? ーー A列は、番号なら =IF(MOD(ROW()-1,2)=1,"",INT((ROW()-1)/2)+1) A列の値を採ってくるなら(ただしSheet2のデータ) =IF(MOD(ROW()-1,2)=1,"",INDEX(Sheet2!$A$1:$A$100,INT((ROW()-1)/2)+1)) ーー B列は 例データ Sheet4で データの例で A列 B列 a x b y c z d u e v ーー Sheet5のA1に =IF(MOD(ROW()-1,2)=1,INDEX(Sheet4!$B$1:$B$100,INT((ROW()-1)/2)+1,1),INDEX(Sheet4!$A$1:$A$100,INT((ROW()-1)/2)+1,1)) 式を下方向に複写 結果 Sheet5で a x b y c z d u e v こういうことか。質問だけからはなかなか主旨がわからない。 ーー 式が複雑になるので、できるならVBAなどでやるべきで、それだと考えかたは簡単だが。
お礼
中途半端な質問ですみませんでした。いろいろご高察いただいて感謝します。 なんとか、解決できて喜んでいます。 もっと具体的にデータなどを書き込んで質問すればよかったと後悔しています。 お世話になりありがとうございました。
- gyouda1114
- ベストアンサー率37% (499/1320)
sheet2の A1に #=Sheet1!A1 B1に #=Sheet1!B1 B2に #=Sheet1!C1 A1:B2を選択し、下方にオートフィル オートフィルでコピーされたセルすべてを選択 置換で 検索する文字列に# 置換後の文字列何もせず すべて置換
お礼
早速の回答ありがとうございました。 画像付きでわかりやすくしていただき感謝します。 質問をもっとていねいにすればよかったのですが、 ='0'!B1&" "&LEFT('0'!A1) このような入力があったので、'0'!B1のところがうまく累加しませんでした。 上の方の方法でうまく解決しました。 この#をつけて置換する方法は簡単で便利だと思いました。 別の場面でまた利用させてもらえると思います。 本当にありがとうございました。
お礼
早速のご回答ありがとうございました。お礼が遅くなり申し訳ありません。 実際のsheetは余分な書込みがあり、行や列は少しずれています。入力データも&で結んだ複数のものもあり、教えていただいた通り打ち込んだら#REF!が出て弱りました。 INDIRECTとROWの関数を調べて後ろの数字をいろいろ変更しやっと成功しました。 それにしても、うまく一度に並ぶので感動しました。今までは手作業で数字を変えていました。今回はデータが多くsheetの数も多いので思い切って相談した次第です。 本当に助かりました。ありがとうございました。