首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在excel中返回两个日期之间的多个值?

如何在excel中返回两个日期之间的多个值?
EN

Stack Overflow用户
提问于 2014-06-08 01:44:24
回答 2查看 9.5K关注 0票数 0

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

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

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

我们的数据如下所示:

代码语言:javascript
复制
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($A:$A,SMALL(IF( and ($C:$C">="&(today()-90),$C:$C"<="&(today()-80)),ROW($C:$C)),ROW(1:1)),1)}以及其他一些公式,但它不起作用,我不知道为什么。

任何帮助都会很感谢,非常感谢。这快把我逼疯了!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-08 03:54:33

您的注释和公式表明您要查找雇用日期在80天到90天之间(包括80天和90天)的员工。90天并不总是三个月,但如果这是一个问题,您可以随时更改函数。

以下输入公式的数组将返回雇员ID的列表,该雇员ID的雇佣日期与H1中的日期相比符合这些规范。在某些单元格中输入公式,并尽可能填写所需的内容。当不再有符合规格的公式时,该公式将返回空格。该公式假设ID列是A列,并且第一个条目在A2 (A1中的header)中,如您在示例中所示。

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

代码语言:javascript
复制
=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键和键的同时按下enter。如果您操作正确,Excel将在公式两边放置大括号{...}。

票数 1
EN

Stack Overflow用户

发布于 2014-06-08 19:31:00

定义名称:

  • TargetDate:包含90天目标日期的单元格。您可以在此单元格中输入公式=
  • ():存储employee IDs
  • HireDateCol:的整个列,存储

的整个列

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

=IF(AND(目标日期-截止日期>80,目标日期-截止日期<90),IDCol,"")

列D中显示的内容要么是nothing (""),要么是雇员的ID,该雇员的雇用日期在您希望的范围内。您可能希望使用">“和"<”来确保范围80,90是正确的。也许它们应该是<=或>=。您可能希望参数化80和90 (将它们输入到指定的单元格中),以便在需要时轻松更改它们。另外,我不推荐在单元格TargetDate中使用公式=TODAY()。请使用实际的日期。这将允许您为任何日期、过去或将来正确地计算列表;您不会被今天的日期卡住。--HTH

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24099974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档