【问题标题】:formula for comparing columns with tolerance in ExcelExcel中用于比较列与公差的公式
【发布时间】:2015-04-04 11:50:16
【问题描述】:

我正在寻找一个公式,将 f 和 g 两列与 h 进行比较,并且 i 考虑了容差。我有坐标 f 和 g 以及坐标 h 和 i,我想知道 f 与 h 和 g 到 i 的频率相等或相似的频率,公差为 2。但是计数需要满足这两个标准。

我尝试过这样的事情但没有成功: =SUMPRODUCT((F:F=H:H)(G:G=I:I)(F:I>0))/4

=SUMMPRODUCT(((ABS(F:F)-(H:H)(ABS((G:G)-(I:I)(F:I>0))

COUNTIF 根本不起作用。

【问题讨论】:

  • 避免使用带有SUMPRODUCT function 的完整列引用。计算空白单元格,不会像其他函数那样被忽略,并且 SUMPRODUCT 在执行像 SUMIFS 一样的数学运算时不能愉快地跳过文本。如果您在 F1、G1 等中有文本标签,您可能会收到 #VALUE! 错误。您是否有一些示例数据和预期结果可以添加到您的问题中?
  • 是的,你是对的,如果出现文本我收到错误,这就是为什么我还需要添加 >0。我有一个样本,但没有足够的声誉来发布它。还有其他可能吗?
  • 如果您只是 edit 您的帖子(edit 就在 excel | excel-formula 标签下),您应该能够将一些示例数据和预期结果粘贴到您的问题中。不要太担心格式化。或者,将其放在 GoogleDrive 或 DropBox 上,然后在此处发布链接。

标签: excel excel-formula compare multiple-columns countif


【解决方案1】:

使用我编造的一些随机数据,这是可行的:假设 F1:I6 是您的坐标对。

={SUM(IF((ABS(F1:F6-H1:H6)<=4)*(ABS(G1:G6-I1:I6)<=4);1;0))}

作为矩阵公式输入 (Ctrl-Shift-Enter)。 4 表示公差为 +- 2,请根据您的需要进行调整。
如果您确实必须处理包含该范围内文本的单元格,则需要先测试单元格,然后再减去:

{=SUM(IF((ABS(IF(ISTEXT(F1:F6);-9999;F1:F6)-IF(ISTEXT(H1:H6);-8888;H1:H6))<=4)*(ABS(IF(ISTEXT(G1:G6);-9999;G1:G6)-IF(ISTEXT(I1:I6);-8888;I1:I6))<=4);1;0))}  

这看起来很难看,但确实有效。该公式将单元格替换为标记值为 -9999 或 -8888 的文本。这些值不应该出现在真实数据中。我使用了 2 个不同的值来涵盖只有 1 列或两列都包含文本的情况。值的差异需要大于公差。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    相关资源
    最近更新 更多