如何找到过滤列的条件最小值?
Posted
技术标签:
【中文标题】如何找到过滤列的条件最小值?【英文标题】:How to find the conditional minimum of a filtered column? 【发布时间】:2019-06-27 12:37:19 【问题描述】:我想从一列数据中找到条件最小值,但让它响应数据过滤。
我在 excel 中有一个表格,顶部有一个摘要部分,一些图表绘制了数据的各个方面,数据进一步向下。 可以过滤数据,这会更新图表,但不会更新摘要部分。 摘要部分显示诸如最小值、最大值、平均值和标准差之类的内容。 如何使这些响应数据过滤同时也是有条件的? 本质上:当 B 列等于 X 时,在 A 列中找到最小值,如果有任何列被过滤,则更新结果。
我查看了SUBTOTAL
,但它不允许条件。
还有像SUMPRODUCT((SUBTOTAL(3,OFFSET(INDEX($A$1:$A$10,1,1),ROW($A$1:$A$10)-ROW(INDEX($A$1:$A$10,1,1)),0))=1),($B$1:$B$10="value"),$C$1:$C$10)
这样的函数,当B列等于“值”时计算C列的总和,并在过滤器更新时更新(假设过滤器包括A、B和C列)。
【问题讨论】:
如果你有 Excel 2019 或 365,你可以使用函数MAXIFS
。如果没有,您将需要一个数组公式来根据条件获取范围的最大值。也许您可以将 SUBTOTAL 与数组公式结合起来完成它?
你能多放一列,只显示满足条件的值,然后使用小计找到该列的最小值吗?
【参考方案1】:
如果您可以添加一个对您非常有帮助的帮助列,例如:
D2
中使用的公式:
=SUBTOTAL(3,A2)
这个公式最终会为可见单元格留下 1,为不可见单元格留下 0。您可以选择隐藏此列。我们可以在多条件数组公式中针对这一列进行测试。
F1
中的公式:
=MIN(IF((B2:B7="Z")*(D2:D7=1),C2:C7))
通过CtrlShiftEnter
确认请参考this示例。
您可以根据您的其他需求(最大、平均)执行相同类型的公式
【讨论】:
以上是关于如何找到过滤列的条件最小值?的主要内容,如果未能解决你的问题,请参考以下文章