早教吧 育儿知识 作业答案 考试题库 百科 知识分享

尤其是4^8这里.=INDEX(B:B,SMALL(IF(MATCH($B$5:$B$30&$C$5:$C$30&$D$5:$D$30,$B$5:$B$30&$C$5:$C$30&$D$5:$D$30,)=ROW(A$5:A$30)-4,ROW(A$5:A$30),4^8),ROW(A1)))&""B,C,D三列的5-30行值如果相等的话则等于对应的列,否则显示为最大值

题目详情
尤其是4^8这里.
=INDEX(B:B,SMALL(IF(MATCH($B$5:$B$30&$C$5:$C$30&$D$5:$D$30,$B$5:$B$30&$C$5:$C$30&$D$5:$D$30,)=ROW(A$5:A$30)-4,ROW(A$5:A$30),4^8),ROW(A1)))&""
B,C,D三列的5-30行值如果相等的话则等于对应的列,否则显示为最大值(4^8次方就最大值).
small函数然后在这个区域里调取最小的值.
然后index显示具体的值……
▼优质解答
答案和解析
分析这一个长公式,我试下用由外而内分拆公式,再由内而外逐层分析吧.
(如果有具体的数据,分析起来方便一些,否则解释起来有点罗嗦)
一、将公式由外而内分拆为如下四层:
1、公式最终返回值 =INDEX(B:B,B列某行)&""
2、B列某行 =SMALL(一列行号,ROW(A1))
3、一列行号 =IF(条件,ROW(A$5:A$30),4^8)
4、条件:MATCH($B$5:$B$30&$C$5:$C$30&$D$5:$D$30,$B$5:$B$30&$C$5:$C$30&$D$5:$D$30,)=ROW(A$5:A$30)-4
二、由内而外对上述分拆的公式分析如下:
1、最内一层的条件,我只对等号前的部分分析一下,等号后面的部分不难理解了.
等号前的部分是:
MATCH($B$5:$B$30&$C$5:$C$30&$D$5:$D$30,$B$5:$B$30&$C$5:$C$30&$D$5:$D$30,)
对照MATCH函数的语法:MATCH(查找的值,查找的范围,查找方式)
查找的值为:$B$5:$B$30&$C$5:$C$30&$D$5:$D$30
即第5行查找的值为:B5&C5&D5
第6行查找的值为:B6&C6&D6
……
第30行查找的值为:B30&C30&D30
查找的范围是:$B$5:$B$30&$C$5:$C$30&$D$5:$D$30
这部分如果有具体数据就好解释一些,你自己参照第一个参数理解一下吧.
查找方式是0(在函数的参数中,0或FALSE往往可以省略,即只用逗号分隔参数,不必再写上0或FALSE)
2、内面第二层,是通过IF函数判断,如果符号条件,则返回对应的行号,对满足条件的行,则返回65536
这里4^8,就是65536,也就是03版Excel的最大行数
最外面的两层,经过分拆后应该容易理解,不再累赘.
另外,公式最外层INDEX函数后面的&"",是为了保证公式返回文本值,例如如果INDEX函数提取的是一个空单元格,后面如果不加&"",则公式返回0,加了&"",则返回空文本"".