假设您有一个工作表,其中包含您部门中曾经工作过的所有人员。每个名称都以单个字符开头,以指示该人的身份。例如,如果弗雷德·戴维斯退休,他的名字可能会显示为“ RFred Davis”。在工作表中有很多这样的名称,您可能需要一种计数具有特定状态字符的人员的方法。

实现此目的的最简单方法是使用COUNTIF函数。例如,如果状态字符是字母R(“退休”),并且您的名称范围在单元格A5:A52中,则可以使用以下内容确定哪些单元格以字母R开头:

=COUNTIF(A5:A52,"R*")

该公式起作用是因为比较值是R *,这意味着“字母R后跟任何其他字符”。 Excel忠实地返回计数。要搜索其他状态字符,只需将R替换为所需的状态字符。

显然,如果星号在此用法中具有特殊含义,则无法直接搜索星号。实际上,您不能直接搜索三个字符:星号(*),问号(?)和波浪号(〜)。如果要搜索这些字符中的任何一个,则必须在字符前加上波浪号。因此,如果要确定带有问号作为状态码的名称计数,则可以使用以下命令:

=COUNTIF(A5:A52,"~?*")

使用COUNTIF的替代方法是创建一个数组公式,该数组公式将应用于该范围内的每个单元格。以下将很好地完成技巧:

=SUM((LEFT(A5:A52,1)="R")*1)

当然,必须将其作为数组公式输入。这意味着您可以按Shift + Ctrl + Enter而不是在公式末尾按Enter。该公式检查单元格的最左字符,如果为R,则返回TRUE,否则为FALSE。进行乘法运算可将TRUE / FALSE值转换为数字,对于TRUE则为1,对于FALSE为0。 SUM函数返回所有符合条件的单元格的总和或计数。

最后一点:本技巧中提供的公式是一种处理数据的方法,该数据最初在技巧第一部分中提供。如果您完全可以控制数据,则应该考虑从名称中删除“ R”(或任何其他前导状态字符)。这类字符实际上应该保留在其自己的列中,而不是使名称字段复杂化。使用“文本转换为列”工具将“ R”和任何其他前导字符分开,然后您可以更轻松地在公式中使用它们。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(9871)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。您可以在此处为Excel的较早菜单界面找到此技巧的版本: