B 列中的 SUMIF 日期小于 C 列中的日期

SUMIF date in column B is less than date in column C

我在 A 列中有一个值列表,我想对 B 列中的日期小于 C 列的这些值求和。

Example

在此示例中,正确的值为 2100

我以前必须参考单个日期(例如 C3 中包含的日期)来完成此任务并使用公式:

=SUMIF(B2:B11,"<="&C3,A2:A11)

但是在这种情况下,我需要 B 中的每个日期都小于或等于 C 中的日期。我已经尝试过:

=SUMIF(B2:B11,"<="&C2:C11,A2:A11)

但我得到的值为 0。有什么想法吗?

选项 A - 辅助列

对于任何需要逐行计算是否要执行某事或其他操作(无论是求和、查找等)的场景,最简单的方法是在数据旁边使用 'helper' 列它使用一个公式来计算是否应该包含它,通常返回 'True' 如果要包含。

根据您的数据布局,在 D 列中添加计算差值以及是否应包括该行的计算,例如:

=C2-B2=C2>B2拖下

SUMIFS 计算然后变为 =SUMIFS(A2:A11,D2:D11,">0") 或者,对于具有更复杂标准的一般情况,=SUMIFS(A2:A11,D2:D11,TRUE)

如果您有大量复杂的条件,这种方法非常好,可能因行而异,或者可能需要多个 AND() OR() 和其他逻辑评估(是产品 ID x 是客户 ID y 并且是值 > z 并且是提交采购订单和收到货物之间的天数超过 30 天)等,以确定是否应将一行包含在某些进一步的功能中。

选项 B - 数组公式

或者,您可以通过使用在公式中执行比较的数组公式来避免对工作列的需要。根据上面的数据,这将是:

=SUM(IF(B2:B11<C2:C11,A2:A11,0)) 输入 Ctrl + Shift + Enter