【问题标题】:Indexing multiple columns in Excel, return neighboring column在Excel中索引多列,返回相邻列
【发布时间】:2017-07-16 21:21:32
【问题描述】:

我正在制作一个可以帮助我制定膳食计划的 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

当前输出:

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

其中的数字代表我需要购买的每种食材的份数。

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

=INDEX($C$12:$C$58, SMALL(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+),使用我当前的公式似乎不可行。

非常感谢任何帮助

【问题讨论】:

  • 我会将我的数据放在一个表格中。这样您每餐都有一行,每种成分都有一列,这样您只需对列求和即可找到每种成分的总数?也许将其作为输入和输出之间的中间步骤。

标签: excel if-statement


【解决方案1】:

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

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

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

【讨论】:

  • 这非常有效,让我免于花费数小时重新组织我的数据。非常感谢!以后会记得怎么抵消SUMIF函数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多