我想使用名称列(search key)
中的值,并在带有标题[name, regular, overtime]
的表中查找它们。
我使用的公式是:
=ArrayFormula(index(rateTable, match(formName,workers,0),match(formType,rateTypes,0),0)*{formHours})
除了MATCH
公式中的搜索键之外,它都起作用,它不会引用名称列中的每个相应条目,而只能使用一个对单元格的固定引用。
我是否正在尝试使用此公式超出其功能范围?我想知道是否应该停止搜索。谢谢。
以下是指向我的工作表副本的链接: https://docs.google.com/spreadsheets/d/1sovuTB4zSTpl0RUHciYltr-pf8g4KPTgkYVE5lB4Ifk/edit?usp=sharing
=ArrayFormula(index(rateTable, match(formName,workers,0),match(formType,rateTypes,0),0)*{formHours})
答案 0 :(得分:0)
INDEX
不适用于ARRAYFORMULA
所需的数组。要么……
使用复制的公式,而不要使用单个ARRAYFORMULA
,例如
=IF(NOT(LEN(A2)),"",index(rateTable, match(C2,workers,0),match(G2,rateTypes,0))*H2)
并将其拖放到第一列,
或重构您的INDEX(,MATCH(
来依赖VLOOKUP
和HLOOKUP
。
答案 1 :(得分:0)
如果使用VLOOKUP
公式,则此任务最好。粘贴到 I2
单元格中:
=ARRAYFORMULA(IF(LEN(formName), IFERROR(VLOOKUP(formName, rateTable,
IFS(formType="Regular", 2,
formType="Overtime", 3), 0)) * formHours, ))