如何从 LOOKUP 中获取 NETWORKDAYS 的假期范围?

How do I get the range of holidays for NETWORKDAYS from a LOOKUP?

我正在尝试使用 HLOOKUP 从另一个 sheet 获取假期列表,以根据国家/地区找到适当的行,从而为 NETWORKDAYS 函数获取假期列表。但是,当我尝试这样做时,我只是收到一个 #REF 错误,提示 HLOOKUP 计算结果超出范围。

我有一个名为 Billable Days 的 sheet,它有一个基于国家/地区的假期列表。单元格 J14:N14 包含国家/地区,在下面的列表中是一堆假期日期。它们是不同的范围。例如,美国假期的范围是 J15:J32.

在另一个 sheet 中,我需要将 R 列中基于国家/地区的正确假期提取到 NETWORKDAYS 函数中。

首先我尝试了:

=NETWORKDAYS(B2,S1,HLOOKUP($R2,'Billable Days'!$J:$N,15:50,FALSE))

这给了我一个#VALUE 错误提示:"An array value could not be found"

然后我尝试了:

=NETWORKDAYS(B2,S1,ArrayFormula(HLOOKUP($R2,'Billable Days'!$J:$N,15:50,FALSE)))

这给出了另一个值错误。

终于试过了

=NETWORKDAYS(B2,S1,ArrayFormula(HLOOKUP($R2,'Billable Days'!$J:$N,{15,16,17},FALSE)))

只是为了测试一下,看看我是否可以获得任何值,并收到一个 #REF 错误,上面写着 "HLOOKUP evaluates to an out of bounds range"

谁能帮我设计这个功能?我什至不确定 HLOOKUP 是否是去这里的方式,但这是我想到的唯一方式。

编辑

为了清楚起见并根据要求,我创建了一个 sheet 来证明我的意思。找到它 here.

您将看到顾问和计费天数 sheet。您可以看到我编写的用于根据开始日期和结束日期计算 NETWORKDAYS 的函数。但是,在该函数中,我想将 Billable Days sheet 中的适当假期列表添加到 NETWORKDAYS 函数中作为第三个参数。我需要查看国家/地区列并从计费天数 spreadsheet 中找到合适的假期日期,然后将其插入 NETWORKDAYS 调用。我不知道如何完成此操作。

以下是构建您想要的内容的方法。 在 L2 的顾问 sheet 上,我放置了 =address(2,match(E2, 'Billable Days'!$A:$F,0)),它找到了所需国家的列索引,并用行 B 为它构造了一个正确的单元格名称。然后在 M2 中,我说 ="'Billable Days'!"&L2&":"&mid(L2,2,1) 到构造一个引用所需假期范围的字符串,如 'Billable Days'!$B:B。 L 和 M 列可以为所有人拖下。然后,当您想要第二行中顾问的假期列表时说 =INDIRECT(M2) 或第 5 行中的 =INDIRECT(M5),或者如果您将其构建到另一个公式中,请删除 = 符号。当找不到国家/地区时,您可以稍微清理一下以保持优雅,或者可能制作一个 ArrayFormula 并避免拖动。