• ベストアンサー

EXCEL関数教えてください。(ブック内を参照後合計)

巷には家計ソフトもありますが、EXCELで家計簿に挑戦しています。 シートが1月分から12月分と年合計の13枚あります。 各月シートのG列の任意の行にある「食費小計」と言う文字検索して、 その行のI列にある値の合計を年合計シートに入れるというものです。 '食費小計'でも検索条件の引数にしても出来なかった気がします。 1月分シートG41に「食費小計」と言う文字列を入れています。 =SUMIF('1月分:12月分'!G:G,'1月分'!G41,'1月分:12月分'!I:I) これは考えた関数ですがエラーでした。 SUMIF(範囲,検索条件,合計範囲)の使い方が間違っているのでしょうか。 このブック内のすべての「食費小計」と言う文字列を検索して、 その行のI列の値をすべて合計した値を年合計シートのあるセルに入れるという考え方でも方法があるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

残念ながら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) かと思います。

waveige
質問者

お礼

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列にある「食費小計」文字を検索。 ということでどちらも同じ結果になると思いますが、一度試してみたいと思います。ありがとうございました。

その他の回答 (3)

回答No.4

ごめんなさい #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")) でも大丈夫です。

waveige
質問者

お礼

わざわざ訂正をありがとうございます。 試してみます。

waveige
質問者

補足

遅れてすみません。 各月の食費項目は複数ありますが、その小計はひとつだけです。 ある月の食費小計のセルには =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)
回答No.2

ちょっと強引ですが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),)

waveige
質問者

お礼

翌日の返事になってすみません。 G41という固定したセルに各シートとも「食費小計」を配置いているわけではなく、たまたま、「1月分」ではG41ということでした。 各シートともG41になっていますが、 各月の「食費小計」セルをあてがえば長い計算式だけどできるということですね。12個のVLOOKUPをつなぎ合わせることで可能という提案をありがとうございました。

  • k_a_z
  • ベストアンサー率20% (1/5)
回答No.1

確認したい点があります。 G列の「食費小計」は1月から年合計まですべて同じセルにありますか? つまり串刺し演算は可能でしょうか?

waveige
質問者

お礼

説明不十分ですみません。 食費小計は各月とも、項目数に多少の違いがあります。 見易いように最後の品目の下に食費小計をもって来ています。 同じセルに小計を配置すると一番品目の多い月に合わせる事になり、 少ない品目の月はブランクが開きます。 スクロールしなくても見易いようにその月の最後の品目の下に食費小計を配置しました。

