• ベストアンサー

対象の年月の数値を選び出して合計したい

下記のようなセルがあるとします。 A1から縦に年月日、B1から縦に数値が入ってます。  A             B       C 2003年1月12日  19278       2003年1月13日   23343 2003年1月14日  12222 2003年1月16日  34632 2003年1月18日  33335   :   : 2008年6月10日  98756 2008年6月11日  59478 2008年6月12日  14218   :   : 上記より、例えば2007年8月の合計をC1に求めたいとき、C1に入れる関数式が判りません。 力技で、sum(A●●:A○○)の様に、●●に月始め、○○に月の終わりのセル値を書けば出来るのは判りますが、全ての月毎に合計を求めたいので大変な作業になります。 実際には16年分やらないといけないので。。(汗 出来れば応用として、年毎の合計も出したいです。 ご教授よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

#2のmerlionXXです。 > 何故か#VALUE!と表示されてしまいます。 セルの書式設定とは関係ないでしょう。 データ範囲内のA列かB列に文字列が入っているのではないでしょうか? =COUNT(A:A) A列の数値セル合計 =COUNTA(A:A) A列の空白以外のセル合計 この値が違っていれば文字列があります。B列も同様に調べてみてください。

ya_su_shi_
質問者

お礼

ご指摘通りでした。B列に空白があり、そこに0を入れることで計算できました。 ありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

C1=SUMPRODUCT((TEXT(A1:A10,"yyyymm")="200708")*B1:B10)

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 A列はシリアル値としています。 月の集計は、=SUMPRODUCT((TEXT(A1:A100,"yyyy/mm")="2007/08")*(B1:B100)) 年の集計は、=SUMPRODUCT((TEXT(A1:A100,"yyyy")="2007")*(B1:B100))

ya_su_shi_
質問者

お礼

B列に空白のセルがあり、そこに0を入れたら計算できました。 ありがとうございました。

ya_su_shi_
質問者

補足

A列はシリアル値としています、との事ですが、セルの書式設定を仮に「数値」とかに変更すると36558のような数字になる状態で、実際には「日付」を選んでる状態なのですが、これでOKなのでしょうか? #VALUE!が出てしまいます。。

全文を見る
すると、全ての回答が全文表示されます。
回答No.3

A列が日付で並んでいるとして、月の変わり目でC列に小計が出る式 C2: =if(month(A2)<>month(A3),sum(B$1:B2)-sum(C$1:C1),"") 下にガ~ッとドラッグね。年ごとの集計も応用は簡単。month関数が year関数になるだけ。

ya_su_shi_
質問者

補足

すばらしいアイデアありがとうございました。 式を見るとなるほど~って感じ何ですが、計算結果が出てくれません。。 やっぱり日付データがシリアル値?なのが原因でしょうか。。

全文を見る
すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

仮にデータの範囲が1~10000行だとしたら 2008年8月の合計 =SUMPRODUCT((YEAR(A1:A10000)=2008)*(MONTH(A1:A10000)=8)*B1:B10000) 2008年の合計 =SUMPRODUCT((YEAR(A1:A10000)=2008)*B1:B10000)

ya_su_shi_
質問者

補足

なるほど!っと思って早速実行してみました。 が、、何故か#VALUE!と表示されてしまいます。 日付のA列には2008/01/01の様に入力していて、実際の表示は2008年1月1日となるようにセルの書式設定で「日付」を選んでます。 何かこのあたりが原因でしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.1

「集計」で行うのはいかがですか。 ◎手順 1)タイトル行を付けます。1行目に空白行を挿入して   A1=「日付」 B1=「数値」 C1=「年月」 2)年月を入れる。C2=Year(A2) & "年" & Month(A2) & "月"   C2セルを下までコピー。 3)A1セルにカーソルを合わせ、   [データ]→[集計]→   グループの基準:年月、集計の方法:合計、集計するフィールド:数値のみチェック   現在の集計と置き換える:チェックなし   グループごとに改ページを挿入する:チェックなし   集計行をデータの下に挿入する:チェックなし   [OK]をクリック。 年ごとの集計はD列を「年」の列にして D2=Year(A2) & "年"として 以下同様の感じでできると思います。 どうしても関数でやりたいのであれば、たぶんVBAで関数を定義しなければならないと 思います。その方法を採りたいのであれば、その旨、補足して下さい。

ya_su_shi_
質問者

お礼

