【问题标题】: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 解决方案会更受欢迎。

标签: excel openoffice-calc


【解决方案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

【讨论】:

    猜你喜欢
    • 2022-10-04
    • 2016-11-28
    • 2015-11-11
    • 2020-07-29
    • 2021-07-03
    • 1970-01-01
    • 2021-01-05
    • 2019-08-09
    相关资源
    最近更新 更多