答案1
出现问题的原因在于 Excel 将使用表达式“=000”、“=00”和“=0”评估 A 列中的每个单元格,这些表达式显然相同(表达式中的零没有加引号,因此是数字),尽管这不是我们所期望的。
您可以使用我最喜欢的 Excel 瑞士军刀SUMPRODUCT
:
=SUMPRODUCT(--(A$2:A$12=B2))
双减号将强制布尔表达式为 1(真)或 0(假)。
答案2
答案3
忘记所有 VBA 和过于复杂的求和语句,excel 中的 LEN 函数会计算字符串。如果您有前导或尾随空格,请先使用 TRIM 函数,但它可能和 =LEN(A2) 一样简单。
要解决除零字符串之外的任何情况,我会使用 =IFERROR(IF(B1*"1"=0,LEN(B1),0),0),IFERROR 处理“X”,并通过将零文本字符串乘以“1”将其转换为数字,因此 IF 语句会将其等于“0”并运行“如果为真则为值”语句 LEN(B1)