我正在尝试使用多个条件进行列匹配,如下例所示:
A1: Part B1: Code C1: Price D1: Find Part E1: Find Code
A2: x B2: 11 C2: 5.00 D2: y E2: 12
A3: x B3: 12 C3: 6.00
A4: y B4: 11 C4: 7.00
A5: y B5: 12 C5: 8.00
D2和E2是标准。如果D2和E2分别与列A和B匹配,我应该从相应的列C得到结果。(在这个例子中:8.00)
对于此示例,我在Excel上尝试了以下公式:
=LOOKUP(D2&E2;A2:A5&B2:B5;C2:C5)
{=INDEX($C$2:$C$5;MATCH(D2&E2;$A$2:$A$5&$B$2:$B$5;0))}
=SUMPRODUCT(--(A2:A5=D2);--(B2:B5=E2);INDEX(C2:C5;0;0))
=SUMPRODUCT(--(A2:A5=D2);--(B2:B5=E2);C2:C5)
所有这些都在Excel和OOCalc中给出了正确的结果。但是当使用POI时,我从第一个获得错误代码15。来自第二个的异常意外的eval类型,以及来自第三个和最后一个公式的SUMPRODUCT 的异常无效的arg类型。
有没有人知道如何使用可以由Apache POI解析的公式来匹配具有多个条件的列?
注意:使用Apache POI,我成功地将列与一个标准匹配。所以,我猜错误不在我的代码中,但POI可能不支持上述公式的格式。
提前致谢
答案 0 :(得分:1)
http://poi.apache.org/spreadsheet/formula.html说数组公式尚不支持(你的第1,第3和第4个公式只是数组公式的别名,我很害怕)
如果您可以插入包含=A2&B2
等公式的新列并匹配此新列,那么这将解决您的问题。