Excel数组式IF(多个标准)(Excel Array formula IF(multiple c

2019-06-24 08:18发布

在我的电子表格,耳机相比,我们的教学基本上是使用尽可能多的不同的公式成为可能。

因此,作为电子表格的一部分,我希望能够显示每个厂商最昂贵的耳机,制造商,根据制造商等评为最佳......到目前为止,我已经能够得到一些主要工作数组公式最便宜的。

例如,这个配方,能获得制造商“森海塞尔”具有最高的性价比的机型

=INDEX($Data.$B$5:$L$32,SMALL(IF($Data.$E$5:$E$32 = $Sheet2.D17, ROW($Data.$B$5:$E$32) - ROW($Data.$B$5) + 1, ROW($Data.$E$32) + 1), 1), 2)

E栏是价格列,D17是预先计算的最大代价“森海塞尔”

这工作得很好,直到你得到2个耳机与同价位/等级或什么的。 然后,它开始返回错误的值。

所以,我想,我在interwebs发现的各种解决方案,如

AND(condition1, condition2) 
condition1 * AND(cndition2)
condition1 * condition2

但这一切似乎与数组公式出于某种原因的工作。 我得到#N / A或#VALUE和其他各种错误。 所以基本上我想知道如何修改我的公式,甚至是一个完全新的公式,检查最低的价格和正确的制造商。

我希望我的问题是清楚的,所以我已经上传电子表格中得到什么我谈论的一些想法。

http://dl.dropbox.com/u/18816338/Stats%20Analysis%20%20%281%29.xlsm

提前致谢

Answer 1:

通常并不会在这里工作,因为并返回一个结果,而不是一个数组....但*应该确定,即试试这个公式中B3

=INDEX(Data!C$5:C$32,MATCH(1,(Data!$E$5:$E$32=$D3)*(Data!$B$5:$B$32=$A3),0))

使用Ctrl + Shift + Enter确认,并复制到C3,然后向下两列

这会发现价格和制造商的第一场比赛,并返回相关的型号/类型



Answer 2:

你也可以用一个简单的公式:

= IF((Condition_A)*(Condition_B)* ...;真,假)

确保把括号之间的条件。



文章来源: Excel Array formula IF(multiple criteria)