选择一个范围内的最大数字,该数字也小于另一个范围行中的相应数字
Pick the greatest number in a range that is also less than the corresponding number in another range's row
我在A列和B列中有两组数据。我想从A列中选择最大值,该值也小于B列中相应行中的值。我想我应该可以使用 MAXIFS
函数执行此操作,但我能找到的所有示例都与静态值进行了比较。我尝试了这些选项
=MAXIFS(A1:A10, B1:B10, "<")
=MAXIFS(A1:A10, B1:B10, A&"<"&B)
但它们都没有按预期工作。在第一种情况下,它始终为 0,表示从未满足条件,在第二种情况下,它给出错误。
我知道我可以通过创建一个单独的单元格区域来做到这一点,该区域首先过滤掉与条件不匹配的数据,然后简单地从剩余的数据中选择最大值,但我宁愿在如果可能,单细胞。
是否有这种比较的语法,如果有,它是什么?
=ARRAY_CONSTRAIN(ARRAYFORMULA(
IF(LEN(INDIRECT(ADDRESS(ROW(), COLUMN(B:B))))>0,
IF(INDIRECT(ADDRESS(ROW(), COLUMN(B:B)))<MAX($A:$A),
MAX($A:$A), LARGE(UNIQUE($A:$A), 2)), )), 1, 1)
据我所知,没有办法让它与 MAXIFS 一起工作。
你可以这样写
=maxifs(A:A,A:A,"<"&B:B)
它会接受它,但它只使用 B 列中的第一个值,而不进行并排比较。
所以你必须用另一种方式来做,例如结合 Max 和 If:
=ArrayFormula(max(if(A:A<B:B,A:A)))
或者您可以将最大值与过滤器或查询一起使用:
=max(filter(A:A,A:A<B:B))
=max(query(A:B,"select A where A<B"))
我在A列和B列中有两组数据。我想从A列中选择最大值,该值也小于B列中相应行中的值。我想我应该可以使用 MAXIFS
函数执行此操作,但我能找到的所有示例都与静态值进行了比较。我尝试了这些选项
=MAXIFS(A1:A10, B1:B10, "<")
=MAXIFS(A1:A10, B1:B10, A&"<"&B)
但它们都没有按预期工作。在第一种情况下,它始终为 0,表示从未满足条件,在第二种情况下,它给出错误。
我知道我可以通过创建一个单独的单元格区域来做到这一点,该区域首先过滤掉与条件不匹配的数据,然后简单地从剩余的数据中选择最大值,但我宁愿在如果可能,单细胞。
是否有这种比较的语法,如果有,它是什么?
=ARRAY_CONSTRAIN(ARRAYFORMULA(
IF(LEN(INDIRECT(ADDRESS(ROW(), COLUMN(B:B))))>0,
IF(INDIRECT(ADDRESS(ROW(), COLUMN(B:B)))<MAX($A:$A),
MAX($A:$A), LARGE(UNIQUE($A:$A), 2)), )), 1, 1)
据我所知,没有办法让它与 MAXIFS 一起工作。
你可以这样写
=maxifs(A:A,A:A,"<"&B:B)
它会接受它,但它只使用 B 列中的第一个值,而不进行并排比较。
所以你必须用另一种方式来做,例如结合 Max 和 If:
=ArrayFormula(max(if(A:A<B:B,A:A)))
或者您可以将最大值与过滤器或查询一起使用:
=max(filter(A:A,A:A<B:B))
=max(query(A:B,"select A where A<B"))