
收到粉丝的留言,数据表是二维表,需要从表查找并返回最大值对应的日期,很是苦恼,寻不到方法,接下来,跟着小兔一起看看怎么做的吧!
这是一份水果采购统计表,日期在行,品类在列,这样的一份二维数据表,如下图所示:

现在需要查找最大值,且返回最大值对应的日期。我们可以这样做:
1、MAX找出最大值
首先可以借助MAX函数,找出数据范围内的最大值。公式为:=MAX(B3:K6)
该公式将返回单元格区域B21:K24内的数值最大值。

2、OFFSET返回日期
OFFSET 函数的作用是返回一个基于指定参考点的范围,这个范围的大小和位置可以由行和列的偏移量来确定。
在本例中,OFFSET函数用来返回最大值对应的日期,公式可以这样写:
=OFFSET($A$2,,MAX((E11=$B$3:$K$6)*COLUMN($B$3:$K$6))-1)

其中,
OFFSET($A$20,…):
OFFSET 函数基于指定参考点$A$20(即起始单元格),行偏移量省略(即不偏移行),这里列偏移量是由 MAX 函数计算得出的,来返回对应的范围。
MAX((E11=$B$3:$K$6)*COLUMN($B$3:$K$6))-1:
这个部分首先是一个数组公式,它比较单元格 E29 的值与范围 $B$3:$K$6 中的值。
(E29=$B$3:$K$6) 产生一个逻辑数组,其中 E29 等于 $B$3:$K$6 中的值的位置会是 TRUE(在数学运算中,TRUE 被当作 1),其余的位置是 FALSE(在数学运算中,FALSE 被当作 0)。
COLUMN($B$3:$K$6) 生成一个列号数组,对应范围中每一列的列号。
MAX((E11=$B$3:$K$6)*COLUMN($B$3:$K$6)) 计算在逻辑数组中 TRUE 对应的列号中的最大值,即 E11 匹配的列号中最大的那个。
最后,-1 是因为 OFFSET 函数的列偏移量是基于 0 的索引系统的(即第一个列偏移量为 0,第二个列偏移量为 1,以此类推),所以需要减去 1 来得到正确的偏移量。
以上就是小兔分享的具体实现方法,公式虽然看起来很复杂,但只要认真去理解每个函数代表的意思,就能轻松掌握,进而举一反三。
若还有疑问,或者有更好的解决方法,欢迎在评论区留言交流哦~
想了解更多精彩内容,快来关注