【问题标题】:Lookup ticket data for various groups located on one sheet and move to another sheet based on group name查找位于一个工作表上的各个组的工单数据,并根据组名称移动到另一个工作表
【发布时间】:2019-12-13 18:07:52
【问题描述】:

我有一张包含服务票证数据的表格,例如票证号、开放时间、分配组等。然后我有带有各种组名的选项卡,我目前必须手动排序并复制过去到每个选项卡.我正在尝试使用 INDEX MATCH 根据组名动态引用数据,但公式仅返回与引用的组名匹配的第一项。请参阅下面的代码。我觉得有一种方法可以在不使用 VBA 的情况下做到这一点,但如果有人认为 VBA 是可行的方法,那很好。感谢您的帮助。

=INDEX('Format Page'!$A:$M,MATCH("Group A",'Format Page'!$H:$H,0),MATCH('Group A'!A$1,'Format Page'!$A$1:$M$1,0))

其中'Group A'!A$1 是组选项卡的名称,A1 是票号列。当我将这个公式向下拖动时,我只会得到与组名匹配的第一张票。

【问题讨论】:

  • 您能添加一些示例数据和所需的输出吗?
  • 每个工作表都带有组名,即 I.E. A 组具有与格式页相同的列,顺序相同。编号、开放时间、分配组等。我只是想将特定组名称表中的每一列与格式页面表上的匹配组名称进行匹配。因此,理想情况下,在每个组名表上,当我粘贴当天的新票证数据时,每个特定组名表都会自动填充其特定组,而不是我必须在格式页面上按组名过滤并将数据复制到到每个单独的组表。
  • “分配组”列会包含您的组名,如“A 组”、“B 组”等?
  • 正确。我添加了 2 张工作表的示例图片。
  • 你不会想要这个公式,除非你有新的动态数组公式:FILTER() 和下面的Answered。否则,他们将通过数组类型的公式和充满这些公式的页面减慢计算速度。您将需要使用 vba 将正确的行复制到正确的工作表或使用高级过滤器。

标签: excel indexing reference match lookup


【解决方案1】:

简单的解决方案是使用新的动态数组。 FILTER 函数可能会为您提供正确的结果(在Group A 选项卡上将其输入A2)

=FILTER('Format page'!A2:H9,'Format page'!H2:H9="Group A")

它的好处是,当您的源数据(Format page)增长时,数组会自动增长。

但是,这仅在您已经可以使用动态数组时才有效(如果您使用更新的 Office 365,您可能会很幸运)。

您的源数据如下所示:

FILTER 函数会给你这个输出:

请注意,您不需要“拖动”这个动态数组。它会自动增长。

【讨论】:

  • 不幸的是我使用的是 Office 2016,所以我似乎只有 FILTERXML 公式可用。
  • 您对从哪里开始使用 VBA 方法有任何想法吗?自从我进行任何 VBA 编程以来已经有一段时间了,解决方案就在我的脑海中,但我不记得所有正确的语法。我在想如果我计算组名等于我想要的每页组的单元格数量,然后遍历每一列的那个数字,这会让我得到我想要的,但我不能一直得到在那里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多