Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4581|回复: 11

[已解决]公式该怎么写?

[复制链接]
发表于 2012-9-17 13:17 | 显示全部楼层 |阅读模式
本帖最后由 1091126096 于 2012-9-17 14:36 编辑

{FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0},返回这一数组有几个>0的数,该怎样写公式?COUNTIF 好像只能统计单元格区域,不能统计数组。

       补充问题:数组中一定没有负数,但相同的数字可能有多个,不一定2个,减去1的方法不可取。实际是计算数组中不重复的大于0的数字的个数。数组可能更复杂,如   {FALSE;3;3;2;0;3;2;3;2;0;0;FALSE;FALSE;0;0;0}
最佳答案
2012-9-17 15:17
本帖最后由 高 于 2012-9-19 17:33 编辑

=SUM(IF(FREQUENCY(--{FALSE;3;3;2;0;3;2;3;2;0;0;FALSE;FALSE;0;0;0},ROW(1:100)-1)>0,1,0))-1
数组公式,这个公式是没问题的
ROW(1:100)-1这里的-1是后来改的,这样才对
发表于 2012-9-17 13:24 | 显示全部楼层
这个意思?
  1. =SUMPRODUCT(IF(--{FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0}>0,1))
复制代码
回复

使用道具 举报

发表于 2012-9-17 13:25 | 显示全部楼层
本帖最后由 CheryBTL 于 2012-9-17 13:27 编辑

咱也来一个:
  1. =INDEX(FREQUENCY({FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0},1),2)
复制代码
或者如果没有负数:
  1. =COUNT(0/{FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0})
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-9-17 13:26 | 显示全部楼层
windimi007 发表于 2012-9-17 13:24
这个意思?

=SUM(IF({FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0}>0,1))  返回的结果为什么是6, FALSE也>0了?
回复

使用道具 举报

 楼主| 发表于 2012-9-17 13:39 | 显示全部楼层
本帖最后由 1091126096 于 2012-9-17 13:42 编辑
CheryBTL 发表于 2012-9-17 13:25
咱也来一个:或者如果没有负数:


没有负数,但其中两个3,只算一个,重复的只算一个。
回复

使用道具 举报

 楼主| 发表于 2012-9-17 13:41 | 显示全部楼层
tkgg93 发表于 2012-9-17 13:38
是数组公式,按三键结束

您的答案返回3,我的返回6.  我希望返回2,数组中有两个3,重复的算一个,我没说清,对不起!
回复

使用道具 举报

发表于 2012-9-17 13:42 | 显示全部楼层
貌似很难。。我也想知道。。
回复

使用道具 举报

发表于 2012-9-17 13:45 | 显示全部楼层
本帖最后由 CheryBTL 于 2012-9-17 13:49 编辑

数据中一定有0的话:
  1. =COUNT(0/FREQUENCY({FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0},ROW(1:99)))-1或
  2. =COUNT(0/FREQUENCY({FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0},ROW(A:A)))-1
复制代码
如果不一定,就再增加一个判断是否有0的情况即可。即:
  1. =COUNT(0/FREQUENCY({FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0},ROW(A:A)))-OR({FALSE;3;3;2;0;0;0;FALSE;FALSE;0;0;0}=0)
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-9-17 14:30 | 显示全部楼层
本帖最后由 1091126096 于 2012-9-17 14:37 编辑
CheryBTL 发表于 2012-9-17 13:45
数据中一定有0的话:如果不一定,就再增加一个判断是否有0的情况即可。即:


一定没有负数,也一定有0,但相同的数字可能有多个,不一定2个,-1的方法不可取。实际是计算数组中不重复的大于0的数字的个数。数组可能更复杂,如   {FALSE;3;3;2;0;3;2;3;2;0;0;FALSE;FALSE;0;0;0}

回复

使用道具 举报

发表于 2012-9-17 15:17 | 显示全部楼层    本楼为最佳答案   
本帖最后由 高 于 2012-9-19 17:33 编辑

=SUM(IF(FREQUENCY(--{FALSE;3;3;2;0;3;2;3;2;0;0;FALSE;FALSE;0;0;0},ROW(1:100)-1)>0,1,0))-1
数组公式,这个公式是没问题的
ROW(1:100)-1这里的-1是后来改的,这样才对
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 15:23 , Processed in 1.555449 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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