在Excel中索引多个列,返回相邻列

时间:2017-07-16 21:21:33

标签: excel if-statement

我正在制作excel表,这将帮助我进行膳食计划。目前,我的数据存储方式如下所示:

                  **Monday**
 Breakfast        Bagel         1       Cream Cheese    1        
 Lunch            Spinach       1       Eggs            4       Cream Cheese 1      
 Dinner           Pork          1       Eggs            2

                  **Tuesday**
 Breakfast        Cereal        2       Milk            1       Eggs         3
 Lunch            Bagel         1       Butter          1
 Dinner           Eggs          2

CURRENT OUTPUT:

 Ingredients Needed:
 Eggs           2
 Bagel          2
 Spinach        1
 Pork           1
 Cereal         2
 Milk           0
 Butter         0
 Cream Cheese   0

数字代表我需要购买的每种成分的份数。

我面临的问题是我目前的公式:

= INDEX($ C $ 12:$ C $ 58,小(IF(ISNUMBER(搜索($ B $ 60,$ B $ 12:$ B $ 58)),MATCH(ROW($ B $ 12:$ B $ 58),ROW ($ B $ 12:$ B $ 58))),ROW(B1)))

一次只能索引一行。例如,如果我要搜索本周需要购买的鸡蛋数量,公式将返回2个鸡蛋(因为它只搜索B栏中的鸡蛋并返回C栏)。

是否有一种解决方法可以让我能够返回我需要购买的全部原料?我知道我可以单独索引每一列,但是,由于我有很多成分(100+),使用我目前的公式似乎不可行。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您可以使用SUMIF,其中总和范围偏离标准范围。例如,为简单起见,假设C12到H19包含数据(成分和数量),请尝试...

=SUMIF($C$12:$G$19,B60,$D$12:$H$19)

...其中B60含有感兴趣的成分。请注意,和范围D12:H19偏离标准范围C12:G19。