今天碰到一个excel中的问题,要找到每行数据中的最大值,最小值,第二大值的所在列,并返回它们的列名
如:
id | c1 | c2 | c3 | c4 | c5 |
---|---|---|---|---|---|
01 | 10 | 22 | 23 | 1 | 6 |
要找到id为01的最大值(23)、最小值(1),第二大值(22)的所在列,并返回它们的列名
其中,找到最大值,最小值,开源分别用max(),min()函数来找到,而中间的函数可以通过其他方法,如large()函数来找到。
large()函数用法:large(范围,名次)
如:large(c1:c5,2) 选择c2-c5的第二大值
在找到这些值之后,需要的是对这些值进行定位。
主要涉及的方法有:
index()和match()
index(要找的首行范围,第m行,第n列)
match(要找的值,可能包含该值的范围,排列参数)
如:index($AP$1:$AS$1,1,match(j,ap2:as2,0))
表示在AP1-AS1的第一行范围内找到j所在位置,并返回该值的列名
本次解决方案:1
INDEX($B$1:$M$1,1,MATCH($N2,$B2:$M2,))