Note: The other languages of the website are Google-translated. Back to English

Excel 公式:列出两个日期之间的假期

doc将日期转换为julia 1

有一个假期表和相应的日期,如何在 Excel 中列出给定日期范围内的所有假期? 这里介绍一个数组公式来实现这个目标。

如果您想遵循本教程,请下载示例电子表格。
doc将日期转换为julia 1

通用公式

{TEXTJOIN(", ",TRUE,IF(dates>=start_date,IF(dates<=end_date,holidays,""),""))}

语法和参数

Start_date, End_date: the two dates that you want to list holidays between.
Date: a range refers to the dates of holidays.
Holidays: a range refers to the holidays.

返回值

如果在给定的日期范围内没有找到假期,则公式返回空白,或者返回相应的假期。

备注

TEXTJOIN 功能仅适用于 Office 365、Excel 2019 及更高版本。

这个公式如何运作

数据列表如下:
B3:B6,上市假期;
C3:C6,节假日上市日期;
F2:放置开始日期;
F3:放置结束日期;
E4:列出开始日期和结束日期之间的假期。

请使用以下公式:

=TEXTJOIN(", ",TRUE,IF(C3:C6>=F2,IF(C3:C6<=F3,$B$3:$B$6,""),""))

举行 转移按Ctrl 键以获取正确的结果。
doc将日期转换为julia 1

说明

IF功能:测试条件并返回 TRUE 或 FALSE,或者您可以指定要显示的特定文本而不是 TRUE 和 FALSE。

TEXTJOIN函数: 将两个或多个值与分隔符连接在一起。

公式可以分三部分来分析:

{IF(C3:C6<=F3,$B$3:$B$6,""):查找哪些假期日期早于或等于结束日期,在这个数组中可以看到结果是{"新年";"独立日";"感恩节";""}。

{IF(C3:C6>=F2,IF(C3:C6<=F3,$B$3:$B$6,""),"")},根据上面的公式,这部分可以看成这样:

{IF(C3:C6>=F2,{"New Year";"Independence Day";"Tanksgiving";""},"")}:查找哪些假期日期晚于或等于开始日期。 在这个数组中,您可以看到结果是 {"";"Independence Day";"Tanksgiving";""}。

{TEXTJOIN(", ",TRUE,IF(C3:C6>=F2,IF(C3:C6<=F3,$B$3:$B$6,""),""))},现在整个公式可以被视为这样:

{TEXTJOIN(", ",TRUE, {"";"Independence Day";"Tanksgiving";""}),它将值用逗号连接在一起,并忽略空值。


相对公式

相关功能


最佳办公效率工具

Kutools for Excel-帮助您从人群中脱颖而出

您想快速,完美地完成日常工作吗? Kutools for Excel具有300项强大的高级功能(合并工作簿,按颜色求和,拆分单元格内容,转换日期等),并为您节省80%的时间。

  • 专为1500个工作方案而设计,可帮助您解决80%的Excel问题。
  • 每天减少成千上万的键盘和鼠标点击,减轻您疲倦的眼睛和手部的疲劳。
  • 在3分钟内成为一名Excel专家。 不再需要记住任何痛苦的公式和VBA代码。
  • 30天无限制免费试用。 60天退款保证。 免费升级和支持2年。
Excel功能区(已安装Kutools for Excel)

Office选项卡-在Microsoft Office(包括Excel)中启用选项卡式阅读和编辑

  • 一秒钟即可在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标单击,告别鼠标手。
  • 查看和编辑多个文档时,可将您的工作效率提高50%。
  • 像Chrome,Firefox和新的Internet Explorer一样,为Office(包括Excel)带来高效选项卡。
Excel的屏幕截图(已安装Office选项卡)
按评论排序
注释 (0)
还没有评分。 成为第一位评论!
这里还没有评论
留下你的意见
以访客身份发帖
×
评价此帖子:
0  产品特性
建议地点