- ベストアンサー
エクセルの計算式とコピー方法について御教示ください
- エクセルの計算式とコピー方法について、御教示ください。ワークシートが複数あり、計算データ量が増える可能性があるため、効率的な方法を知りたいです。
- 現在、複数のワークシートで計算式をコピーしていますがうまくいきません。データ量が増えるとますます困難になります。効果的な方法を教えてください。
- エクセルの計算式とコピーに関して相談です。計算データ量が多く、オートフィルでコピーしても問題が発生します。効率的な方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>計算させたいデータ量がかなりあり、オートフィルで計算式をコピーしても 少ない手数でコピー処理(オートフィル)したいという意味ですか。 A2に下記式を張り付け、下にオートフィルします。 =IF(INDIRECT("東京!A"&ROW(A2)*2-1)="",0,INDIRECT("東京!A"&ROW(A2)*2-1)+A1) A2を上にオートフィルしてエラーを発生させ、 A1の式の最後の +#REF! を +0 に直すとエラーが消えます。 なおA2の式の代わりに特殊なINDEXの式を使うこともできます。 =IF(INDEX(東京!A:A,ROW()*2-1)="",0,INDEX(東京!A:A,ROW()*2-1)+A1) また東京!A1="","0",のような"0"を使うのはやめましょう。 この0は文字の0で、数値の0ではありません。(左詰めで表示されます)
その他の回答 (4)
- KURUMITO
- ベストアンサー率42% (1835/4283)
ご質問の最初に示したことを式で表現すれば集計シートのA1セルには次の式を入力して下方にドラッグコピーすればよいでしょう。 =IF(ROW(A1)=1,東京!A1,INDIRECT("東京!A"&ROW(A1)*2-1)+OFFSET(A1,-1,0)) 現在入力されている式の場合でしたら次の式をA1セルに入力して下方にドラッグコピーします。 =IF(ROW(A1)=1,IF(東京!A1="","",東京!A1),IF(NDIRECT("東京!A"&ROW(A1)*2-1)="","",NDIRECT("東京!A"&ROW(A1)*2-1)+SUM(A$1:OFFSET(A1,-1,0))))
お礼
計算式を示していただき有難うございます。 数式の意味を理解してやってみようと思います。 有難うございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 「集計」SheetのA1セルに =IF(東京!A1="",0,東京!A1) A2セルに =IF(INDEX(東京!A:A,ROW()*2-1)="",0,INDEX(東京!A:A,ROW()*2-1)+A1) または =IF(OFFSET(東京!A$1,ROW(A1)*2,,1)="",0,OFFSET(東京!A$1,ROW(A1)*2,,1)+A1) という数式を入れ、A2セルをオートフィルで下へコピーではどうでしょうか? >ワークシートが”集計”、”東京”、”大阪”、、と複数あります。 とありますので、 同じ数式でSheetごとの集計を行いたい場合は 仮に「集計」SheetのC1セルに集計したいSheet名を入力するとします。 その場合、「集計」SheetのA1セルは =IF(INDIRECT(C1&"!A1")="",0,INDIRECT(C1&"!A1")) A2セルは =IF(INDEX(INDIRECT(C$1&"!A:A"),ROW()*2-1)="",0,INDEX(INDIRECT(C$1&"!A:A"),ROW()*2-1)+A1) または =IF(OFFSET(INDIRECT(C$1&"!A1"),ROW(A1)*2,,1)="",0,OFFSET(INDIRECT(C$1&"!A1"),ROW(A1)*2,,1)+A1) という数式を入れA2セルをオートフィルで下へコピー! これで「集計」SheetのC1セルのSheet名を変更すれば そのSheetの集計が表示されると思います。m(_ _)m
お礼
複雑な数式をよく理解してやってみます。 また、応用も示していただき本当に有難うございます。
- keithin
- ベストアンサー率66% (5278/7941)
集計のA列はまず空っぽにしておきます。 A1だけ他のセルと数式が違うので、 =IF(東京!A1="","",東京!A1) とします A2じゃなくA3に =IF(東京!A3="","",SUM(東京!A3,A1)) と記入します A3:A4の「2個のセル」を選択、下向けにオートフィルドラッグします ここまで間違えずに操作できていれば、A3,A5,A7…セルにそれぞれ数式が入ります。 次にA列を列選択 Ctrl+Gを押し 現れたダイアログでセル選択をクリック 現れたダイアログで空白セルにマークしてOK 空白の飛び飛びセルが選択されるので、その状態を崩さないように注意して右クリック、削除して上に詰めます 以上で、あなたが欲しかったその通りの数式が目的のセルにキチンと記入されます。 実は違うセルで違う事がしたくて、教わればできるだろうと思っていたときは、回答の手順をよく理解して応用してください。
お礼
丁寧に解説して頂き有難うございます。 数式の意味をよく理解してやってみようと思います。 有難うございました。
- bokerenjer
- ベストアンサー率28% (161/557)
indirect関数を使えばオートフィルが使えます。 http://www.kenzo30.com/ex_kisotyu/ex_ks_tyukyu9_9_5.htm
お礼
リンク有難うございます。 色々調べて理解、使用していきたいと思います。 有難うございました。
お礼
示して頂いた計算式を理解して試してみようと思います。 有難うございます。 また、"0"の指摘も有難うございました。 指摘が無ければ、今後もずっとこのままの理解・使用しているところでした。 気付きを与えて頂いたということで、ベストアンサーとさせていただきたいと思います。 有難うございました