求高手解决小弟的excel的问题,关于sumif和indirect函数的,小弟基础不好,求详尽的解释

问题描述:

求高手解决小弟的excel的问题,关于sumif和indirect函数的,小弟基础不好,求详尽的解释
=SUMIF(INDIRECT("1!"&XX&":"&XX),$A2,INDIRECT("1!"&x&":"&x)),其中1为引用的表格,求详尽的解释
1个回答 分类:综合 2014-10-31

问题解答:

我来补答
先介绍INDIRECT,这个函数相当于其它语言里面的EVAL,功能是把参数表达式作为一个字符串进行运算,然后把运算的结果作其它函数的参数或者整个公司的结果.例如INDIRECT("A10")本质和A10是一样;再如INDIRECT("A"&A1),这个公式的结果与A1的值有关,如果A1为10那么整个公式的结果就是A10,如果A1的值是9那么整个公式的结果就是A9.
你的例子公式中的INDIRECT("1!"&XX&":"&XX)所表示的范围与XX的值有关,如果XX的值为3则整个公式的结果就是1!3:3,也就是工作表1的第3行;如果XX的值是B则整个公式的结果就是1!B:B,也就是工作表的第B列.
类似,你公式里面的INDIRECT("1!"&x&":"&x)的值与x的值有关,如果x的值是3则整个公式的结果就是1!3:3,也就是工作表1的第3行;如果XX的值是B则整个公式的结果就是1!B:B,也就是工作表的第B列.
现在介绍一下SUMIF函数,这是一个典型的按条件汇总函数,一般的格式是SUMIF(条件范围,条件,汇总范围),函数在条件范围里面找符合条件的数据,然后把对应在汇总范围里面的内容进行汇总,举例有如下表格:
   A列  B列  C列 D列
1行 姓名 班级 语文 数学
2行 张三 一班 50 60
3行 李四 一班 51 68
4行 王五 二班 52 67
5行 赵六 二班 53 66
6行 钱七 二班 54 65
那么计算一班所有同学的语文成绩的公式为=SUMIF(B:B,"一班",C:C),公式的含义是把B列里面内容为一班的学生对应C列的数据加起来,结果101.
最后来看你的公式=SUMIF(INDIRECT("1!"&XX&":"&XX),$A2,INDIRECT("1!"&x&":"&x)),结果与XX和x的值有关,假设XX的值为"B",x的值为"C",那么公式就是把表1中B列值为本表A2单元格的那些行的C列数据合计起来.
此外,你的公式里面的$A2意义就是A2,在A前面加上一个$符号,表示把这个公式复制到其它列或者向左右拖动的时候A不变,如果不在A前面加上$,那么把公式向右拖动的时候会变为B2.类似的还有A$2、$A$2的写法.
再问: 没怎么看懂,INDIRECT("1!"&XX&":"&XX)是关于工作表1中的什么东西的引用,为什么写成"1!"&XX&":"&XX,其中的''1",是指的是绝对引用工作表1吧,那么&xx&是说和xx?还有“:”是什么意思,最后的&xx呢?讲的详细点呗,我真的就是这个不懂,谢谢啊,那里面的xx并不是我随便写的助记符,而是原表中真的就是这样写的,为什么用xx,没理解
再答: &是一个字符串连接运算符,和许多语言的+一样,例如“ABC" & "DEF"的结果为”ABCDEF“,这样说你能明白吗? INDIRECT("1!"&XX&":"&XX)的结果于XX有关,例如XX的值为3,那么参数里面的值为"1!3:3”,外面的引号表示是个字符串的值,使用INDIRECT过后的值是1!3:3,没有引号表示是一个区间的引用。
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识