我正在尝试将一列数据、付款(会计)相对于另一列中的收据日期进行求和。我想隔离在给定年份、月份或星期内进行的付款,而无需更改查询代码中的任何内容。
这大致就是我正在处理的内容,尝试使用
TODAY()
或 NOW()
以便自动更新:
=query(amount,"select sum(H) where year(F) = year(today())")
我也尝试过做类似的事情,同时引用一个可以读取今天年份的单元格,但遇到了困难:
=query(amount,"select sum(H) where year(F) = '"&text(R1,"yyyy-MM-dd")&"'")
其中 R1 是单元格读数
=YEAR(TODAY))
如果我能得到第一个同时适用于年、月和周的公式,那就完美了。
接受的答案是完美的。我尊重它。
但警告任何尝试类似操作的人,请使用 月(A) 而不是年份(A):
在 QUERY 列的 WHERE 子句中使用标量函数 Month() 实际上是从零开始的。所以一月是 0,十二月是 11。所以加一个减一。
如果您的结果相差一个月,请尝试以下操作:
where
month(A) = " & MONTH(TODAY()) -1 & "
或者如果您在单元格中引用日期:
where
year(C) = "& YEAR(C$16) &"
and month(C) = "& MONTH(C$16) -1 &"
注意:我只是将其作为对上面已接受答案的评论,但我没有足够的“声誉”点来发表评论。