仅当特定发薪日恰好在到期日之前或之前 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 天。这是我正在处理的内容:
- 列 Headers:我已将这些单元格设置为 auto-populate 发薪日,发薪日每周周五发生。
- 第 6 行和第 7 行是我想要显示金额的地方。我一直不得不手动将它们放入,但我想在账单期限内(60 个月)自动化它
- B 列的单元格(B6 和 B7)设置了一个纯文本数字,对应于到期日期(即福特每月的 5 号)。所以 B6 单元格中有数字 5。
如果福特汽车付款的到期日是每个月的 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 开始。
其工作方式是:
ArrayFormula(C+{1,2,3,4,5,6})
生成从 C3 中的日期和 之后的一周开始的合成日期范围
ArrayFormula(DAY(C+{1,2,3,4,5,6}))
只是从所有日期中提取月份中的第几天。从 2017-01-28 到 2017-02-03 的日期范围会让你 {28, 29, 30, 31, 01, 02, 03}
MATCH($B5, <2>, 0)
将尝试在我们刚刚生成的月日列表中找到到期月日和 return 位置,如果不存在则错误。
如果包含日期,ISNUMBER(<3>)
将为 TRUE
,否则为 false
IF(<4>, 470, "")
在正确的日期打印付款,当然您可以将 470 更改为单元格引用,例如 $ZZ5
.
您可以向右和向下拖动此公式
=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 天。这是我正在处理的内容:
- 列 Headers:我已将这些单元格设置为 auto-populate 发薪日,发薪日每周周五发生。
- 第 6 行和第 7 行是我想要显示金额的地方。我一直不得不手动将它们放入,但我想在账单期限内(60 个月)自动化它
- B 列的单元格(B6 和 B7)设置了一个纯文本数字,对应于到期日期(即福特每月的 5 号)。所以 B6 单元格中有数字 5。
如果福特汽车付款的到期日是每个月的 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 开始。
其工作方式是:
ArrayFormula(C+{1,2,3,4,5,6})
生成从 C3 中的日期和 之后的一周开始的合成日期范围
ArrayFormula(DAY(C+{1,2,3,4,5,6}))
只是从所有日期中提取月份中的第几天。从 2017-01-28 到 2017-02-03 的日期范围会让你{28, 29, 30, 31, 01, 02, 03}
MATCH($B5, <2>, 0)
将尝试在我们刚刚生成的月日列表中找到到期月日和 return 位置,如果不存在则错误。
如果包含日期,ISNUMBER(<3>)
将为TRUE
,否则为 falseIF(<4>, 470, "")
在正确的日期打印付款,当然您可以将 470 更改为单元格引用,例如$ZZ5
.
您可以向右和向下拖动此公式