2017-02-20 58 views
1

我有三列數據。Excel SUMIFS聲明 - 計算多年來每個月的利潤

  • 銷售日期 - G列 - 包含DD/MM/YYY格式的日,月,年。
  • 月(自銷售之日起計算) - 列我 - 包含月份數
  • 利潤 - M列 - 利潤的美元。

我想要計算每個月和每年的利潤。使用SUMIFS的當前公式。我看第一欄中的數據,如果這個數據包含1,並且如果G包含2016年,那麼它是2016年1月。認爲這是我不太明白的年份函數。

=SUM(SUMIFS(M9:M50, I9:I50, {"1"}, G9:G50, YEAR=2016)) 

回答

1

您可以創建另一列卻與此逐年(G2),也可以用這個公式

=SUMIFS(M9:M50,G9:G50,">=1/1/2016",G9:G50,"<1/2/2016") 

我也很喜歡這個公式,可以讓你引用的日期在一個單元格,並計算一個月的範圍。將01/01/2016置於A1單元格,其餘部分完成。

=SUMIFS(M9:M50,G9:G50,">="&A1,G9:G50,"<" & EDATE(A1,1)) 
+0

謝謝,但該公式正在計算M9:M50中的所有值,並且在月份= 1時似乎沒有考慮到。 – Ankh2054

+0

它使用列G來處理2016年1月的所有日期。它只有在coumn G包含有效日期時纔有效。它不需要檢查月份列。 – Gordon

+0

對不起,我編輯了範圍來匹配你的,我錯誤地將G範圍改爲M.它現在應該工作。 – Gordon

0

當你改變IF參數的值SUMIFS功能不喜歡它。這將是更好地使用SUMPRODUCT公式來計算這一點,例如:

=SUMPRODUCT((M9:M50)*(I9:I50=1)*(YEAR(G9:G50)=2016)) 

其中:

  • (M9:M50)是值要SUM
  • (I9:I50)是月份值,1是您希望指定的月份。
  • (G9:G50)是您希望從中獲得的日期值,2016是您指定的年份。
+0

感謝雖然公式有錯誤。我會嘗試在Windows Excel中,即時通訊使用MAC。 – Ankh2054

+0

奇怪,我已經在Windows Excel中測試過它,它似乎工作正常! – Jordan

+0

同樣的問題有多奇怪。 – Ankh2054