【问题标题】:VLOOKUP depending on the items in the listVLOOKUP 取决于列表中的项目
【发布时间】:2014-05-15 20:17:25
【问题描述】:

我正在计算我一天消耗的卡路里。我有一个带有两张纸的 Excel 文件:

sheet1,我从下拉列表中选择食物。并输入我消耗的数量。通过使用下面的公式,它从 Sheet2(食物列表)中得到结果,并将其乘以我吃的量,然后除以 100,得到我消耗量的营养信息。

=(VLOOKUP($A8,'Food Items'!$B$1:$F$59,3,FALSE))*$B8/100

Sheet2 是“食品”,每 100 克含有卡路里、蛋白质、脂肪、碳水化合物。有些物品不能以克为单位,而是以切片或碎片为单位,例如面包片。我已经提到了每片的营养细节。

此结果适用于 Sheet2 中提到的每 100 克食品。

此公式不适用于切片食品。我知道我可以将公式更改为:

=(VLOOKUP($A8,'Food Items'!$B$1:$F$59,3,FALSE))*$B8

我想要的是当我从列表中选择食物时,它会相应地使用公式。每次从列表中选择一个项目时,我都不必输入公式。

【问题讨论】:

  • 您需要有两个单独的“列表”,然后您可以根据在哪个列表中找到项目来使公式依赖/有条件...
  • @pnuts 也许我读错了,但严格来说关于工作表公式的问题似乎不是on topic
  • 之前的评论被撤回 :)

标签: excel excel-formula vlookup worksheet-function


【解决方案1】:

使用Food Items 工作表,添加另一列(例如 G)。对于不需要乘以 100 的项目,将此列留空,对于需要除以 100 的食物项目,在其中填上“x”。

然后将公式嵌套在一起。执行VLOOKUP 并返回第 3 列的值,该值将有条件地除以 100(如果在 G 列中找到“x”)或 1(如果 G 列为空)。

=VLOOKUP($A8,'Food Items'!$B$1:$F$59,3,FALSE)*($B8/If(VLOOKUP($A8,'Food Items'!$B$1:$G$59,6,FALSE)="x",100,1))

【讨论】:

  • 啊是的@pnuts 应该是/,我是倒着做的。
  • 我也忘记了等式的B8 部分。
猜你喜欢
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
相关资源
最近更新 更多