【发布时间】:2016-02-01 14:46:41
【问题描述】:
我正在使用以下公式进行工作日计算,其中 GB 银行假期列在工作表“银行假期”单元格区域 B13:Z13 中。
=IF(F2<E2,IF(L2="GB",WORKDAY(E2,2,'Bank Holidays'!B13:Z13)),IF(L2="GB",WORKDAY(F2,2,'Bank Holidays'!B13:Z13)))
在“银行假期”表中,我跨行列出了 31 个国家/地区的银行假期,A 列有国家代码列表,B 到 Z 列有假期日期。
在我的活动工作表(“所有数据”)中,我有一排订单发货,包括国家代码(L 列)。
我想做的是在计算工作日时我想排除与国家代码相关的假期。
实际上,我需要使用工作表“所有数据”列 L 上的国家/地区代码来查找与工作表“银行假期”列 A 上相同国家/地区代码列出的假日日期。
但是 vlookup 只返回找到的第一个值。是否有一种 vlookup 可以根据相关国家/地区代码返回所有日期(范围:B:Z 列)。
我相信索引匹配会起作用,但是我不熟悉这个,我无法让它工作。
【问题讨论】:
-
@DirkReichel 不要认为 INDEX/MATCH 在这种情况下是一个简单/干净的解决方案......
-
你用谷歌搜索过吗?有数十亿个例子展示了如何使用它(也避免了查找)......即使在这个网站上也有很多例子,你将很难提出一个不重复的问题......但是只需将解决方案扔给他:
=WORKDAY(MAX(E2,F2),2,INDEX('Bank Holidays'!B:Z,MATCH(L2,'Bank Holidays'!A:A,0)))