Excel - SUMIF和工作日

时间:2016-09-27 06:04:36

标签: excel google-sheets

注意:我将这个问题作为Excel和Google Docs提出,因为对于像这样的简单问题,它们有很多重叠。

我有两列数据。购买日期和购买金额。

    A               B
11/23/2015      $59
12/5/2015       $23.32
1/21/2016       $12.09
1/22/2016       $78.21
1/22/2016       $5.88
2/14/2016       $0.13
...             ...
(thousands of rows below this)

我希望记录星期一,星期二,星期三等所花的金额。

如果我使用SUMIF,我会遇到这个问题:

=SUMIF(A:A, WEEKDAY(A:A), B:B)
                ^ WEEKDAY only takes in a single date value.

想要一个我必须向下拖动的功能。

我将如何做到这一点?

2 个答案:

答案 0 :(得分:0)

试试这个query函数:

=QUERY({A:B},"select dayOfWeek(Col1), sum(Col2) where Col1 is not null group by dayOfWeek(Col1)")

enter image description here

在此公式中,我在公式中使用了数组{A:B}和符号Col1, Col2...,因为现在添加新列时,公式不会失败。

类似的公式,使用sumif

 ={arrayformula(unique(weekday(A:A))),arrayformula(sumif(week‌​day(A:A),unique(week‌​day(A:A)),B:B))}

答案 1 :(得分:0)

在Excel中,您可以使用此Array公式执行此操作。需要使用Ctrl-Shift-Enter输入数组公式。

{=SUM(IF(WEEKDAY($A$2:$A$1000,1)=E2,$B$2:$B$1000,0))}

这假设你的星期几是E2。工作日函数中的第二个参数定义您如何对周的天数进行编号。这里我使用了1表示1 =星期日,7 =星期六