Excel formula 具有三个标准和

Excel formula 具有三个标准和,excel-formula,Excel Formula,我试图找出如何在单元格中搜索最左边的字符,总是1或2,然后搜索一个短字符串,如较长字符串中的“流”,如“系统流”或“流控制”,如果满足这两个条件,则取相应行中的数字的平均值,在M列中,这是第三个标准。我提出了下面的函数,但它总是返回0,这是不正确的 =SUMPRODUCT((LEFT(K38:K44,1)=C38)*(ISNUMBER(FIND(D38,L38:L44))))*M38:M44 你有什么想法吗? 谢谢 使用AVERAGEIFS(): 编辑,为了处理数字和字符串的变化,我们需要稍

我试图找出如何在单元格中搜索最左边的字符,总是1或2,然后搜索一个短字符串,如较长字符串中的“流”,如“系统流”或“流控制”,如果满足这两个条件,则取相应行中的数字的平均值,在M列中,这是第三个标准。我提出了下面的函数,但它总是返回0,这是不正确的

=SUMPRODUCT((LEFT(K38:K44,1)=C38)*(ISNUMBER(FIND(D38,L38:L44))))*M38:M44
你有什么想法吗? 谢谢

使用AVERAGEIFS():


编辑,为了处理数字和字符串的变化,我们需要稍微调整您的公式:

=SUMPRODUCT((LEFT(K38:K44,1)=TEXT(C38,"@"))*(ISNUMBER(SEARCH(D38,L38:L44)))*M38:M44)/SUMPRODUCT((LEFT(K38:K44,1)=TEXT(C38,"@"))*(ISNUMBER(SEARCH(D38,L38:L44))))
使用AVERAGEIFS():


编辑,为了处理数字和字符串的变化,我们需要稍微调整您的公式:

=SUMPRODUCT((LEFT(K38:K44,1)=TEXT(C38,"@"))*(ISNUMBER(SEARCH(D38,L38:L44)))*M38:M44)/SUMPRODUCT((LEFT(K38:K44,1)=TEXT(C38,"@"))*(ISNUMBER(SEARCH(D38,L38:L44))))

这看起来很有希望,但通配符范围是K38:K44和L38:L44。C38为2,D83为“流量”。我试图相应地调整你的公式,但我一直得到一个#DIV/0!错误。您是否按原样尝试了公式?此公式将如下所示:
=AVERAGEIFS(M38:M44,K38:K44,“2*”,L38:L44,“*Flow*”)
,这意味着如果K以2开头,且在L中找到了流,则在平均值中使用M@很显然,问题来自于通配符。这不起作用:=AVERAGEIFS(M38:M44,K38:K44,“1*”,L38:L44,“Flow”)这确实起作用:=AVERAGEIFS(M38:M44,K38:K44,“1”,L38:L44,“Flow”),但我必须在K38:K44中只有1,在L38:L44中只有流。@ryguy72这样你才知道
SEARCH
FIND
之间的区别,一个区分大小写,另一个不区分大小写。我没有看到任何地方解释过这种变化,所以我认为它可能值得指出。这看起来很有希望,但通配符范围是K38:K44和L38:L44。C38为2,D83为“流量”。我试图相应地调整你的公式,但我一直得到一个#DIV/0!错误。您是否按原样尝试了公式?此公式将如下所示:
=AVERAGEIFS(M38:M44,K38:K44,“2*”,L38:L44,“*Flow*”)
,这意味着如果K以2开头,且在L中找到了流,则在平均值中使用M@很显然,问题来自于通配符。这不起作用:=AVERAGEIFS(M38:M44,K38:K44,“1*”,L38:L44,“Flow”)这确实起作用:=AVERAGEIFS(M38:M44,K38:K44,“1”,L38:L44,“Flow”),但我必须在K38:K44中只有1,在L38:L44中只有流。@ryguy72这样你才知道
SEARCH
FIND
之间的区别,一个区分大小写,另一个不区分大小写。我没有看到任何地方解释了这种变化,所以我认为它可能值得指出。