【问题标题】:I want to dynamically populate a value based on a date range我想根据日期范围动态填充一个值
【发布时间】:2020-10-24 01:58:18
【问题描述】:

提前感谢任何愿意花时间帮助解决此问题的人。

目标:

  • 我正在开发一个高/中级计划模板,我想根据第 2 行中的日期将 sprint ID 号动态拉入第 1 行(请参阅下面的“计划”屏幕截图)。

问题:

  • 第 2 行中的周开始日期并不总是 sprint 的开始,需要逻辑来确定该日期所在的 sprint。

  • 我似乎无法获得 INDEX + MATCH + DATE/WEEK/MONTH 的任何组合来提供错误以外的结果。我已经尝试了至少 20 次排列,但都没有运气。

设置:

  • 我在单独的工作表上设置了一个数据表,详细说明了每个 sprint 的开始和结束日期(请参阅下面的“数据表”屏幕截图)。

  • 单元格 G2 中的周开始日期通过公式填充为 Col C 中最早日期的一周中的星期一:


=MIN(C:C)+CHOOSE(WEEKDAY(MIN(C:C)),1,0,6,5,4,3,2)

  • 计划是 Sheet1,数据表是 Sheet2。

标注:

  • 我已手动将 Sprint ID 编号填入计划的第 1 行以显示预期目标。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    如果我理解正确,我认为这应该可以回答您的问题。此公式将查看第 2 行中的日期,并根据您的 sprint 开始/结束表确定 sprint。为简单起见,我将所有内容都放在一张纸上。

    B1 中的公式:

    =INDEX($J$2:$J$4,SUMPRODUCT((B2>=$K$2:$K$4)*(B2<=$L$2:$L$4)*MATCH(ROW($J$2:$J$4),ROW($J$2:$J$4))))
    

    将其拖过以实现每列的正确冲刺。

    【讨论】:

    • 你是个天才!谢谢,这完全符合预期。
    猜你喜欢
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多