我正在制作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+),使用我目前的公式似乎不可行。
非常感谢任何帮助
答案 0 :(得分:1)
您可以使用SUMIF
,其中总和范围偏离标准范围。例如,为简单起见,假设C12到H19包含数据(成分和数量),请尝试...
=SUMIF($C$12:$G$19,B60,$D$12:$H$19)
...其中B60含有感兴趣的成分。请注意,和范围D12:H19偏离标准范围C12:G19。