我有这个公式,它可以在没有日期范围条件的情况下工作,但如果添加日期条件,则仅显示标题标签。
=QUERY({ARRAYFORMULA(UPPER('Line Items (V3)'!$B$1:$B$17068)),
'Line Items (V3)'!$E$1:$E$17068,
'Line Items (V3)'!$P$1:$P$17068},
"SELECT Col1, SUM(Col3)
WHERE Col2 >= " & DATE(YEAR(TODAY()) - 5, 1, 1) & "
GROUP BY Col1
ORDER BY SUM(Col3) DESC
LIMIT " & $B$3 & "
LABEL Col1 'VENDOR NAME', SUM(Col3) 'TOTAL AMOUNT'
FORMAT SUM(Col3) '#,##0.00'",
1)
尝试用此修改日期条件,但结果仍然相同:
DATE(" & YEAR(TODAY()) - 5 & ", 1, 1)
由于没有提供最小的可重复样本,我创建了自己的数据集来测试 Google Sheet 函数,这也给了我同样的错误。
我想出了一个使日期条件起作用的解决方案。在 “QUERY” 公式中使用日期作为条件时,最佳做法是首先使用 “TEXT” 将其格式化为字符串 “yyyy-MM-dd”,以便能够在查询中正确解析日期。
您可以查看以下更新后的公式:
=QUERY({ARRAYFORMULA(UPPER('Line Items (V3)'!$B$1:$B$17068)), 'Line Items (V3)'!$E$1:$E$17068, 'Line Items (V3)'!$P$1:$P$17068},
"SELECT Col1, SUM(Col3)
WHERE Col2 >= date '" & TEXT(DATE(YEAR(TODAY()) - 5, 1, 1), "yyyy-MM-dd") & "'
GROUP BY Col1
ORDER BY SUM(Col3) DESC
LIMIT " & $B$3 & "
LABEL Col1 'VENDOR NAME', SUM(Col3) 'TOTAL AMOUNT'
FORMAT SUM(Col3) '#,##0.00'", 1)
我添加并修改了以下公式:
WHERE Col2 >= date '" & TEXT(DATE(YEAR(TODAY()) - 5, 1, 1), "yyyy-MM-dd")
我的样本数据由具有不同“日期”和金额的“供应商 A-Z”组成。
假设“LIMIT”&$B$3“”表示应将数量限制为“前30个”。出于测试目的,我使用数字 20,因为我创建的数据有限。
请访问这些公共文档以供参考: