从日期范围内的相邻单元格获取美元值

Get dollar value from adjacent cell where day of month is in a date range

我有一个 excel 工作簿,其中有两个作业sheet。

一个包含列出每个月到期账单的静态值,日期列为整数(或者它可以是,现在它附加到一个字符串),一个账单名称列作为一个字符串和一美元数量。如果一个月中的某一天落在另一个 sheet.

的日期范围内,我想提取账单名称和金额

另一个 sheet 列出整个月的一周的日期范围,并包括账单名称和该周到期的金额。我想使用我的静态 sheet 中的值自动填充这些列,其中静态 sheet 中的日期介于月份 sheet 中的日期范围之间。我附上了我的目标的屏幕截图。这只是示例数据。当我在静态 sheet.

的 header 列中输入日期时,我希望自动填充月份 sheet 列(账单名称和金额)

假设静态值 sheet 被命名为“静态”,月份 sheet 被命名为“十二月”。

我很乐意根据需要提供更多 information/images/sample 文件。这是我的爱好,欢迎提问、讨论、批评。

更新

使用 mark 发布的公式,当日期范围在同一个月内时,此方法完美无缺。

=LET( st, H1,  fn, I1,
      expenses, $D:$F,
       na, INDEX( expenses, SEQUENCE( ROWS( expenses ) ), {1,2}), d, INDEX( expenses,, 3),
       FILTER(na, (d>=DAY(st))*(d<=DAY(fn)) ) )

但是,当日期范围包括月份更改时,例如:12 月 30 日到 1 月 5 日,Excel 显示错误“不支持空数组”。

使用 Office 365,您可以:

=LET( st, H1,  fn, I1,
      expenses, $D:$F,
       na, INDEX( expenses, SEQUENCE( ROWS( expenses ) ), {1,2}), d, INDEX( expenses,, 3),
       FILTER(na, (d>=DAY(st))*(d<=DAY(fn)) ) )

其中 H1 是该期间的开始日期,I1 是结束日期,D3:F10 是您显示的名称、金额和日期的数组。

此公式将溢出名称和金额的结果。它可以复制到其他单元格,如您在 Sheet2 示例中所示(即 Sheet2 中的 A3、D3、G3...)。

如果你没有 Office 365,那就更难了。

版本 II - 跨月帐户

这将适应月份的交叉。没想到...

=LET( st, H1,  fn, I1,
      expenses, $D:$F,
       s, DAY( st ), f, DAY( fn ),
       na, INDEX( expenses, SEQUENCE( ROWS( expenses ) ), {1,2}), d, INDEX( expenses,, 3),
       b, IF( MONTH(st) = MONTH(fn), (d>=DAY(st))*(d<=DAY(fn)), (d>=DAY(st))*(d<=DAY(EOMONTH(st,0))) + (d>=1)*(d<=DAY(fn)) ),
       FILTER(na, b ) )