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

我正在做一个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 

电stream输出:

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

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

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

= INDEX($ C $ 12:$ C $ 58,小号(如果不是(search($ B $ 60,$ B $ 12:$ B $ 58)),MATCH(ROW($ B $ 12:$ B $ 58),ROW($ B $ 12:$ B $ 58))),ROW(B1)))

一次只索引一行。 例如,如果我正在search一周内需要购买多less个鸡蛋,则该公式将返回2个鸡蛋(因为它仅在B列search鸡蛋并返回C列)。

有没有一种方法可以让我能够返回我需要购买的全部原料? 我意识到我可以单独索引每列,但是,因为我有很多成分(100+),使用我目前的公式似乎不可行。

任何帮助是非常赞赏的

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

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

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