220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>
下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB
通用公式
要计算不包含许多不同字符串的单元格,您可以使用基于 MMULT 函数的相当复杂的公式。在所示示例中,F5 中的公式为:
其中“data”是命名范围B5:B14,“exclude”是命名范围 D5:D7。
注意:这是一个数组公式,必须用 control + shift + enter 输入
前言
这个公式因“包含”要求而变得复杂。如果您只需要一个公式来计算不等于*很多东西的单元格,您可以使用基于 MATCH 函数的更直接的公式。此外,如果要排除的字符串数量有限,则可以使用 COUNTIFS 函数,如下所示:
但是,使用这种方法,您必须为要排除的每个字符串输入一对新的范围/条件参数。相比之下,下面解释的公式可以处理大量字符串以排除直接在工作表上输入的内容。
最后,这个公式很复杂。让我知道您是否有更简单的公式要提出:)
这个公式的核心是 ISNUMBER 和 SEARCH:
在这里,我们转置命名范围“排除”中的项目,然后将结果作为“查找文本”提供给 SEARCH,将“数据”作为“文本内”。SEARCH 函数返回 TRUE 和 FALSE 值的二维数组,10 行乘 3 列,如下所示:
对于“数据”中的每个值,我们有 3 个结果(每个搜索字符串一个)是 #VALUE 错误或数字。数字表示找到的文本字符串的位置,错误表示未找到的文本字符串。顺便说一句,需要 TRANSPOSE 函数来生成 10 x 3 的完整结果数组。
将该数组输入 ISNUMBER 以获得 TRUE FALSE 值,我们使用双负 (–) 运算符将其转换为 1 和 0。结果是这样的数组:
它作为array1进入MMULT函数。根据矩阵乘法规则,array1中的列数必须等于 array2 中的行数。要生成array2,我们使用 ROW 函数,如下所示:
这会产生一个 1 的数组,3 行 x 1 列:
它作为array2进入 MMULT 。在数组乘法之后,我们有一个数组,其尺寸与原始数据相匹配:
在此数组中,任何非零数字都表示已找到至少一个排除字符串的值。零表示未找到排除的字符串。要将所有非零值强制为 1,我们使用大于零:
它创建另一个数组或 TRUE 和 FALSE 值:
我们的最终目标是仅计算未找到排除字符串的文本值,因此我们需要反转这些值。我们通过从 1 中减去数组来做到这一点。这是布尔逻辑的一个示例。数学运算自动将 TRUE 和 FALSE 值强制转换为 1 和 0,我们终于有一个数组可以返回 SUM 函数:
SUM 函数返回最终结果 5。
220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>