【问题标题】:Excel: Referencing Cell Range Dynamically Based on Row Search ValueExcel:根据行搜索值动态引用单元格范围
【发布时间】:2020-05-07 00:04:53
【问题描述】:

我正在尝试在 Excel 中创建一个自动日历,根据我经理的偏好,它会自动计算部门活动的关键日期。

为此,我首先根据某些值/偏好或排除项(例如:避免周末、公司假期等)创建一个关键日期表。由于我们是财务部门,因此我正在尝试为每个新月的前 5 个工作日创建一个关闭日列表。我有以下公式可以准确计算收盘日以进行测试,但是当我尝试将其更改为下面显示的后期动态范围时,我收到公式错误。

作品:

=IF(OR(AND(DAY([@Date])<8,[@[Day of Week]]<>"Sat",[@[Day of Week]]<>"Sun",[@Holiday]<>"Holiday Date"),AND(DAY([@Date])=8,COUNTIF($C$5:$C$12,"Holiday Date")>0)),"Closing Day","")

用于查找新月第一天的行号,用于动态搜索公司假期:

ROW(INDEX([Holiday], MATCH(DATE(2020,MONTH([@Date]),1), [Date], 0)))

范围将是

ROW(INDEX([Holiday], MATCH(DATE(2020,MONTH([@Date]),1), [Date], 0)))+7

不起作用:

=IF(OR(AND(DAY([@Date])<8,[@[Day of Week]]<>"Sat",[@[Day of Week]]<>"Sun",[@Holiday]<>"Holiday Date"),AND(DAY([@Date])=8,COUNTIF(CONCATENATE("C",ROW(INDEX([Holiday], MATCH(DATE(2020,MONTH([@Date]),1), [Date], 0))),":C",ROW(INDEX([Holiday], MATCH(DATE(2020,MONTH([@Date]),1), [Date], 0)))+7),"Holiday Date")>0)),"Closing Day","")

我要添加的唯一部分是上面的斜体动态范围引用,它引用了在新月份的前 7 天内出现假期的单元格,以查看第八天是否应该被视为结束日。当我添加此 CONCATENATE 范围时,我收到一个错误,即公式存在问题。但是,当我在 COUNTIF 语句中使用静态范围时,它会起作用。

任何建议,或确定我如何完成此任务的替代方法,将是最有帮助的。

更改日志: ** 更新表格图片 ** ** 想附上样表,但无法附上文件 **

【问题讨论】:

  • 如果可以,请发布示例文件。
  • @RicardoDiaz 我已经制作了一个示例表,但我似乎没有办法将其直接附加到论坛帖子中。
  • 您可以使用onedrive或google drive并发布链接
  • @RicardoDiaz, link

标签: excel date dynamic range formula


【解决方案1】:

我没有检查所有公式,但是根据使用 concatenate 函数的错误,当您想将字符串转换为引用时(单元格、范围、工作表、工作簿、公式),您必须使用 INDIRECT等)

在这种情况下,试试这个:

=IF(OR(AND(DAY([@Date])<8,[@[Day of Week]]<>"Sat",[@[Day of Week]]<>"Sun",[@Holiday]<>"Holiday Date"),AND(DAY([@Date])=8,COUNTIF(INDIRECT(CONCATENATE("C",ROW(INDEX([Holiday], MATCH(DATE(2020,MONTH([@Date]),1), [Date], 0))),":C",ROW(INDEX([Holiday], MATCH(DATE(2020,MONTH([@Date]),1), [Date], 0)))+7)),"Holiday Date")>0)),"Closing Day","")

让我知道它是否有效

【讨论】:

  • 谢谢,这似乎工作得很好!我认为问题在于我试图使用 INDIRECT 或 CONCATENATE,但从未尝试通过将函数嵌套在一起来进行范围引用来使用两者。再次感谢您!
  • 优秀。记得标记答案,以便其他人找到它
猜你喜欢
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多