有人可以解释一下这个 VLOOKUP-MATCH-INDEX 公式的工作原理吗?

有人可以解释一下这个 VLOOKUP-MATCH-INDEX 公式的工作原理吗?
(VLOOKUP($C10,Trans_CIQ!$A$8:$AZ$95,MATCH(D$9,Trans_CIQ!$A$8:$AZ$8,INDEX(Trans_CIQ!$A$886:$AZ$886,1,0)),0)*100000)

这个公式不知为何有效,但我不明白它是如何工作的。我尝试通过分离函数来遵循它,但仍然不明白。

Vlookup(查找值(公司名称)、表数组(查找位置)、col_index_num(查找哪一列)、[范围查找](始终为 0))给出符合条件的值

Match(lookup_value (CapIQ 图表标题),lookup_array (查找位置), [匹配类型] (精确)) 给出列表中的项目编号

Index(数组(表格),row_num,[列号]) 返回单元格中的值

答案1

INDEX(Trans_CIQ!$A$886:$AZ$886,1,0)

因为第三个标准是0它实际上返回的是引用范围的整个第一行的数组。这1告诉公式需要第一行。

但由于范围只有一行,因此 INDEX 只是增加了噪音,可以被删除。

Trans_CIQ!$A$886:$AZ$886

将返回相同的数组。

MATCH(D$9,Trans_CIQ!$A$8:$AZ$8,INDEX(Trans_CIQ!$A$886:$AZ$886,1,0))

在 Index 返回的数组中查找 D9 中的值并返回相对列号。返回给 VLOOKUP 的列号决定返回哪一列作为答案。

但如上所述,INDEX 是不需要的,而且它在第三个标准中应该返回错误并且不起作用,请将其替换为-101

MATCH(D$9,Trans_CIQ!$A$8:$AZ$8,0)

因此假设 MATCH 返回第 5 列,因为 D9 中的值位于包含在列表中的位置,Trans_CIQ!$A$8:$AZ$8 它将返回5到 VLOOKUP 的第三个条件。

VLOOKUP($C10,Trans_CIQ!$A$8:$AZ$95,5,0)

然后找到C10Trans_CIQ!$A$8:$A$95 返回第 5 列(在本例中为 E 列)中找到该值的值。

然后将*100000收益乘以 100000

相关内容