求大神给我讲解一下这个excel函数所用的函数及语法

=IFERROR(INDEX(INDIRECT(C$1&"!$A$2:$B$1000"),MATCH($A5,INDIRECT(C$1&"!A:A"),0)-1,2),"0")

C$1&"!A:A" C1的值应该是工作表名称。 C1的值与字符串 "!A:A" 连结在一起,形成一个新的长字符串,公式只当它们是文本型的字符,而不是地址引用。
INDIRECT(C$1&"!A:A") INDIRECT可以将字符表达式转换为地址引用,在这里是将上面的长字符串转换为公式能识别的单元格:某工作表(名称为C1的值)的A列全列。
MATCH($A5,INDIRECT(C$1&"!A:A"),0) 在某工作表(名称为C1的值)的A列查找与本表A5的值相同的单元格,并返回第一相同的单元格的行号。后面的数字零是MATCH的参数,一般都用0。
INDEX 语法:INDEX(单元格区域,行,列) 返回单元格区域的某行某列的那个单元格
INDEX(INDIRECT(C$1&"!$A$2:$B$1000"),MATCH($A5,INDIRECT(C$1&"!A:A"),0)-1,2)
这个是整个公式的主干
单元格区域:INDIRECT(C$1&"!$A$2:$B$1000")
行:MATCH($A5,INDIRECT(C$1&"!A:A"),0)-1
列:2
其实这一段可以简化为 INDEX(INDIRECT(C$1&"!$B:$B"),MATCH($A5,INDIRECT(C$1&"!A:A"),0))
IFERROR 语法:IFERROR(公式主干,公式主干结果为错误值时想要返回的值)
在这里,后面的文本型数字零"0",就是公式主干结果为错误值时想要返回的值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-28
分开查各个函数的意义,具体用法可以点fx获得帮助
IFERROR(表达式1,表达式2)结果为表达式1的值,但是如果表达式1值为错误,结果为表达式2
INDEX(区域,位置)返回区域里面指定位置的单元格
INDIRECT(文本表达式)返回表达式指定的位置
MATCH(数,区域,匹配方式)寻找某个数在区域中的位置本回答被提问者采纳
相似回答