- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelで、セルと同じ名前のシート名の・・・)
Excelで関東の自動車の合計を求める方法
このQ&Aのポイント
- ExcelでSheet1のA5セルに関東という値があり、その隣のB5セルに名前が関東となっている別シートのX列の合計を算出する方法を教えてください。
- 現在は関東シートを参照して=SUMIF(関東.csv!S:X, "自動車", 関東.csv!X:X)という式で計算していますが、新しいシートを追加すると参照が#REF!になってしまいます。
- 毎月シートを入れ替える必要がありますので、より便利な方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
下記の式でA5に入力された値に相当するシート名の該当セルの値の合計が得られると思います。 A5 関東 B1 !S1:S100 B2 !X1:X100 B3 自動車 B5 =SUMIF(INDIRECT(A5&B1),B3,INDIRECT(A5&B2)) INDIRECT関数は()の中で指定されたアドレスに相当するセルの内容を参照する関数です。 例えば A5が”関東”であれば INDIRECT(A5&B1) は 関東!S1:S100 と言う意味になります。 と言うことはA5に任意のシート名、B3に条件(自動車など)を入れると、上記の式はそのシートの条件に合うセルの合計を計算することになります。
その他の回答 (1)
- river1
- ベストアンサー率46% (1254/2672)
回答No.1
=SUMIF(#REF!S:X,"自動車",#REF!X:X) となった原因は? 元となる前月の『関東』シートを削除したからです。 月名の入っていない計算表の雛型シートを作成して、雛型をコピーすれば解決なのでは?。
質問者
補足
実は別ファイルから『関東』その他100ほどのシートをこの計算ファイルにマクロで取り込んでいるのですが、計算シートを雛形とすると、マクロが壊れてしまうんです。 セル名からシートを指定できたら便利だなぁと思っていたので、出来なくて残念です。
お礼
ありがとうございます! INDIRECTは使ったことがなかったので、大変勉強になりました!! しかもこんなに丁寧に・・・。 とても分かりやすく、的を射ていましたので、ベストアンサーにさせていただきます。