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」を押してくださいありがとうございます
数式を配列数式として入力していないと思います。 @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")
この式を使用して、あなたが説明したことを実行しました=SUMIF(D1:D2;"=2014";B1:B2)
where D1==YEAR(A1)
および `D2 = YEAR(A2) '。あなたの例でも同じことができます。