网站大量收购独家精品文档,联系QQ:2885784924

SUMIF之跨表统计以及INDEX()的致命伤.xls

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3 2 1 葵花点穴 诶呀我的妈呀 郑重的起誓 惊涛骇浪 排山倒海 汇总 fx 6.00 fy 6.00 sht_name 1.00 ] 1.00 1.00 1000.00 莫小贝 小六 小米 湘玉 流星 小雨 夏东海 角色 欢迎度 欢迎度汇总-错误 欢迎度汇总-正确 如果表格的名称是规范的我们可以用INDIRECT()嵌套row(1:n)之类的函数进行数组运算,那应该是比较简单的。 发展 先就简单的情况演示一下 汇总-朴素 朴素 汇总-发展 朴素的方式是我思维的基础,从朴素的公式我分析出需要用SUM()---之间都是用 + 运算 需要把单引号中的1,2,3用ROW(1:3)来数组化 其中列号(B,C,D,E,F,G,H)的改变和公式承载单元格是同步的,考 虑用column()把他们联系起来 运用INDIRECT()把这些地址用字符串运算符把每个需要的元素粘合在一起。 其中,列号用COLUMN()绑定是这样的:运用了CHAR(),CODE(). 于是: 使用朴素的方式可以为我们提供格式,这样我们就没有必要去记格式了,照什么葫芦什么瓢。 朴素的东西是不完善的,但她为我们提供了一条可参考的重要的线索。 工作表命名混乱的情况 上面的例子之所以简单,是得益于工作表命名规范性---1,2,3(泛指工作表名称中绝大多数文字相同,只是个别用数字序列或字母等来区分的情况) 那么对于工作表命名混乱的情况该如何呢。 于是:最终的公式{=SUM(N(INDIRECT(ROW(1:3)!CHAR(65+COLUMN()-1)2)))} =SUM(N(INDIRECT({1!B2;2!B2;3!B2}))) 对于朴素的公式=排山倒海!H2+惊涛骇浪!H2+郑重的起誓!H2+诶呀我的妈呀!H2+葵花点穴!H2+1!H2+2!H2+3!H2 =1!H2+2!H2+3!H2 我们发觉实质是相同的,就是表格名称没有规律性。 这里我们就用到了提取工作表名称的 名称定义:sht_name=mid(get.workbook(1),find(],get.workbook(1))+1,1000)t(now()) {汇总,排山倒海,惊涛骇浪,郑重的起誓,诶呀我的妈呀,葵花点穴,1,2,3} 用F9庖丁解牛: sht_name= 发现我们定义的名称SHT_NAME为我们提供了一个包含工作表名称的数组,我们只要用公式从这个数组中提取工作表名称分配给 汇总项的求和因子就能把公式从朴素升级到发展。 由于 汇总 表的存在,直接用SHT_NAME做数组参数不行。 ? 是不行的,主要是多加了 汇总表 的 B2. 就是说公式 相对莫小贝 于是我们想从这个数组从截取一段,我们称之为sht_name1,那么怎么生成sht_name1 呢? 刚开始:我想当然的认为: sht_name1 {=index(sht_name,row(2:9))} 但是用庖丁解牛发现 结果并不是数组,而是一个数;不解,也许就是INDEX()的致命伤吧。 于是发了求助帖,主要就是钻到IDNEX()的致命伤里面了。 吃饭回来后,看了朋友的回复,反觉是个简单的问题,使用了LOOKUP函数。 在此还是感谢那位朋友,呵呵。 sht_name 用F9解读后:{排山倒海;惊涛骇浪;郑重的起誓;诶呀我的妈呀;葵花点穴;1;2;3} 我觉得这个问题是个普遍的问题,因为很多数据源都是很不规范的,所以这是个很有杀伤力的武器。 另外大家要注意的就是这个问题的衍生发现:=INDEX(SHT_NAME,ROW(2:9))不能用来生成一个新的数组。 也许中间由于个人的知识有限导致了不正确的结论,希望大家给予指正。 好了! 没想到想探探SUMIF的底细居然探出个这么个东西拉,我想到擂台上也上他们显示一把。呵呵。 总结多表格数据汇总问题 -----结合以前的帖子和自己的发挥 在浏览SUMIF函数相关帖子的时候发现了一个帖子,也是讲多表汇总的,多表名称是不规范的情况。但里面的公式不够简洁。 这就是我们想要的。和sht_name相对比就是少了 汇总 所以,公式可以这样: 25.00 85.00 65.00 14.00 23.00 87.00 99.00 89.00 25.00 36.00 52.00 85.00 69.00 21.00 75.00 70.00 88.00 33.00 28.00 75.00 31.00 13.00 81.00 90.00 94.00 55.00 64.00 87.00 53.00 3.00 12.00 44.00 76.00 18.00 53.00 1.00 13.00 69.00 97.00 93.00 8.00 9

文档评论(0)

Wow + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档