MAX IF in Excel 具有相同范围的数据
MAX IF in Excel with the same range of data
我有一个带有很多电压数字的价差sheet,我想得到一个值的最大和最小偏差(值为 0.95)。
理想的公式是:
=MAX(IF([range of many values]<0.95,[range of many values],""))
范围是一个值矩阵,如果重要的话。
但这不起作用,因为 IF 不喜欢范围。
有没有一种方法可以做到这一点而无需为 IF 值结果创建另一个 sheet?
提前致谢
使用公式
=MAX([range of many values]*([range of many values]<0.95))
作为数组公式,即在输入公式后按回车键时按住 ctrl-shift
。
通过将其作为 array formula 输入,中间计算可以 return 数组。因此,]*([range of many values]<0.95)
将 return 一个数组,其中 True
为 1
,False
为 0
。然后将其乘以数组中的原始值,逐个条目,returns 一个数组,它将输入 MAX
函数。
顺便说一句,如果输入的是数组公式,您的原始公式也可以使用。
还有一些方法可以使用非数组公式执行此操作,例如
=SMALL(Range,COUNTIF(Range,"<0.95"))
这是可行的,因为如果您的范围内有 100 个值,而其中 30 个小于 0.95,那么您想要的值是范围内第 30 个最小的值
我有一个带有很多电压数字的价差sheet,我想得到一个值的最大和最小偏差(值为 0.95)。
理想的公式是:
=MAX(IF([range of many values]<0.95,[range of many values],""))
范围是一个值矩阵,如果重要的话。
但这不起作用,因为 IF 不喜欢范围。 有没有一种方法可以做到这一点而无需为 IF 值结果创建另一个 sheet?
提前致谢
使用公式
=MAX([range of many values]*([range of many values]<0.95))
作为数组公式,即在输入公式后按回车键时按住 ctrl-shift
。
通过将其作为 array formula 输入,中间计算可以 return 数组。因此,]*([range of many values]<0.95)
将 return 一个数组,其中 True
为 1
,False
为 0
。然后将其乘以数组中的原始值,逐个条目,returns 一个数组,它将输入 MAX
函数。
顺便说一句,如果输入的是数组公式,您的原始公式也可以使用。
还有一些方法可以使用非数组公式执行此操作,例如
=SMALL(Range,COUNTIF(Range,"<0.95"))
这是可行的,因为如果您的范围内有 100 个值,而其中 30 个小于 0.95,那么您想要的值是范围内第 30 个最小的值