【问题标题】:Get dollar value from adjacent cell where day of month is in a date range从日期范围内的某月某日的相邻单元格获取美元值
【发布时间】:2021-11-05 04:39:01
【问题描述】:

我有一个包含两个工作表的 Excel 工作簿。

一个包含列出每个月到期的账单的静态值,其中一个月中的某天列是一个整数(或者它可以是,现在它附加到一个字符串),一个账单名称列作为一个字符串和一个美元金额。如果月份的日期在另一张纸上的日期范围内,我想提取账单名称和金额。

另一张表列出了整个月的一周日期范围,并包括账单的名称以及该周到期的金额。我想使用我的静态表中的值自动填充这些列,其中静态表中的月份日期介于月表中的日期范围之间。我附上了我的目标的屏幕截图。这只是样本数据。当我在静态表的标题列中输入日期时,我希望自动填充月表列(账单名称和金额)。

假设静态值表名为“Static”,月表名为“December”。

我很乐意根据需要提供更多信息/图像/示例文件。这是我的一个爱好,鼓励提问、讨论和批评。

更新

使用马克发布的公式,当日期范围在同一个月内时,它可以完美地工作。

=LET( st, H1,  fn, I1,
      expenses, $D$3:$F$10,
       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 会显示错误“不支持空数组”。

【问题讨论】:

    标签: excel excel-formula office365


    【解决方案1】:

    使用 Office 365,您可以:

    =LET( st, H1,  fn, I1,
          expenses, $D$3:$F$10,
           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$3:$F$10,
           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 ) )
    

    【讨论】:

    • 这非常有效,直到我在 12 月底/1 月初到达。其中日期范围变为“12 月 30 日”和“1 月 5 日”。我正在使用 Office 365。
    • 啊,好吧-解决这个问题需要几分钟。正是岁月的交叉扭转了从日到日。我会发布一个替代版本。
    • 等等 - 我不太确定最后一篇文章。需要仔细检查。
    • 第二版!谢谢!我要说明的另一个注意事项是我在静态工作表中有手动输入,例如“星期四”或“每隔一周”,这个解决方案为我提供了我需要的数据,并排除了我想自己处理的数据。感谢您的帮助。
    • 干杯,@AndrewNunez - 如果这是答案,您能否将其标记为答案?
    猜你喜欢
    • 2014-07-10
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 2017-09-09
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多