【问题标题】:Extract Group Name based on the Cell content根据单元格内容提取组名
【发布时间】:2021-09-06 09:56:02
【问题描述】:

我有一组数据分组并根据它们的类别分配“名称”,例如水果:苹果、橙子、猕猴桃……和蔬菜:番茄、洋葱、卷心菜……这里是苹果、橙子、猕猴桃用一个名为 Fruits 的名称定义,类似地用一个名为“蔬菜”的番茄、洋葱、卷心菜来定义。

在我的工作表中,我有 Apple、Tomato 等单元格,并希望在它们旁边提取分配给它的名称。 我使用了 =INDIRECT(Cell Address),不幸的是没有用。这个有公式吗?

【问题讨论】:

  • 你只有这两组还是更多?

标签: excel excel-formula groupname


【解决方案1】:

特别是如果你想避免冗长的公式和 VBA,我建议你重新排列你的数据。

  • 将类别名称放在第 1 行
  • 格式化为 Table 并为 Table 命名。 (我将其命名为 Foods

那么你的公式就变得简单了:

=INDEX(Foods[#Headers],1,MAX((ISNUMBER(SEARCH(D33,Foods))*COLUMN(Foods))))

D33 包含食物的名称

您可以使用常规范围和寻址,但使用表格会使名称和范围动态化

【讨论】:

  • 感谢您的公式和解决方案。这个解决方案对我来说简洁而简短,但不幸的是我无法将它应用到我的工作表上。实际上我拥有的数据是通过 FILTER 公式生成的,并且无法将表格插入到该数据中,因为这会导致 SPILL 错误。
  • @Ushay 因为你没有给出你的床单是如何设置的例子,所以我不能给你更多的建议。但是,将此概念应用于您的实际数据应该不难。
  • 我在数据表中做了一些调整以应用您的公式,效果很好。谢谢
【解决方案2】:

可能是误会。但是在间接引用单元格地址时,您是这样写的吗?

=间接(B2) 或者 =间接(“B2”)

【讨论】:

  • 如果 B2 包含 FruitsVegetables 但 op 在 B2 单元格中有 Apple 并且他想要基于 B2 单元格内容的组名,则此公式将起作用。
  • 你能不能不创建一个参考表,然后将单元格“B2”中的内容查找到参考表中。
  • @Tom_Foolery 可以,但我想使用现有的名称定义
【解决方案3】:

如果您定义了多个 Named,那么这将是不切实际的。但是你只有两个或几个名字,那么你可以试试下面的公式。这里 Fruits 命名范围是 A1:A3Vegetables 命名范围是 B1:B3

=IF(SUM(--(Fruits=D1))>0,"Fruits",IF(SUM(--(Vegetables=D1))>0,"Vegetables","No Group"))

对于旧版本的 excel,您可能需要使用 CTRL+SHIFT+ENTER 进行数组条目。

【讨论】:

  • 感谢这个公式。但这对我来说会很长,因为有很多命名组
  • 那你可能需要使用VBA
  • VBA 将是我的最后一个选择,如果公式不可能的话
猜你喜欢
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多