错误:AGGREGATE(15; 7; RANGE; 1)_supposed忽略特定数组范围的隐藏行但它不

时间:2017-01-09 15:55:04

标签: excel excel-formula

请查看以下我遇到的AGGREGATE函数问题:我没有成功忽略隐藏的行

输入数据:

栏B(B3:B500) - >下一个格式的文本字符串示例: 24±6(18 ... 30)μm

期望的输出数据:

  • 仅按公式(不是vba)
  • 在此范围内,搜索“...”和右括号之间的值(相当于我们示例中的30)
  • 返回所有单元格的最大值
  • 不考虑隐藏的行/已过滤的单元格

我的解决方案:

  • 使用MID&amp ;;隔离“...”和右括号“)”之间的文本。查找
  • 将文本转换为数字(乘以* 1)
  • 申请AGGREGATE(14; 7; RANGE; 1)
    • 14 =大(最大)
    • 7 =忽略错误和隐藏的单元格

遇到的问题:

我没有成功忽略隐藏的行(我总是得到相同的结果max,事件我手动隐藏最大值的行)

公式

=AGGREGATE(14;7;(MID(B3:B500;FIND("...";B3:B500)+3;FIND(")";B3:B500)-FIND("...";B3:B500)-3)*1);1)

有人对这个问题有解释吗?

提前感谢您的关注。

1 个答案:

答案 0 :(得分:0)

我认为你的公式没有任何问题,但它可能会失败,因为......可以作为单个字符插入...代码133,在这种情况下你的公式应该是

=AGGREGATE(14,7,(MID(B3:B500,FIND(CHAR(133),B3:B500)+1,FIND(")",B3:B500)-FIND(CHAR(133),B3:B500)-1)*1),1)

EDIT Scott是正确的,您必须使用辅助列来忽略隐藏的行。

请参阅文档here,其中说明如果AGGREGATE属于计算,则不会忽略隐藏的行。

以下是直接计算隐藏行10(包含60)与使用辅助列计算的比较。

enter image description here