【发布时间】:2012-04-02 17:02:32
【问题描述】:
我正在尝试使用多个条件对列进行 MATCH,如下例所示:
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。来自第二个的异常 Unexpected eval type,以及来自第三个和最后一个公式的异常 Invalid arg type for SUMPRODUCT。
有谁知道如何使用可由 Apache POI 解析的公式来匹配具有多个条件的列?
注意:使用 Apache POI,我成功地将列与一个条件匹配。所以,我猜错误不在我的代码中,但可能 POI 不支持上述公式的格式。
提前致谢
【问题讨论】:
标签: java apache-poi excel-formula