关于EXCEL中,INDIRECT和MATCH函数的使用

关于EXCEL中,INDIRECT和MATCH函数的使用
IF($A5="","",INDIRECT("'"&B$2&"'!C"&MATCH("合 计",INDIRECT("'"&B$2&"'!A"&MATCH($A5,INDIRECT("'"&B$2&"'!A1:A541"),0)&":A541"),0)+MATCH($A5,INDIRECT("'"&B$2&"'!A1:A541"),0)-1))
麻烦帮忙解释下上面这段公式的意思.谢谢~
ning1111 1年前 已收到1个回答 举报

鹰飞岁月 幼苗

共回答了13个问题采纳率:100% 举报

INDIRECT函数是引用函数,何为引用?举个例子,有一EXCEL表,A列的第一行的值是"B5",而B列第五行的值是"ABC",那么INDIRECT($A$1)返回的值就是B列第五行的值.也就是类似其他编程语言中的设定变量一样.
INDIRECT函数还可以分解引用的数据,譬如,A列的第一行的值是"5",你可以用INDIRECT("B"&$A$1),同样返回B列第5行的值.(括号内的"B"&$A$1其实就是字符"B"加上A列第一行的值"5",也就是"B5")
MATCH 函数是查找你需要的数据,然后返回数据所在的位置(从你指定的行数开始,在第几行,不是绝对的行号,而是相对的,譬如说,你从第2行至第10行之间找,而匹配的数据在第3行,返回的不是3,而是2,明白吗?)
MATCH函数还有一个match_type参数,分为1,0,-1,
其中
1是指查找小于或等于你设定查找内容的最大数值.你查找的那一列必须按升序排列.
0是指查找等于你设定查找内容的值,你查找的那一列对排序没有要求.
-1是指查找大于或等于你设定查找内容的最大数值.你查找的那一列必须按降序序排列.
具体的例子你可以看一楼的回答,应该能看懂.
PS:关于绝对引用,你可以写成$A$1,也可以写成A$1或者$A1,“$”符号的作用就是绝对定位,写成列前面是列绝对定位,写成行号前面是行绝对定位,也就是说当单元格发生变化的时候,列号和行号不发生变化,反之,则相应更改.
PS:回楼主,你的理解是对的.

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.028 s. - webmaster@yulucn.com