- ベストアンサー
EXCEL関数教えてください。(ブック内を参照後合計)
巷には家計ソフトもありますが、EXCELで家計簿に挑戦しています。 シートが1月分から12月分と年合計の13枚あります。 各月シートのG列の任意の行にある「食費小計」と言う文字検索して、 その行のI列にある値の合計を年合計シートに入れるというものです。 '食費小計'でも検索条件の引数にしても出来なかった気がします。 1月分シートG41に「食費小計」と言う文字列を入れています。 =SUMIF('1月分:12月分'!G:G,'1月分'!G41,'1月分:12月分'!I:I) これは考えた関数ですがエラーでした。 SUMIF(範囲,検索条件,合計範囲)の使い方が間違っているのでしょうか。 このブック内のすべての「食費小計」と言う文字列を検索して、 その行のI列の値をすべて合計した値を年合計シートのあるセルに入れるという考え方でも方法があるのでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
残念ながらSUMIFは複数シートに渡る事は出来ません。 質問ですが、食費小計は各月のシートに複数ありますか? 複数あるようであれば、集計シートの空いた部分に SUMIFとINDIRECT関数を使用して一度各月の食費小計を書き出しては いかがでしょうか。 例) AA1~AA12に 1月~12月を入力し AB1~AB12に各月の結果を出力 AB1に =SUMIF(INDIRECT(AA1&"!G:I"),A1,INDIRECT(AA1&"!I:I")) これをAB12までコピーすると各月のシートから値を集計して 書き出しますので、食費小計の年計を SUM(AB1:AB12)とすれば 大丈夫です。 他にはピボットテーブルを使用して、範囲を複数シートにしても いいかと思います。 http://www.atmarkit.co.jp/fwin2k/win2ktips/407pivokushi/pivokushi.html ところで・・ >=SUMIF('1月分:12月分'!G:G,'1月分'!G41,'1月分:12月分'!I:I) ではなく =SUMIF('1月分:12月分'!G:I,'1月分'!G41,'1月分:12月分'!I:I) かと思います。
その他の回答 (3)
- p-applepie
- ベストアンサー率53% (156/290)
ごめんなさい #2です。 ちょっと間違ってました! =SUMIF(INDIRECT(AA1&"!G:I"),A1,INDIRECT(AA1&"!I:I")) のA1を "食費小計"と変更して下さい。 =SUMIF(INDIRECT(AA1&"!G:I"),"食費小計",INDIRECT(AA1&"!I:I")) またはG41に食費小計があるなら =SUMIF(INDIRECT(AA1&"!G:I"),G$41,INDIRECT(AA1&"!I:I")) でも大丈夫です。
お礼
わざわざ訂正をありがとうございます。 試してみます。
補足
遅れてすみません。 各月の食費項目は複数ありますが、その小計はひとつだけです。 ある月の食費小計のセルには =SUMIF(G:G,G15,I:I) を入れました。G:GをG:Iにしても同じだと思いましたが、エラーになりました。「食費」文字の入っているセルを代表して引数はG15にしてあります。 提案の例題を考えましたが理解できませんでした。 ピボットテーブルのURLも同様でした。 求めるものと程遠いのですが、以下の式(すべての月の食費小計を 合計したもの)を年合計シートにあるセルにとりあえず入れました。 =SUM('1月'!I45,'2月'!I32,'3月'!I37,'4月'!I51,'5月'!I59,'6月'!I112,'7月'!I115,'8月 '!I123,'9月 '!I117,'10月 '!I138,'11月'!I112,'12月'!I130) ありがとうございました。
- k_a_z
- ベストアンサー率20% (1/5)
ちょっと強引ですがVLOOKUPとSUMでできました。 年合計シートの食費小計ラベルの隣セルに下記の式を入れたらできました。 =SUM(VLOOKUP(G41,'1月'!G1:I15,3,FALSE),VLOOKUP(G41,'2月'!G1:I15,3,FALSE),VLOOKUP(G41,'3月'!G1:I15,3,FALSE),VLOOKUP(G41,'4月'!G1:I15,3,FALSE),VLOOKUP(G41,'5月'!G1:I15,3,FALSE),VLOOKUP(G41,'6月'!G1:I15,3,FALSE),VLOOKUP(G41,'7月'!G1:I15,3,FALSE),VLOOKUP(G41,'8月'!G1:I15,3,FALSE),VLOOKUP(G41,'9月'!G1:I15,3,FALSE),VLOOKUP(G41,'10月'!G1:I15,3,FALSE),VLOOKUP(G41,'11月'!G1:I15,3,FALSE),VLOOKUP(G41,'12月'!G1:I15,3,FALSE),)
お礼
翌日の返事になってすみません。 G41という固定したセルに各シートとも「食費小計」を配置いているわけではなく、たまたま、「1月分」ではG41ということでした。 各シートともG41になっていますが、 各月の「食費小計」セルをあてがえば長い計算式だけどできるということですね。12個のVLOOKUPをつなぎ合わせることで可能という提案をありがとうございました。
- k_a_z
- ベストアンサー率20% (1/5)
確認したい点があります。 G列の「食費小計」は1月から年合計まですべて同じセルにありますか? つまり串刺し演算は可能でしょうか?
お礼
説明不十分ですみません。 食費小計は各月とも、項目数に多少の違いがあります。 見易いように最後の品目の下に食費小計をもって来ています。 同じセルに小計を配置すると一番品目の多い月に合わせる事になり、 少ない品目の月はブランクが開きます。 スクロールしなくても見易いようにその月の最後の品目の下に食費小計を配置しました。
お礼
SUMIFは複数シートにまたがれると思っていました。 説明不足ですみません。 「食費小計」という文字を1月分シートにはG41にあり、この値はI41にあります。その月の小計と言う事で1個配置しています。 同様に2月シートでは文字がG57、値はI57。 3月シートでは文字がG63、値はI63。とい感じです。 INDIRECT関数とピボットテーブルの方法を試してみたいと思います。 時間がかかりそうなので、後で報告させてください。 またSUMIFの引数で、 ('1月分:12月分'!G:G,・・・G列にある「食費小計」文字を検索。 ('1月分:12月分'!G:I,・・・G,H,I列にある「食費小計」文字を検索。 ということでどちらも同じ結果になると思いますが、一度試してみたいと思います。ありがとうございました。