一般来说,没有。对于您的具体情况,有点。
假设你有一张这样的桌子
a 42
b 2
c 3
在 E8:F10 中。如果您使用这样的数组调用 VLOOKUP:
=VLOOKUP({"a","c"},E8:F10,2,FALSE)
您将返回一个值数组:{42,3}。 (以数组函数的形式输入公式...Ctrl+Shift+Enter。)因此在这种情况下您可以执行地图部分。
不幸的是,如果将 VLOOKUP 返回的数组全部放入一个公式中并将结果放入一个单元格中,AVERAGE 似乎不适用于 VLOOKUP 返回的数组。更糟糕的是,它似乎可以工作,但只使用第一个元素,即使您将整个元素作为数组公式输入也是如此。也就是说,如果你输入:
=AVERAGE(VLOOKUP({"a","c"},E8:F10,2,FALSE))
在单元格 H12 中,即使您将其作为数组公式输入,您也会得到 42 而不是 22.5。
奇怪的是,将相同的公式放入两个单元格中,例如 H16:I16,并将其作为数组公式输入,会返回一个包含两个元素的数组:{22.5, 22.5}。 (这可能只是一个单元素数组扩展到两个单元格。)因此您可以获得所需的内容,而不必拥有一整套大型中间结果数组。 (使用数组代替工作表函数的非数组参数可能很奇怪。请参阅:是否有关于使用数组参数调用的内置 Excel 函数的行为的文档? )
当然,更类似于 Excel 的方法是使用中间数组,而不是尝试将其压缩为花哨的数组公式。您将有一个要查找的字符串列表,然后将一个普通的 VLOOKUP(带有对查找表的绝对引用)向下/跨过平行行/列拖动,然后对结果进行平均。