早速の回答ありがとうございました。 VBAは苦手ですがなんとか関数だけでできないものでしょうか。。 もう少しやってみて、ダメなら集計でやってみようと思います。 ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 指定した年月のデータを合計

    年月日(A列)   製品(B列)   金額(C列) 2012/2/1      A        10 2013/5/25     B         20 2012/3/2      C         30 2012/3/16      C         40   (セルE1)に2012とか2013/5とか手動で入力すると(セルE2)に合計額が出るようにしたいです     2012→80 2013→20 2013/5→20 2012/3→70 セルE1に入れるべき関数をお教えくださいませ。

  • エクセル2003 #N/A含む複数シート数値合計

    複数のワークシートの数値の合計がうまく出ません。 A,B,C,Dという名前のシートのセルA2の数値の合計を 「集計」というシートのセルA3に出したいのですが (ちなみにA,B,C,DシートのセルA2にはvlookup関数がはいってます) 例えばシートBのセルA2の表示が#N/Aだと sum、sumif関数で合計を出そうとしても 「集計」シートのセルA3には#valueと出てしまいます。 うまく#N/Aをのぞいて数値の合計値を出す方法はありますか?

  • excelで合計日数の出し方を教えて下さい。

    はじめまして、 今まではdatedifを使って日数を求めることができました。 この場合 例、セルa1に開始日とb1終了日を入れればc1に合計日数が計算されました。 そこで新たにセルごとに年、月、日を入力して同じように合計日数が計算されるようにしたいのです。 例、セルa1に年(2009)、a2に月(3)、a3に日(6)=開始日   セルb1に年(2009)、b2に月(4)、b3に日(28)=終了日   セルc1に合計日数が計算(54)日数 となるように作りたいのですがどなたか教えて下さい。 宜しくお願いします。

  • 検索して数値を合計する。

    範囲を選択して数値を合計するのは? 例えばセルのA1からA5までの数値を検索して3の数字をB1で合計する。VL00KUPで昇順せずにバラバラの状態で探したいのですが! 解る方お願いします。

  • 合計SUM関数のみのこして、他は一括数値変換したい

    よろしくお願いします。 B列に縦に合計SUM関数と、SUM(IF( 関数などいろいろ関数を入れて数字が表示されています。 B列の合計SUM関数は残して、SUM(IF関数・それ以外の関数はをすべて「数値」(関数で現在計算結果として表示されている数値)に変換したいのです。 教えてください。

  • エクセルの合計値が一致しません

    A、B、C、D各シートの「J45」セル合計値を求めるべく、 合計 start A B C D end とシートを7つ並べて 合計のシートの「J45」セルに、 『=SUM(start:end!J45』と関数を入れています。 AのJ45セル値が14.53、Bは139.58、CとDはそれぞれ0なので合計が154.11となり、 合計シートのJ45セル値も145.11と表示されていますが、 ステータスバーには153.18と表示されているのです。 表示形式は「数値」の小数点以下2ケタを指定しています。 A~Dのシートには小数点2ケタの数字を直接数字を入力しており、 小数点以下3ケタより下が隠れている、なんてことはありません。 なぜセル内に表示されている数値と、ステータスバーに 表示されている数値にアンマッチが発生するのか、私には理解できません。 理由の分かる方、どなたか教えていただきますよう宜しくお願い致します。

  • エクセルで2つ条件の満たす数値を合計する方法

    エクセルで質問があります。 会社で簡単な勤務表を作成しているのですが、2つの条件を満たす数値を合計する方法がよく分かりません。 すみませんが教えて下さい。 Aが日曜日で、Cが5(数値)である、D(勤務時間)の合計です。 A B C  D 日 1 5 7:30 月 ・ ・ 土 1  日 1 6 4:00 ・ ・ 日 1 5 4:00 よろしくお願いします。

  • 入力した合計数値を振り分けたい

    関数とかマクロなど理解していない初心者でエクセル2003を使用しいます。 例えば 1Aのセルに1~10個(単価50円)と入力済 2Aのセルに11~20個(単価40円)と入力済 3Aのセルに21~30個(単価30円)と入力済 1B~3Bのセルに個数欄未入力 1C~3Cのセルに金額自動計算式入力済 4Bのセルに合計個数欄未入力 4Cのセルに合計金額自動計算式入力済 とした場合、例えば4Bの合計個数に29個と入力すると、自動的に1Bに10個、2Bに10個、3Bに9個と個数が振り分けられる様にしたいのですが、できるのでしょうか?

  • 年毎の合計式

    A列のA15以下(A15:Axx)に年/月が入力されています。対応したB列、C列、‥‥列に数値が入っています。 指定年に対応したB列の合計を、c列の合計を、‥‥列の合計を、それぞれの指定年行に設定したいのですが、計算式が分かりません。 どなたかご指導願えませんでしょうか。 以下は例題です(数値は適当、正式な表は添付キャプチャ画です)。 考え方としてはB 列合計2020セルに=SUMIF($A15:$A$260,YEAR(A15:A260)=2020,$B$15:$B$260)と入力すると2020年の合計になる様にしたいのです。ほかの合計セルにも同様式(参照箇所変更し)設定する。※年月列から指定年を検索し、その合計を求める。 A列       B列           C列        ‥‥列 合計2020   2020年の合計   2020年の合計 合計2019   2019年の合計   2019年の合計 合計2018   2018年の合計   2018年の合計 ・ ・ ・ 14行目 2020/05   500   400 2020/04   150000   800000 2020/01   60000   7000 2019/12   500   400 2019/08   150000   80000 2019/06   60000   7000 2019/04   8000   500 ・ ・ ・

  • エクセルで同じ名前の人のセルの数値を合計したい

    エクセルで同じ名前の人のセルの値を合計したいと思っています。 具体的には 4月      5月     6月 Aさん 100  Aさん 70  Bさん 35 Bさん 500  Bさん 60  Fさん 90 Cさん 50   Dさん 80 Eさん 120 となっています。 最後の欄にAさん○○、Bさん△△というふうにそれぞれの人の 数値の合計を求めたいのです。 関数で解決できるでしょうか? (※ VBAは全く分かりません。。。) どなか詳しい方がいらっしゃれば、お教え下さい。 宜しくお願い致します。

このQ&Aのポイント
  • ESETの支払い手続きが済み、ライセンスのメールも受け取りました。しかし、パソコンにはまだESETがインストールされていません。再インストールのURLを試しましたが、パスワードの入力でエラーが発生しています。詐欺に騙されたのか心配です。
  • ESETの支払い手続きが完了し、ライセンスのメールが届きましたが、インストールができません。再インストールのURLを開いてみましたが、パスワードの入力でエラーが発生しています。何が原因なのか心配です。
  • ESETの支払い手続きは終了し、ライセンスのメールも受け取りましたが、パソコンにESETがインストールされていません。再インストールのURLを試しましたが、パスワードの入力でエラーが表示されます。詐欺に騙されたのか不安です。
回答を見る

専門家に質問してみよう