仅当特定发薪日恰好在到期日之前或之前 6 天时,如何让账单中包含金额?

How to get a bill to populate with the amount, only if the particular payday falls exactly on or 6 days before the due date?

=IF(AND(DATE(YEAR(EE),MONTH(EE)+IF($B6<DAY(EE),1,0),DAY($B6))>=EE,DATE(YEAR(EE),MONTH(EE)+IF($B6<DAY(EE),1,0),DAY($B6))<EE+14),470,”")

使用 Google 表格进行预算(见附件图像快照)。我有点卡在复杂的电子表格公式(上面列出)上。我想要做的是获取一张包含金额的账单,前提是特定的发薪日恰好在到期日之前或之前 6 天。这是我正在处理的内容:

如果福特汽车付款的到期日是每个月的 5 日,如果列上方的日期是该月的 5 日或负 6 天,我需要将数字 $470 填充到单元格中。由于账单并不总是在发薪日支付,如 EE 或 EF 列中所示,因此需要在 EE6 单元格中填充 470 美元以确保按时支付账单。

基本上,我希望能够将公式粘贴到第 6 行,并且只在最接近每月 5 日的发薪日填充它,而不是在 5 日之后。如果它 returns 0 就像单元格 ED6 一样,单元格应该保持空白。

有什么想法可以让这成为可能吗?

=IF(ISNUMBER(MATCH($B5, ArrayFormula(DAY(C+{0,1,2,3,4,5,6})), 0)), 470, "")

使用 C3 作为起点假设您的日历日从 C3 开始。

其工作方式是:

  1. ArrayFormula(C+{1,2,3,4,5,6}) 生成从 C3 中的日期和
  2. 之后的一周开始的合成日期范围
  3. ArrayFormula(DAY(C+{1,2,3,4,5,6})) 只是从所有日期中提取月份中的第几天。从 2017-01-28 到 2017-02-03 的日期范围会让你 {28, 29, 30, 31, 01, 02, 03}
  4. MATCH($B5, <2>, 0) 将尝试在我们刚刚生成的月日列表中找到到期月日和 return 位置,如果不存在则错误。
  5. 如果包含日期,
  6. ISNUMBER(<3>) 将为 TRUE,否则为 false
  7. IF(<4>, 470, "") 在正确的日期打印付款,当然您可以将 470 更改为单元格引用,例如 $ZZ5.

您可以向右和向下拖动此公式