ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何求混合编排字符串内的英文字母数?

如何求混合编排字符串内的英文字母数?

作者:绿色风 分类: 时间:2022-08-17 浏览:105
楼主
99253415
Q:如何求混合编排字符串内的英文字母数?

A:如果需统计英文字母数的单元格在A2
全角英文字母数:
  1. =SUMPRODUCT((CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<41947)*(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))>41920))
半角英文字母数:
  1. =SUMPRODUCT((CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))>64)*(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<91))
半角+全角的英文字母数:
  1. =SUMPRODUCT((CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<41947)*(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))>41920)+(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))>64)*(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<91))
  1. =SUMPRODUCT((CODE(MID(ASC(A2),ROW(INDIRECT("1:"&LEN(A2))),1))>64)*(CODE(MID(ASC(A2),ROW(INDIRECT("1:"&LEN(A2))),1))<91))
亦可用SUM函数返回数组公式。

解析函数的41947、41920、64、91是什么意思:
半角最小的英文字母=CODE("A") 返回值为65
半角最大的英文字母=CODE("Z") 返回值为90
全角最小的英文字母=CODE("A") 返回值为41921
全角最大的英文字母=CODE("Z") 返回值为41946
所以我们只需要统计CODE的返回值在64~91或41920~41947的个数,即可得出包括半角和全角英文字母数。
如何求混合编排字符串内的英文字母数?.rar
2楼
liuguansky
  1. =COUNT(0/(1-ISERR(N(INDIRECT(MID(A2,ROW(1:99),1)&4^8)))))
全部英文字母。
3楼
laowuwyx
所有英文字母的公式复杂了,一个比较简单的。
  1. =COUNT(N(INDIRECT(MID(A2,ROW($1:$99),1)&1)))
数组。
4楼
liuguansky
学习了。
不过用&1的话,可能第一行本身会出现错误值。最好用最后的行。
不过直接COUNT就行了。我的思路多走了一步。
5楼
laowuwyx
1改成较大的数就可以了。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap