ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: jiyunfeng

[求助] 如何在sheet2中对厂家进行数据汇总? 求救!!

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2006-4-21 11:47 | 显示全部楼层
是這樣的: 第3樓,您回復的附件中的公式(單元格A2): =IF(ROW(1:1)>count,"",INDEX(Sheet1!$B$2:$B$24,MATCH(,COUNTIF($A$1:A1,Sheet1!$B$2:$B$24),)))$B$2:$B$24),))) 其中: COUNT = SUM(1/COUNTIF(SHEET1!$B$2:$B$24,SHEET1!$B$2:$B$24)) 為什麼在單元格裡只有顯示ROW(1:1)>count,而不是SUM(1/COUNTIF(SHEET1!$B$2:$B$24,SHEET1!$B$2:$B$24)) 而且在您的附件中的其它單元格裡輸入公式=count時,結果都會 =11 為什麼呢?

TA的精华主题

TA的得分主题

发表于 2006-4-21 12:09 | 显示全部楼层

把公式定义为名称

菜单:插入-名称-定义
名称:count
引用位置:= SUM(1/COUNTIF(SHEET1!$B$2:$B$24,SHEET1!$B$2:$B$24))

在单元格公式中要引用上面公式时,可用名称代替,使用名称在这里只是缩短公式长度的作用,使公式可读性强一些。不用名称直接用公式也是可以的。

count写在工作表中,代表的是那个区域中不重复数的个数。

同样的区域,不重复个数是一样的,你把公式写在哪个单元格,都不会改变这个“个数”的。

所以,都是11,不是才怪。

TA的精华主题

TA的得分主题

发表于 2006-4-21 13:33 | 显示全部楼层

哈哈,恍然大悟

真是高明啊,以前都根本不會用的,真是太感謝您了。 在這裡果然是可以學到太多的EXCEL知識了, 讓我真確地感受到Excel的博大精深,還有這裡良好的學習氣氛, 以後一定要多多向高手門學習,學習,再學習...

TA的精华主题

TA的得分主题

发表于 2006-4-21 13:34 | 显示全部楼层

是谁这么聪明,居然能想到用1来除这么妙的方法!!

真是天才~

天哪…………

TA的精华主题

TA的得分主题

发表于 2006-4-21 14:45 | 显示全部楼层

COUNTIF(区域,区域)是数组公式,得到区域中每项出现次数的数组。比如"A"出现了5次,则在数组中就有5个5,再被1除就是5个1/5,相加后就是1,实现了每种类型之和为1。

TA的精华主题

TA的得分主题

发表于 2006-4-22 12:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-6-29 21:21 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2006-7-5 23:08 | 显示全部楼层

有朋友问:

假如这个区域是A1:A100,但并不是每个单元格里都有数据而只是空值,比如说其中A20是空值,这时会出现除零错误,能不能忽略空值而计算出正确的个数?

这样:

QUOTE:

=SUM(IF(A1:A100="","",1/COUNTIF(A1:A100,A1:A100)))

请在A1:A10中输入测试数据:

 

B1=SUM(IF(A1:A10="","",1/COUNTIF(A1:A10,A1:A10)))

选择上面所示部分,按F9键,如果为:

=SUM(IF(A1:A10="","",{0.5;0.5;0.5;0.5;#DIV/0!;1;#DIV/0!;#DIV/0!;1;1}))

选择Sum()中的全部:

=SUM(IF(A1:A10="","",1/COUNTIF(A1:A10,A1:A10)))

或:

=SUM(IF(A1:A10="","",{0.5;0.5;0.5;0.5;#DIV/0!;1;#DIV/0!;#DIV/0!;1;1}))

按F9键,得到如下结果:

=SUM({0.5;0.5;0.5;0.5;"";1;"";"";1;1})

这样,就把错误值#DIV/0!替换为"",接下来,就能得到正确的所需的结果。


[此贴子已经被作者于2006-7-5 23:11:30编辑过]
m7yq4qvr.bmp

TA的精华主题

TA的得分主题

发表于 2006-7-27 05:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
公式看的有点晕.

TA的精华主题

TA的得分主题

发表于 2006-7-27 06:27 | 显示全部楼层

楼主的问题用数据透视表三秒钟就能完成,不过借此问题学习学习函数还是很好的。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-22 10:05 , Processed in 0.045873 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表