使用 INDIRECT() 对命名范围进行 Sumif

Sumif with named range using INDIRECT()

我有一个命名范围 TYPE_NAME,它是项目类型的列表。相应地,命名范围 TYPE_VALUE 包含每种类型的 "Yes"/"No"。

然后,对于 TYPE_NAME 中的每个条目,都有一个相应的工时值存储在命名范围 "HC_" 中,其中 TYPE_NAME。所有 HC_xxxx 都分散在我的工作簿中的不同位置

问:有没有工作表公式可以计算出VALUE = "Yes"每个TYPE的工时总和?

我尝试了以下数组公式,但它不起作用。

{=SUMIF(TYPE_VALUE, "Yes", INDIRECT(CONCATENATE("HC_",TYPE_NAME)))}

它总是使用 TYPE_NAME 中的第一个条目,并根据 TYPE_VALUE="Yes" 标准对 HC_<1st entry> 的连续列求和。

您可能需要使用辅助列。假设范围 Type_Name 在 A 列中,名字在单元格 A2 中,您可以使用公式

=间接("HC_"&A2)

然后您可以对 Type_Value 和辅助列使用求和。