【问题标题】:How to use more than 200 nested if conditions in excel?如何在excel中使用200多个嵌套if条件?
【发布时间】:2018-01-10 00:47:36
【问题描述】:

我在excel表A中有以下数据。

Category    Name
Fruit       Apple
Vegetable   Brinjal
XYZ         Abc

我想创建一个公式,它采用名称列的值,输出相应的类别列。

如果我使用 VLookUp,我必须在每个需要执行此操作的地方复制此参考表。

因此我正在寻找类似的东西

IF(input="Apple","Fruit",IF(input="Brinjal","Vegetable",IF(input="Abc",XYZ,"")))

但是 excel 中的嵌套 if 是有限制的,而且我们在 switch case 中可以拥有的 case 也没有限制。

我有这个表大约 200 行。

【问题讨论】:

  • 不要。只需复制参考表。将它与您需要的任何其他内容一起放入它自己的工作表中,然后将整个工作表复制到您的新工作簿中。
  • 它不必在每张纸中,您可以从另一张纸中引用一张纸。将所有查找数据放在一张表中,然后从其他表中引用它。
  • 我不想在需要时复制这些列。我只是想把这些数据变成公式,这样我每次都会应用公式。

标签: vba excel excel-formula excel-2007


【解决方案1】:

使用 INDEX 和 MATCH 函数。通过匹配“名称”对“类别”进行索引

【讨论】:

  • 在这种情况下,我需要在每个文档中都有参考表吗?
  • 我认为所有这些都在同一个工作簿“文档”中。即:Index(A:A,match("输入名称",B:B,0))
  • @ShivaN - 使用类似=INDEX({"Fruit","Vegetable","Xyz"},MATCH(A1,{"Apple","Brinjal","Abc"},0))
【解决方案2】:

你当然不需要这么多的 IF 语句(虽然我注意到你的 Q 标题),例如:

=CHOOSE(MATCH(D13,{"Apple","Brinjal","Abc"},0),"Fruit","Vegetable","XYZ")

它不应该以您的版本的速度增长 - 但是 200 个“对”将接近 CHOOSE 的限制。

D13 作为电子表格中的示例。)

【讨论】:

  • 正如我在问题中提到的,我在参考表中有 200 行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-25
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多