通常,我们会根据指定的位置查找值,例如使用VLOOKUP函数查找指定行列单元格中的值。然而,如果我们知道了某个值,需要查找这个值所在的单元格,这如何使用公式呢?
例如,下图1所示的工作表,其中数值最大的单元格是G5。我们可以使用:=Max(B2:M7)获取该区域中最大的数值,但怎样知道这个数在单元格G5中呢?
图1
我们可以使用SUMPRODUCT函数与ROW函数和COLUMN函数配合,分别获取该数所在的行和列,然后使用ADDRESS函数来获取单元格地址。公式为:
=ADDRESS(SUMPRODUCT((B2:M7=MAX(B2:M7))*ROW(B2:B7)),SUMPRODUCT((B2:M7=MAX(B2:M7))*COLUMN(B2:M2)),4)
返回单元格G5。
按照这样的思路,我们可以分别获取该区域最大值所在的行列标题。公式:
=INDIRECT(ADDRESS(SUMPRODUCT((B2:M7=MAX(B2:M7))*ROW(B2:B7)),1))
返回“商品D”,即该数值对应的商品名。
公式:
=INDIRECT(ADDRESS(1,SUMPRODUCT((B2:M7=MAX(B2:M7))*COLUMN(B1:M1))))
返回“六月”,即该数值对应的月份。
综上,表明该最大数值对应商品D在六月份的数量。
小结:本示例技巧关键在于理解公式中SUMPRODUCT函数部分的技巧。