如果每个单元格仅填充数字和字母,实现此目的的一种快速非 vba 方法是嵌套替代函数 10 次以删除 10 个数字字符。你剩下的只是阿尔法。然后您可以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,""))
这个公式给出总数:(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,""))
如果您想开始以其他方式/更深入地处理数据,则可能需要 VBA 解决方案。
注意
为满足您原始帖子中的要求,请将此后缀添加到上述公式的末尾:
=x & " Numbers / Letters"
其中 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},"")))