220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>
下载 “excel快捷键速查表” Excel快捷键速查表.zip – 已下载54次 – 3 MB
要计算匹配列中的匹配值,可以将SUMPRODUCT 函数与ISNUMBER和MATCH函数一起使用。在所示示例中,J6 中的公式为:
其中data (B5:G14) 和headers (B4:G4) 被命名为 range。结果是 22,因为在标记为“A”或“B”的列中有 22 个值是“z”或“c”。
在此示例中,目标是计算命名范围 数据中的“z”或“c”值,但仅当列标题为“A”或“B”时。用于执行此计算的公式基于SUMPRODUCT 函数:
从内到外,请注意 SUMPRODUCT 包含一个参数,它由以下表达式组成:
该表达式由两部分组成,每部分代表一个逻辑测试。左侧部分测试列标题,右侧测试值。这两部分用乘法(*)连接,因为整体逻辑是与,乘法对应布尔代数中的与。
在左侧,MATCH 函数与 ISNUMBER 函数一起使用来匹配目标列:
在 MATCH 内部,请注意参数被“反转”以维护现有数据结构:标题值用于lookup_value参数,并且数组参数作为 包含我们正在查找的值的数组常量提供,“A”和“乙”。MATCH 的结果是一个由#N/A 错误或数字组成的数组。数字表示匹配的位置:
这个数组中有 6 个项目,因为我们正在测试 6 列。数字代表匹配的列,错误代表不匹配的列。这个数组返回给ISNUMBER 函数:
它返回一个这样的数组:
请注意,TRUE 值对应于“A”或“B”列。这样就完成了列匹配逻辑。
在表达式的右侧,我们有类似的逻辑来测试值本身:
MATCH 函数再次用于使用相同的反向参数方法检查两个值“z”或“c”。因为命名范围数据包含 60 个值,所以 MATCH 的结果是一个包含 60 个值的数组:
ISNUMBER 函数再次将此数组转换为 TRUE 和 FALSE 值:
现在上面的原始表达式(在 SUMPRODUCT 内部)可以写成这样:
请注意,乘法运算符仍然存在,就在第一个数组之后。在 Excel 中,任何数学运算都会自动将 TRUE 和 FALSE 值转换为它们的等效数字 1 和 0。这意味着您可以像这样考虑表达式:
在计算表达式后,我们有一个像这样的数组:
该数组作为array1参数传递给 SUMPRODUCT 函数。然后,只处理一个数组,SUMPRODUCT 将数组中的项相加并返回最终结果:22。
注意:虽然 SUMPRODUCT 可以将多个数组作为单独的参数处理,但您会看到许多将所有逻辑放入单个参数的公式。这样做利用了 Excel 在任何数学运算期间自动将 TRUE 和 FALSE 值强制转换为 1 和 0 的事实。当逻辑被分成单独的数组时,必须采取额外的步骤来转换为 1 和 0。
包含逻辑
在上面显示的示例中,测试逻辑是“等于”。列必须等于“A”或“B”,值必须等于“z”或“c”。但有时您需要使用“包含”逻辑进行测试。例如,测试包含“z”或包含“c”的值。
在 MATCH 函数中反转参数的一个后果是通配符不能与查找值一起使用,因为这些值显示为数组参数。如果您需要使用包含逻辑来测试值,您可以使用SEARCH 函数切换到基于ISNUMBER的另一种方法。例如,要匹配包含“x”或“c”的值,您可以使用如下表达式:
请注意,我们使用加法运算符(+) 加入每个测试,因为在布尔代数中,加法对应于 OR 逻辑。最终的公式将如下所示:
请注意,已添加一组额外的括号 () 来控制操作顺序。
220 多个excel快捷键速查表,适用Windows和Mac。工作效率提高10倍。免费下载>>>