如何用其他值替换包含单个字母的单元格?

如何用其他值替换包含单个字母的单元格?

在 Excel 中,如何编写一个公式来查看某个单元格区域(例如,A3 到 A16),检查其中是否有单独的字母,如果是,则将这些值替换为“0”?

替换和替代似乎仅在查看其他单元格时才有效(如果有意义的话)。

答案1

替换和替代似乎仅在查看其他单元格时才有效(如果有意义的话)。

是的。根据语义(即你如何看待它),公式(和函数)不会改变任何东西。它们会计算所在单元格的值。这可能取决于其他单元格的值(例如A3:A16),但单元格不能有值操纵该值的公式。

你可能想要做的是设置B3

=IF(AND(LEN(A3)=1, NOT(EXACT(UPPER(A3),LOWER(A3)))), 0, A3)

然后将其拖拽/填充至B16

解释:

  • LEN检查我们正在查看的值(单元格)的长度( ) A3。如果是 1,则继续进行此测试,否则,“失败”(稍后详述)
  • 将 中的值转换A3为大写和小写。如果A3包含一些非字母字符,例如7&,则大小写转换将不起作用。如果它是大写字母(例如Q),LOWER(A3)则返回其小写等价物(q),反之亦然。因此,可以说,如果UPPER(A3)LOWER(A3),则A3包含一个字母。
  • 不幸的是,在这种情况下,Excel 通常不区分大小写;如果您Q与进行比较q,Excel 会说它们相等。因此,我们使用 函数EXACT()来查看它们是否完全相同。
  • 结合以上内容,如果A3是一个字符,并且该字符是一个字母,那么它就是(我相信)您要查找的。因此,我们将评估B3下一个参数,即0。如果它为空白或多个字符或不是字母(即测试失败),我们将显示其值(即 的值A3)。

上面有一个小问题:如果A3为空,长度为零,我们得到公式的最后一部分——部分A3——但它会显示为0。要解决这个问题,请执行

=IF(ISBLANK(A3), "", IF(AND(LEN(A3)=1, NOT(EXACT(UPPER(A3),LOWER(A3)))), 0, A3))

意思是,如果A3为空白,则设置B3为空白;否则,按照上面描述的公式继续进行。

A3:A16如果您想永久更改中的值,只需将B3:B16值复制并粘贴到中A3:A16

相关内容