- ベストアンサー
エクセルのオートフィルで教えてください
sheet1のA列、B列、C列にデータが入っています。 Sheet2の表に参照でデータを入れたいと思っています。 Sheet2のB2に=Sheet1!A3 B3に=Sheet1!B3 B4に=Sheet1!C3 B5~B7は空欄にして B8に=Sheet1!A4 B9に=Sheet1!B4 B10に=Sheet1!C4 と連続して入力していきたいです。 B2~B7を選択してオートフィルを使ってみたのですが B8,B9,B10には、=Sheet1!A9、=Sheet1!B9、=Sheet1!C9が入ってしまいます。 B13まで手作業で入力して、そこからオートフィルをやってみましたが 空欄部分がカウントされてしまうのか上手くいきません。 エクセル初心者です。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
(1)、B2~B4の数式の=を#に書き換えて一旦文字列にする (2)、B2~B7を選択してフィルコピーする #Sheet1!A3 #Sheet1!B3 #Sheet1!C3 (空白) (空白) (空白) #Sheet1!A4 #Sheet1!B4 #Sheet1!C4 (空白) (空白) (空白) #Sheet1!A5 #Sheet1!B5 #Sheet1!C5 (3)、セル範囲が選択されて状態のまま、編集メニューの「置換」で = を # に、「すべて置換」する 以上の操作で、希望通りの参照式が入力できます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
#1のご回答がありますが 私の考えではオートフィルでは出来ないのでは。 B2->B3->B4と縦方向に式を複写しながら、望むものはA->B->Cと列の変化であるようだから。 だから関数のやり方にもどって =Incex(Sheet1!$A$1:$c$100,X,Y)を入れる。 X,Yは、Sheet2で式を入れるところのセルのRow(),Column()の数から、計算できるところの、規則性があるか(=式に出来るか) ーー それと塊(B3:B5)と塊(B8:B10)が変わると、参照行が3->4に変化すしている。 1つの塊は3セルで、 間(空白セル)は3セル と決まっているのか? その辺はっきり質問に書かないと、読者にはわからない。 ーーーー 行X部分は =IF(MOD(ROW()-2,6)>2,22,INT((ROW()-2)/6)+3) で A2:A16に 3 3 3 -- ー ー 4 4 4 ー ー ー 5 5 5 となった。 ーのセルは実は22と出るが、空白セルを指すために22に仮にしたもの。 空白のセルをD22として、下記と組み合わせてD22=空白を採るように仕組む。 ーー 列Yの部分は 式 =IF(MOD(ROW()-2,6)>2,3,MOD(ROW()-2,6))+1で 1 2 3 1 2 3 1 2 3 となった。空白のところは、本当は4が出るが、上記理由からで、4はD列を示す。 ーーーーーーーーーーーーー 例データ Sheet1 A3:C5 1 2 3 4 5 6 7 8 9 ・・・ ーーーー Sheet2のB2に =INDEX(Sheet1!$A$1:$C$100,IF(MOD(ROW()-2,6)>2,22,INT((ROW()-2)/6)+3),IF(MOD(ROW()-2,6)>2,3,MOD(ROW()-2,6))+1) と入れて下方向に式を複写 結果 B2:B17 1 2 3 0 0 0 4 5 6 0 0 0 7 8 9 0 0のセルがうまく行ってないが、長くなるのでとりあえず。
- piro19820122
- ベストアンサー率38% (256/672)
オートフィルはそんなに高度に賢くはないので、人間が手を入れて工夫をしてやる必要があります。 例えば、Sheet2で B2 =INDIRECT("Sheet1!A"&INT((ROW()+1)/3)+2) B3 =INDIRECT("Sheet1!B"&INT((ROW()+1)/3)+2) B4 =INDIRECT("Sheet1!C"&INT((ROW()+1)/3)+2) とそれぞれ入力したあと、オートフィルを使うと目的は達成されるかと思います。 式の意味は関数のヘルプを見て考えてみてください。
お礼
ありがとうございました。 やってみましたが、少しずれてしまいました。 私の質問の仕方が悪かったのかもしれません。 でも、式の意味を調べて次回、何かを作成する時の 参考にしたいと思います。
お礼
ありがとうございました。 出来ました!思った通りになりました! 明日、会社に行って仕上げます。