楼主 悟空师弟 |
Q:如何理解 【A1&* 】和 【A1&? 】在COUNTIF的第二个参数中的区别? 如下图:B2单元格公式为
而C2单元格内的公式为
A:原因在于通配符*不占位,而?占1位。 数据简单化为例:假如A2单元格的数据为 ABC ,用 A2&"*" 做条件,凡是以 ABC 开头不管多少个字符的字符串都满足条件 A2&"*" ,字符串 ABCDEFG 符合条件, ABC 也符合条件。 但,如果用 A2&"?" 做条件,则首先需要以 ABC 开头,且字符长度等于 ABC 的字符长度(3个)+1 (问号占一个,共4个)才符合条件A2&"?" ,比如ABCD、ABCF、ABC7、ABC我 或 ABC 再加任何一个字符都满足条件,但,如果是 ABC 开头但字符数不是4个的字符串都不符合条件, ABC不够4字符,不满足条件。 同理,将 ABC 换成一个长数值也一样, A2单元格内是个长数值,与此同理。 这样,不难看出两个公式的差异: 以上图中数据为例:
如果A列出现1个以 A2单元格开头且字符长度为19个 的单元格,则统计结果将会得到 1 ,而且出现几个结果就是几,如下图中A20:A23这4个单元格内都满足 A2单元格开头且字符长度为19个 这个条件,C2单元格同则返回 4 ,而这4个单元格并不是真正与A2单元格完全一样的单元格,所以,用 A2&"?" 为条件的公式是错的。 另外,上图中A2单元格和A20:A23都同时满足A2&"*" 这个条件,计算结果为5,也不是真正需要的正确结果。 所以,由此得出公式 =COUNTIF(A:A,A2&"*") 只在A列长数值的文本长度一致时可用,否则需要判断字符长度是否与A2一致,公式须改为比较复杂的数组公式:
如何理解“A1连接通配符星号”和“A1连接问题”在COUNTIF的第二个参数中的区别?.rar |
2楼 君柳 |
折腾两小时果然有收获 |
3楼 acecrazy |
长数值开头是不是“常数值” 关键词 “符星号”是不是应该是“星号符” |
4楼 悟空师弟 |
“长数值”不是“常数值”,长数值是指超过15位的数值,如果不超过15位的数值直接用A2即可,不需要用A2&"*"。 “符星号”中的“符”字连着“通配”而不是连着“星号”,意思是指“通配符星号”,因文件名不能出现"&"号和"*"号这样的特殊字符,所以只能用中文描述。 |
5楼 poiuyman5 |
Very Nice!!! |