Excel:带数组函数的SUMIF和VLOOKUP之和?

Excel:带数组函数的SUMIF和VLOOKUP之和?,excel,excel-formula,Excel,Excel Formula,这是Microsoft Excel for Mac 我正在尝试制作一份营养数据工作表,如屏幕截图所示。其思想是获取输入的食物列表(B6:B7),在可用食物列表(B2:B4)中查找这些食物,并根据可用食物数据(C2:C4)对输入食物的卡路里进行求和 因为输入的食物列表可以是任意长度的,所以我需要一个数组函数。我需要查找输入的每种食物的卡路里值,并将这些值相加 我的问题是关于这两个功能之间的区别: ={VLOOKUP(B7:B8,B1:C4,2)} ={SUMIF(B2:B4,B7:B8,C2:C4

这是Microsoft Excel for Mac

我正在尝试制作一份营养数据工作表,如屏幕截图所示。其思想是获取输入的食物列表(B6:B7),在可用食物列表(B2:B4)中查找这些食物,并根据可用食物数据(C2:C4)对输入食物的卡路里进行求和

因为输入的食物列表可以是任意长度的,所以我需要一个数组函数。我需要查找输入的每种食物的卡路里值,并将这些值相加

我的问题是关于这两个功能之间的区别:

={VLOOKUP(B7:B8,B1:C4,2)}
={SUMIF(B2:B4,B7:B8,C2:C4)}
正如您在电子表格中所看到的,这两个函数都返回相同的值。如果将结果放在单个单元格中,它们都返回100。如果将结果放入两个单元格,则返回{100200}。这就是我所期望的。VLOOKUP在表中查找B7和B8中的每一个并得到卡路里值(100和200),而SUMIF在C2:C4中求和值,如果B2:B4与B7和B8中的每一个匹配,则得到100和200

当你试图对这些结果求和时,就会产生差异。使用SUMIF结果的SUM或SUMPRODUCT,得到的结果为300。然而,对VLOOKUP结果进行同样的处理,得到的结果是100。我认为300或100有意义。也就是说,如果SUM或SUMPRODUCT应用于数组,则300是有意义的,而如果SUM或SUMPRODUCT分别应用于数组的每个元素,并且从未获取总和,则100是有意义的。然而,我不明白为什么这两个在应用于VLOOKUP和SUMIF的中间结果时是不同的


我建议你选择能给你正确答案的那一个难道你不想知道Excel中数组函数更深层次的奥秘吗?