web-dev-qa-db-ja.com

年が等しい場合のExcelの合計

2列のデータを取得しました。

A:

2013年12月31日

2013年12月30日

2013年12月29日

2013年12月28日

2013年12月27日

2012年12月26日

B:

10

10

10

10

10

5

私の式は:= SUM(IF(YEAR(G6:G11)= 2013、H6:H11,0)、0)

ウィザードでは答えは50です

enterキーを押すと、ページに55と表示されます。

何かご意見は?

解決策:数式を書きながら、「Ctrl + Shift + Enter」を押してくださいありがとうございます

8
Nick Fleetwood

数式を配列数式として入力していないと思います。 @Alexandruは彼のコメントに正解です。提供された範囲の最初のセルのみが計算されているので、YEAR(G2)=2013がtrueになり、範囲全体の合計H6:H11

いくつかの回避策:

  • 数式を配列入力します。これはあなたが長押しする必要があります Ctrl+Shift 次に押す Enter

  • SUMPRODUCTのように、入力を自動的に配列と見なす式を使用します。

    =SUMPRODUCT((YEAR(G6:G11)=2013)*H6:H11)
    
  • 年の最初と最後の日付を境界として使用して、この合計のロジックを変更し、SUMIFSを使用します。

    =SUMIFS(H6:H11,G6:G11,">=01-Jan-2013",G6:G11,"<=31-Dec-2013")
    
9
Jerry

この式を使用して、あなたが説明したことを実行しました=SUMIF(D1:D2;"=2014";B1:B2) where D1==YEAR(A1)および `D2 = YEAR(A2) '。あなたの例でも同じことができます。

0