CvR*_*CvR 6 excel vba excel-vba excel-formula
我需要一种方法来在一个单元格内分别计算数字和字母.
例如,如果一个单元格包含,1234567ABC我需要能够将其输出为
我想不出一种方法来使用len()可行的函数,countif只计算细胞本身.
任何帮助,将不胜感激.
如果每个单元格只用数字和字母填充,快速非vba方法就是将替换函数嵌套10次以删除10个数字字符.你剩下的只是alpha.然后你可以len()使用alpha文本/从原始长度中减去该数字以获得数字长度.
假设"1234567ABC"在单元格A1中:
该公式给出了字母数.(3)
=LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,0,""),1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""))
Run Code Online (Sandbox Code Playgroud)
这个公式给出了总数:(7)
=LEN(A1)-LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,0,""),1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""))
Run Code Online (Sandbox Code Playgroud)
如果您想以其他方式/更深入地开始处理数据,则可能需要VBA解决方案.
注意
要满足原始帖子中的要求,请将此后缀添加到上述公式的末尾:
=x & " Numbers / Letters"
Run Code Online (Sandbox Code Playgroud)
其中x =上述两个公式.这将在计算出的数字后添加文本.
进一步阅读:
以下链接详细介绍了执行类似操作的VBA UDF:http: //www.mrexcel.com/forum/excel-questions/16364-how-remove-numbers.html
补充更新(谢谢lori_m)
这个公式很容易阅读/更新:
=SUM(LEN(A1)-LEN(SUBSTITUTE(A1,{1,2,3,4,5,6,7,8,9,0},"")))
Run Code Online (Sandbox Code Playgroud)