関連するQ&A

  • Excel関数

    五年計画で事業を進めています。 一ヶ月毎の進捗率を出したいです。 Sheet1に A列(項目) あ い う え お B列(数量) 10 20 30 40 50 C列(完了日) 2014/07/15 2014/07/22 2014/08/05 2014/08/06 2014/07/31 Sheet2に A列1行に 7月進捗の(10+20+50)/全体数*100 答え A列2行に 8月進捗の(30+40)/全体数*100 答え A列3行に 9月未定? 答え A列4行に 10月未定? 答え と進めたいがパーセントへの計算式は別として、Sheet2のA列1行に条件としてSheet1のC列7月分に完了した分だけを拾い合計しなさい!とし、同じくSheet2のA列2行にSheet1の8月分だけを拾い合計としたい。 現在SUMIFで考えていますが、範囲はSheet1のA列で合計範囲はSheet1のB列で検索条件はSheet1のC列ですが文字(みかん)や記号(★)なら出来ますが日付 2014/08/06とか言った様な場合がどの様にしたらわかりません。 この用紙だと列を横書きになってますがあくまで標準のExcelのシートで考えて下さい。 宜しくお願いします

  • Excel関数

    宜しくお願いいたします Excel2007を使用しています 自分で作った家計簿で、1から12月の詳細の合計を出したいのですが、関数を使い出来るでしょうか(SUMIF ??) 内容 F8:F100 に 電気代 ガス代等々書いてあります 書き込みセルはその月によりF4とかF10とか色々の場所です G8:G100 に 金額が入っています これが、Sheet1に1月 Sheet2に2月と12月まであります 例えば電気代の年間の合計を出したいのですが SUMIF('1月:12月'とか言うように書いていけば良いようですが、良く解りません 関数で出来るようでしたら、詳しい方法をお願いいたします。

  • Excelで経費帳簿をつけていますが簡単にできる演算を教えてください。

    Excelで経費帳簿をつけていますが簡単にできる演算を教えてください。 シート'1月分'からシート'12月分'まで12シートあります。 例えばシート'1月分'にはA30に日付、G30に 交通 という文字を入れ、I30に金額を書いています。 またA36に日付、G36に 交通 という文字を入れ、I36に金額を書いています。 ほかにもシート内にあります。 G84に 交通費小計 という文字を入れ、I84にその月の小計金額を書いています。 I84=SUMIF(G1:G75,"交通",I:I) G1からG75までのなかに 交通 という文字があれば、その当該のI列の金額のSUMを計算せよ という演算でうまくいっています。 小計金額のセルは各月のシートとも項目の数が異なるために統一したセルとしていません。 たとえばシート'1月分'ではI84、シート'2月分'ではI84、シート'3月分'ではI88、 シート'4月分'ではI79、という具合です。 各月の交通費小計を足したものを、まとめとしてシート'年合計'に入れます。 シート'年合計'の D29に 交通費計 という文字を入れ、F29に1月から12月までの交通費小計を足したもの入れています。 とりあえず、今のところ F29=='1月分'!I84+'2月分'!I84+'3月分'!I88+'4月分'!I79+'5月分'!I86+'6月分'!I81+'7月分'!I78+'8月分'!I78+'9月分'!I78+'10月分'!I77+'11月分'!I78+'12月分'!I106 でいちいち各月のシートを開けて足していっています。 それより、もっとうまい具合にできないものかと F29=SUMIF('1月分:12月分'!G:G,"交通費小計",'1月分:12月分'!I:I) の演算を入れましたが、#VALUE!とそのセルに表示され、うまく出来ません。 なぜでしょうか。 そんな感じで簡単にできる演算はないでしょうか。 エクセルは2003です。

  • エクセル関数SUMIFについて

    エクセル関数を良く使います。 今回行いたいのはJ28:J32の範囲の中でJ24より小さい値の行のI28:I32の合計の値というものです。 しかし、下記の様に入力すると「入力が正しくありません」と出てしまいます。 =SUMIF(J28:J32,<J4,I28:I32) 数式の場合は””で囲むとヘルプに出ているのですがそれだと<J24という文字として認識してしまうらしく、私の望むJ4より小さい値の行のI列の合計は出てきません。 この式の検索条件にセル番地とすうしくの組み合わせを入れてはいけないのでしょうか? 御存知の方教えて下さい。

  • 複数の条件での合計を出したいのです

    エクセルの関数を使い 条件セル E2の値 条件の検索範囲の列Dから抜き出し その行のG列-H列-I列(G列の空白の時の値)の合計を出したい つまり E2=2の時 D列   G列 H列 I列 1行 1 2 2 2行 2 3 1 1 3行 2 2 2 答えは 3-1-2-2 こんな事を実現したいのですが 頭がグルグルしてしまってます ご指南ください。

  • 【Excel】 別のSheetの値を参照したい。

    Sheet1の A1に年 A2~A13に月 A14に翌年 A15~月・・・と続きます。 また、 B列に各月の値 があります。 Sheet2の A1に、Sheet1 B列の2008年の1月の値 A21に、Sheet1 B列の2008年の2月の値 A41に、Sheet1 B列の2008年の3月の値 ・・・を表示させていたのですが、 Sheet1の月と行間が違うため、 1~20行のコピーでは、2月以降の値が参照できません。 このような場合A列の式はどのようになるでしょうか。 単にセル位置を指定し参照するのではなく、 「2008年の1月の値」を表示したいと言うことです。 SUMIFなのかなぁ‥とも思うのですが、具体的な方法が分かりません。 Sheet1のA列の月は、 「1」「2」「3」と入力されているだけです。 シリアル値にしないといけないでしょうか。 また、その方法はどうしたら良いのでしょうか。 Excel2003です。 よろしくお願いいたします。

  • Excelですが関数式を教えて下さい。

    Sheet1に下記の表があり、Sheet2では氏名順不同でSheet1のB列,C列と小計。D列,E列の小計,合計の表にしたいのです。理屈は簡単そうですが素人でわかりません。何か良い方法があれば教えて下さい。 Sheet1   A   B   C   D    E   F      1     (1)  (2)  (3)  (4)  合計 2 小泉  25  25  23  24   97 3 福田  23  24  20  22   89 4 阿部  24  22  19  25   90 Sheet2  (1)  (2) 合計 1 阿部  46  44  90 2 麻生   ・  ・  ・ 3 ・

  • Excel関数 別シート参照現シートに合計値を表示

    お世話になっております。 Excel関数について質問させてください。 まず私の環境にExcelが入っておらず、OpenOfficeの3.3を代用しております。 カテ違いでしたらごめんなさい・・・。 【質問】 Sheet1のリスト(A列とする)に存在する文字列を Sheet2の複数列(D列、F列、H列)に一致する文字列毎の数値(E列、G列、I列)の合計を Sheet1の列(B列とする)に表示したい 【データ例】 ○Sheet1  A列 B列  A   3  B   10  C   6  D   0 ○Sheet2  D列 E列 F列 G列 H列 I列  A   1   G  0   A  1  C   2   H  2   B  2  B   3   A  1   C  4  E   4   B  5   E   5 【試した事】 まず一辺には無理だと思い、 Sheet1のB列に以下の関数を入れてみました =IF('Sheet2'.D1=A1;"a";"b") これで一見判定が出来てる風だったのですが、 Sheet1のB1列に"a"と出て、他全て"b"と出ました。 恐らく、順不同で比較項目が並んでいる所為だと思いますが、 この並び順を変更するわけにはいかず・・・。 そもそも、文字型と数値型が一つの関数に指定出来るのかも不明で・・・。 どなたかわかる方、ご教授お願いいたします。 わかりにくい例ですみません。 【補足】 私の個人的見解として、関数で出来る気がしないのですが、どうなんでしょう・・・? もし、関数で無理ならVBかJavaでゴリゴリ組みます。

  • エクセルで同一シート内にある特定文字の右隣のセルの値を合計する方法はあ

    エクセルで同一シート内にある特定文字の右隣のセルの値を合計する方法はありませんか? シート内に散らばって表示されている特定文字列の右隣の値を合計したいのです。 位置的にランダムなのでSUMIFではうまく指定できませんでした。 よろしくお願いします。

  • VBAでSUMIF関数を繰り返す

    VBA初心者です。よろしくお願いします。 Book1のSheet1のA2の値を検索条件とし、Book2のsheet1のA列を検索し、条件に合った行のC列の合計値を取得するとします。出力先はBOOK1のA2と同じ行、C2です。 これだけであれば、sumif関数で処理できるのですが、 Book1のA列の最終行までこの処理を繰り返さなければなりません。 また、毎月、Book1,2ともに最終行が変化します。 上記を簡単に書くと以下になります。 ■Book1のsheet1    A   B   C 1  101  リンゴ (ここにBook2の合計値を出力したい) 2  202  レモン (ここにBook2の合計値を出力したい) 3  510   柿   (ここにBook2の合計値を出力したい) ■Book2のsheet1    A   B    C 1  202  レモン  10 2  202  レモン  30 3  101  リンゴ  200 4  707  ブドウ  50 5  101  リンゴ  70 6  510   柿   100 上記処理をsumif関数、forを使って作成してますが、どうもうまくいきません。 申し訳ございませんがよろしくお願いします。 環境は、Windows7、Office2010 です。

専門家に質問してみよう