我想计算某个单元格范围内的单词和字符数,排除所有以“§”开头的单元格。
该文本是任意的 UTF8 文本,例如:
“我的测试字符串” = 3 个单词,14 个字符
“über den Wolken” = 3 个单词,15 个字符(16 个字节)
“план” = 1 个字,4 个字符 (8 个字节)
“§anything” = 0 个单词,0 个字符(由于以§开头所以排除)
宏应该将所有这些值加起来并给出单词/字符的总数。
答案1
你确定需要宏吗?一种潜在的非宏设置:
- 文本在 A 列中
- 在 B 列中,
=IF(LEFT(A1;1)="§";"";TRIM(A1))
如果字符串以 § 开头,则用空字符串替换该字符串,否则删除任何前导、尾随或双空格 - 在 C 列中,
=IF(LEN(B1)=0;0;LEN(B1)-LEN(SUBSTITUTE(B1;" ";""))+1)
这是单词数。对于空字符串,它显示 0 个单词。否则,它会计算空格数并加 1 来计算单词数。 - 在 D 列中
=LEN(B1)
,这是字符数。如果您的某些字符串中有双空格,而您确实希望将其计算在内,则可能需要调整最后一个公式(因为 TRIM 函数会删除双空格以及尾随空格)。
所有公式都可以复制粘贴,无论您需要多少列。然后您可以在另一个单元格中汇总字数和字符数。