关于重复记录的公式问题我在网上查
1、“--”的含义
简单一句概括它的作用就是把类似于数值型的数据转化成数值型,以方便计算。在很多时候,可以用“*1”来代替。
通常用在转化逻辑值和以文本表述的数字所参与运算表达式中。 “SUMPRODUCT(--(MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1)))”这个公式中,“MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1)”比较的结果是逻辑值,要么为True,要么为False,在其前面加上“--”后就可以将逻辑值转化成可计算的数值,True相当于1,False相当于0。 “--(MATCH(A2:A20,A2:A20...全部
1、“--”的含义
简单一句概括它的作用就是把类似于数值型的数据转化成数值型,以方便计算。在很多时候,可以用“*1”来代替。
通常用在转化逻辑值和以文本表述的数字所参与运算表达式中。
“SUMPRODUCT(--(MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1)))”这个公式中,“MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1)”比较的结果是逻辑值,要么为True,要么为False,在其前面加上“--”后就可以将逻辑值转化成可计算的数值,True相当于1,False相当于0。
“--(MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1))”还可以写成“(MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1))*1”
“--”另一个经常用的地方是Text()函数前面。
比如从18位身份证号中提取出生日期,“=TEXT(MID(A1,7,8),"#-00-00")”,这个公式得到了一个日期,不过这个日期是文本型的,我们想要通过单元格格式设置为其他的日期形式,比如“yyyy年mm月dd日”的形式是不行的,如果公式前面加上“--”就可以了,试试看。
2、关于SUMPRODUCT()函数中的数组结构
教你一个学习公式的技巧,在Excel菜单中,点“工具”-》“公式审核”-》“公式求值”,通过这个可以看到公式的计算过程,可以更好地了解公式的工作原理,也能看清楚数组的结构。
SUMPRODUCT()在Excel中是一个很富有想像力的函数,通常用来转化一部分数组公式(带多条件求和或者计数的数组公式)为普通公式,她的原理很简单,如果数组是一维的,就对这个一维数组求和,如果是多维的,那么,先将每个维度里对应的元素相乘后,再求和(如有单价和数量的两维数组,要求总金额,就可以用SUMPRODUCT(单价,数量)了。
“SUMPRODUCT(--(MATCH(A2:A20,A2:A20,0)=(ROW(A2:A20)-1)))”这个公式中显然只有一个维度的数组,所以就对这一组数内的所有元素求和。要求和,数组内元素的数据类型必须是数值型,所以要用“--”转化一下。
其他的问题,楼上的“多多”同志已经讲得非常详尽,不另陈述了。
需要补充一点的是,数组运算需要更多的系统资源,如果数据量小,只做简单统计的话,可以考虑使用数组公式做统计,否则,要考虑使用数据库函数或者使用数据透视表来完成。
收起