excel 中的 MODE IFS - 将条件应用于 MODE 函数并从系列中排除数字

MODE IFS in excel - applying criteria to MODE function and excluding a number from the series

我在 Excel 中使用 MODE IF,这似乎工作正常,但我需要它从 MODE 中排除所有数字 2。

我使用的公式如下:

=IFERROR(MODE(IF($I:$I=I4,$K:$K)),K4)

使用 Ctrl+Shift 输入数组公式。

当一个数字只出现一次时,IFERROR 位就在那里。

任何人都可以告诉我如何开发这个公式,以便在结果通常为“2”的地方找到下一个出现次数最多的数字吗?

非常感谢 富有

试试下面的数组公式**:

=MODE(IF($I1:$I20=I4,IF($K1:$K20<>{2,2},$K1:$K20)))

顺便说一句,没有必要包含 IFERROR 子句。

我强烈建议您不要在数组公式中使用整个列引用。与 COUNTIFSUMIFCOUNTIFSSUMIFS 不同,例如,数组公式计算传递给它们的所有单元格,无论技术上超出这些范围中最后使用的单元格还是没有。

因此,例如,如果您只有第 1000 行的数据,那么通过引用整个列的行数,您实际上是在强制 Excel 计算超过一百万行实际上是必要的,导致了一个惊人的资源密集型公式。这只是该公式的一个实例。

使用某些函数,您可以在不影响性能的情况下引用整个列,但不能使用对数组进行操作的函数,例如 AGGREGATESUMPRODUCT 以及任何需要 CSE 的构造.

因此,您应该为被引用的最后一行选择一个适当低但足够的上限,或者更好的是使您的范围动态化,这样它们会随着您的数据自动调整 expands/contracts .

我在这里选择了 20 的结束行引用,显然你可以修改它以满足你的要求,但你应该注意不要让它太大(当然不要引用整列!),因为,如前所述,每引用一个额外的单元格,就需要进行额外的计算。

此致

**数组公式的输入方式与'standard'公式不同。您不是只按 ENTER,而是先按住 CTRL 和 SHIFT,然后再按 ENTER。如果操作正确,您会注意到 Excel 在公式周围放置了大括号 {}(但不要尝试自己手动插入)。