【问题标题】:How to return multiple values between two dates in excel?如何在excel中返回两个日期之间的多个值?
【发布时间】:2014-06-07 17:44:24
【问题描述】:

我们有一个包含所有员工的电子表格,我需要生成一个 3 个月试用期即将在下周到期的所有员工的列表。

换句话说,我需要一个列表来自动显示所有员工的 3 个月试用期将在接下来的 7 天内到期的记录。它需要是一个数组,因为每周会有多条记录,而且每天都会变化。

A列是他们的ID号,这是我需要返回的值。

我们的数据如下所示:

A       B           C
ID      Name        Hire Date
1234    Joe Blow    February 21, 2014
2345    Man Chu     February 26, 2014
3456    Jim Hill    February 26, 2014
4567    Brad Chill  February 28, 2014
5678    Mike Grow   March 5, 2014
6789    Hibs Bee    March 5, 2014
1230    Sarah Mean  March 7, 2014

我尝试过这样的 Index&Match `{=INDEX($A:$A,SMALL(IF(AND($C:$C">="&(today()-90),$C:$C "

任何帮助将不胜感激,非常感谢。这快把我逼疯了!

【问题讨论】:

  • 您在 array 公式中使用 AND 是错误的。请参阅我的答案以了解原因:Using AND in array formulas
  • 明确你想要什么。您的公式建议您要查找雇用日期在 80 到 90 天之前的员工;但是您的文字暗示您要查找雇用日期在 3 个月前和 3 个月 + 7 天前之间的员工。
  • 我想查找入职日期在 80 到 90 天之前的员工。换句话说,谁将在接下来的 10 天内达到 3 个月大关。

标签: excel excel-formula


【解决方案1】:

您的 cmets 和公式表明您希望查找雇用日期在 80 到 90 天(含 80 天到 90 天)之间的员工。 90 天并不总是三个月,但如果这是一个问题,您可以随时更改功能。

以下输入的数组公式将返回与 H1 中的日期相比,其雇用日期符合这些规范的员工 ID 的列表。在某个单元格中输入公式并根据需要填写。当不再符合规范时,公式将返回空白。该公式假定 ID 列是 A 列,并且第一个条目位于 A2 中(A1 中的标题),如您在示例中所示。

HireDate 和 ID 是命名范围,在本例中为 A2:A8 和 C2:C8

=IFERROR(INDEX($A:$A,SMALL(((HireDate+80)<=$H$1)*((HireDate+90)>=$H$1)*ROW(ID),SUM(N(((HireDate+80)<=$H$1)*((HireDate+90)>=$H$1)=0))+ROWS($1:1))),"")

此公式必须以数组形式输入


数组输入公式,输入后 将公式放入单元格或公式栏中,按住 ctrl-shift 同时按 enter。如果你这样做了 正确地,Excel 会在公式周围放置大括号 {...}

【讨论】:

  • 这很好用,谢谢。我对它的工作原理有点模糊,所以我必须花点时间弄清楚,但谢谢一百万!
  • @user3654445 将这部分公式输入到某个单元格中: ((HireDate+80)=$H$1)*ROW(ID)然后选择它并按F9(或使用公式评估工具),以帮助理解它。另外,如果您能将我的回复标记为答案,我将不胜感激。
【解决方案2】:

定义名称:

  • TargetDate:包含 90 天目标日期的单元格。您可以在此单元格中输入公式 =TODAY()
  • IDCol:存储员工 ID 的整个列
  • HireDateCol:存储雇佣日期的整个列

然后在任何其他列(例如 D 列)中,为每条记录输入公式:

=IF(AND(TargetDate-HireDateCol>80,TargetDate-HireDateCol

然后,D 列中将显示的内容要么是空的 (""),要么是雇用日期在您想要的范围内的员工的 ID。您可能想使用“>”和“=。您可能希望参数化 80 和 90(将它们输入到命名单元格中),以便在需要时轻松更改它们。另外,我不建议在单元格 TargetDate 中使用公式 =TODAY()。请改用实际日期。这将允许您正确计算任何日期、过去或未来的列表;你不会被今天的日期所困。 --HTH

【讨论】:

    猜你喜欢
    • 2014-09-02
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多