在列表中查找多个值并在新工作表中对它们进行排序

Posted

技术标签:

【中文标题】在列表中查找多个值并在新工作表中对它们进行排序【英文标题】:Look up multiple values in a list and sort them in a new sheet 【发布时间】:2017-03-21 07:25:10 【问题描述】:

我有一个数据表,其中包含与名称对应的 9 列。但是名字是重复的。所以我想为所有名称创建新表并从数据表中过滤它们的数据。当对数据表进行任何更改时,必须更新这些表。

我尝试了 VLOOKUP,但遇到了一些问题,对我来说效果不佳。我找到了一种可能有帮助的方法,但它已经为 Excel 做好了准备。 (https://fiveminutelessons.com/learn-microsoft-excel/use-index-lookup-multiple-values-list)

在 OpenOffice 中 ROW(1:1) 没有给出结果。作为数组拖动也不会更改公式中的单元格。那么有没有其他方法可以解决这个问题? (首选 OpenOffice 解决方案)。

【问题讨论】:

您使用的是 OpenOffice.org Calc 还是 Excel?它们不是同义词。如果您想要 Excel 解决方案,请使用 Excel 标记并删除另一个,反之亦然。当然,您可以保持原样,因为它太宽泛而被否决。 我正在使用 openoffice calc,但任何使用 excel 的替代解决方案也会对我有所帮助。这就是我放 2 个标签的原因。我还指出,openoffice 解决方案会更受欢迎。 【参考方案1】:

问题中链接中的示例几乎可以在 LibreOffice 中使用。要修复它,请使用 ROW($A$1:$A$6),而不是 ROW(1:1)

我不确定ROW(1:1) 在 Excel 中的作用,也无法在网上找到解释。在 Calc 中,ROW($A$1:$A$6) 返回一个 1 列 x 6 行的数组:1;2;3;4;5;6

所以这里是使用示例的完整公式。

=IF(ISERROR(INDEX($A$2:$C$7,SMALL(IF($A$2:$A$7=$A$9,ROW($A$2:$A$7)),ROW($A$1:$A$6))-1,3)),"",INDEX($A$2:$C$7,SMALL(IF($A$2:$A$7=$A$9,ROW($A$2:$A$7)),ROW($A$1:$A$6))-1,3))

请务必使用 Ctrl+Shift+Enter

将其输入为 array formula

【讨论】:

以上是关于在列表中查找多个值并在新工作表中对它们进行排序的主要内容,如果未能解决你的问题,请参考以下文章

用于工作表的谷歌应用脚​​本 - 选择多个列表值并记录在同一个单元格中

Pandas str.contains - 在字符串中搜索多个值并在新列中打印值[重复]

如何在 netsuite/freemarker 的高级 pdf/html 工作表中对列表进行分组?

如何使用 Perl 删除 Excel 工作表中的整列并在新的 Excel 文件中写入更新的数据?

如何在java中对不同的数据类型进行排序并将它们打印在一个表中? (使用方法重载)

在 Pandas 数据框中找到最小值并在新列上添加标签