Arrays 在Excel中使用带或条件的大函数

Arrays 在Excel中使用带或条件的大函数,arrays,excel,Arrays,Excel,如果A列是“文本1”或“文本2”,我试图得到C列的第二大值。它似乎一直在返回一个错误。我试过: {=large((if(A:A="Text 1",C:C),if(A:A="Text 2",C:C)),2)} 及 没有成功。任何帮助都将不胜感激。就我个人而言,出于效率考虑,我尽量远离阵列。下面是一个非数组公式的示例,您可以使用它来查找所需内容: =AGGREGATE(14,6,(MaxRange)*(CriteriaRange=Criteria),2) 其中: 14 = Large, to f

如果A列是“文本1”或“文本2”,我试图得到C列的第二大值。它似乎一直在返回一个错误。我试过:

{=large((if(A:A="Text 1",C:C),if(A:A="Text 2",C:C)),2)}


没有成功。任何帮助都将不胜感激。

就我个人而言,出于效率考虑,我尽量远离阵列。下面是一个非数组公式的示例,您可以使用它来查找所需内容:

=AGGREGATE(14,6,(MaxRange)*(CriteriaRange=Criteria),2)
其中:

14 = Large, to find the maximum value
6 = Ignore error values - makes only the criteria values applicable
MaxRange = The range of values you want to pull the 2nd largest from
CriteriaRange = The criteria range you want to evaluate
Criteria = The criteria you want to match in the above range
2 = Specifies the 2nd largest: 1 would be largest etc
如果您没有注意到,这与
=SUMPRODUCT
的原理相同。因此,要处理多个
标准,您可以将它们相乘,即:

(MaxRange)*(CriteriaRange1=Criteria1)*(CriteriaRange2=Criteria2)
要执行
条件,请将它们添加到一起:

(MaxRange)*((CriteriaRange1=Criteria1)+(CriteriaRange2=Criteria2))
这将导致您的公式为:

=AGGREGATE(14,6,(C:C)*((A:A="Text 1")+(A:A="Text 2")),2)

让它与regexmatch ie{=large(if(regexmatch(A:A,“Text 1 | Text 2”)、C:C)、2)一起工作}regexmatch?????
=AGGREGATE(14,6,(C:C)*((A:A="Text 1")+(A:A="Text 2")),2)