【问题标题】:excel formula to filter range based on criteriaexcel公式根据条件过滤范围
【发布时间】:2018-09-16 23:28:43
【问题描述】:

我有一个奇怪的问题,过去几个小时我一直在努力寻找一个好的解决方案。我在 excel 中有一个类似于以下的表格:

     |A     B     C     D     E     F
-----+-----+-----+-----+-----+-----+-----
1    |2011  1     0    -5     4     2
2    |2011  2     1     1.2   2     3
3    |2011  3     1     2     4    -4
4    |2011  0     1    -3     3    -2
5    |2012  5     1     0     0     1
6    |2012  0     1     0.25  0     0

数据根据 A-C 列分为不同的类别,其中 D-F 列是美元金额。

我想弄清楚的是,有没有办法使用 A-C 列中的值作为过滤器值来返回这些行子集的 D-F 列的最大绝对值?现在,我知道如何返回范围的最大绝对值:=max(abs(START:END)),但我不知道如何根据 A-C 列的值从范围中过滤掉一些行。

也许是我正在寻找的具体示例:

我如何获得范围 D-F where:

  • A=2011
  • B0
  • C=1

对于上述一组条件和数据,我希望返回的答案是 4,来自 E3。

我不反对在合理的范围内添加辅助列,但是还有更多的过滤条件集,这是我拼凑起来的其他一些解决方案的撤消; 16-32 辅助列不会被我尝试为其开发的组接受。

【问题讨论】:

  • 你的excel版本支持maxifs吗?

标签: excel filter excel-formula formula


【解决方案1】:

如果您的 版本支持较新的MAXIFS function,请将其与ABS 功能和MINIFS function 一起使用。

=max(maxifs(d:f, a:a, 2011, b:b, "<>", c:c, 1), abs(minifs(d:f, a:a, 2011, b:b, "<>", c:c, 1)))

如果不是,那么 AGGREGATE 将提供条件。

=AGGREGATE(14, 6, ABS(D1:F6)/((A1:A6=2011)*(B1:B6<>0)*(C1:C6=1)), 1)

【讨论】:

  • 很遗憾,我的 excel 版本似乎不支持 MAXIFS 功能。幸运的是,聚合似乎只是门票。谢谢!
猜你喜欢
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 2020-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
相关资源
最近更新 更多