一个单元格中的数组总和产生的结果与数组元素总和不同

一个单元格中的数组总和产生的结果与数组元素总和不同

我想根据一些键对一组值进行简单的计算(比如加法),如下所示:

         Col A       Col B           Col C            Col D          Col E
Row 1  **Key**     **Value**     **Key Input**     **VLOOKUP**     **Array**
Row 2     x            10              x               10             10 
Row 3     y            20                               0              0
Row 4     z            30              y               20             20 

D 列和 E 列包含 C 列中关键输入的值:

D 列使用 VLOOKUP:D2=IF(ISNUMBER(VLOOKUP(C2, $A$2:$B$4, 2)), VLOOKUP(C2, $A$2:$B$4, 2), 0)

E 列使用数组:E2:E4={=IF(ISTEXT(C2:C4), INDEX($B$2:$B$4, MATCH(C2:C4, $A$2:$A$4, 0))}

我想要对 C 列中输入 x、y 的值求和。

对 D2:D4 或 E2:E4 求和可得出 x 和 y 值的正确求和结果:30

直接对 E 中的 ARRAY 元素求和会产生不同的(不正确的)结果:

{=SUM(IF(ISTEXT(C2:C4), INDEX($B$2:$B$4, MATCH(C2:C4, $A$2:$A$4, 0)),0))}{=SUM(IF(ISTEXT(C2:C4), INDEX($B$2:$B$4, MATCH(C2:C4, $A$2:$A$4, 0))))}产生值 20。

我尝试过多种不同的方法(使用 ISTEXT 进行条件处理、使用 MATCH 等),但结果始终相同。有人能给出建议,说明为什么会发生这种情况以及如何纠正?首先构建数组(如上面的 E 所示),然后对其求和,这种做法既不吸引人也不可行,因为必须重复多次操作。

相关内容