从 Excel 中的今天日期开始更新表格

从 Excel 中的今天日期开始更新表格

我有一个类似以下的 Excel 工作表 -

  • Col A - 客户姓名,
  • Col B - Col D - 客户信息,如地址、电话号码等
  • Col E——下次会议日期。

我想创建一个表,这样

  • A 栏为下次会议日期,
  • Col B 为客户名称,
  • Col C - Col E 将是客户信息。

条件是每次我打开表格时,它都会从“今天”或最近的日期(列表中的下一个未来日期)开始,如 A 列中下次会议的日期,并且表格保存未来 30 天的数据。有什么想法如何继续吗?

答案1

按下次会议日期对源表进行排序。

然后,对于表格的第一列,您可以参考以下数组公式并向下拖动以填充其余部分(请记住按Ctrl+Shift+Enter使其成为数组公式。您可能需要根据数据源调整数据范围 D2:D9。):

=TEXT(INDEX(E:E,SMALL(IF(($E$2:$E$9>=TODAY())*($E$2:$E$9<TODAY()+30),ROW($E$2:$E$9),4^8),ROW(E1)))&"","[>0]m/d/yyyy;")

在此处输入图片描述 对于其他三列,使用下面的数组公式(按 Ctrl+Shift+Enter 使其成为数组公式。如有必要,调整数据范围。):

=INDEX(A:A,SMALL(IF(($E$2:$E$9>=TODAY())*($E$2:$E$9<TODAY()+30),ROW($E$2:$E$9),4^8),ROW(E1)))&""   

向下和向右拖动以填充表格。 在此处输入图片描述

如果您想在单独的工作表中执行此操作,例如,原始数据在 Sheet1 中,而您想在 Sheet2 中创建新表,只需修改公式中的数据范围,然后按Ctrl+Shift+Enter使其成为数组公式:

=TEXT(INDEX(Sheet1!E:E,SMALL(IF((Sheet1!$E$2:$E$9>=TODAY())*(Sheet1!$E$2:$E$9<TODAY()+30),ROW($E$2:$E$9),4^8),ROW(Sheet2!E1)))&"","[>0]m/d/yyyy;")

在此处输入图片描述

=INDEX(Sheet1!A:A,SMALL(IF((Sheet1!$E$2:$E$9>=TODAY())*(Sheet1!$E$2:$E$9在此处输入图片描述

相关内容