【问题标题】:Find Matching Word, or Number, in a Column and return corresponding rows在列中查找匹配的单词或数字并返回相应的行
【发布时间】:2018-02-16 03:40:05
【问题描述】:

我不确定我会如何清楚地表达这一点,但希望它是有道理的。

我有一个包含 3 个选项卡的 Google 表格,其中 2 个包含数据,而第 3 个是 2 个选项卡的概述。我正在尝试创建一个小型搜索公式,以便轻松地从 2 个工作表中的 1 个中查找特定数据。

这是一张纸的样子:

       A               B        C            D
   1| Name     |    Number  | Type       | Role
   --------------------------------------------
   2| John Doe | 012345     | Tech       | MKT 
   3| Jane Doe | 012445     | Business   | DEV 
   4| Jane Doe | 012445     | Business   | MKT 
   5| Arthur   | 015475     | Home       | SALE 
   6| Arthur   | 011111     | Tech       | MKT

大约有 250 行。

我要做的是查看特定列是否与添加到主工作表的搜索词匹配。 例如:第 1 列中的“亚瑟”(“亚瑟”A2:A5)。并且,如果存在,则返回相应行中每一列的数据。

例如:返回的数据是:

    A5 (Arthur), B5 (015475), C5 (Home), D5 (Sale)

目前,我在主工作表中使用以下公式搜索工作表 2 中的 A 列(A1 是我输入名称的单元格,例如:Arthur)并输出第一行:

    =Vlookup(A1,Sheet2!$A$1:$K$200,1,False)

如果有匹配,则输出该单元格的内容。在这种情况下,亚瑟。

那么,有没有办法扩展它以获取匹配行中所有单元格的内容?

但是,如果在 MS Excel 中打开此文件,我需要确保它兼容。

谢谢

编辑:我已经设法解决了我自己的问题:

   =IFERROR(INDEX(Sheet2!$A$1:$K$20,SMALL(IF(Sheet1!$A$1:$K$20=A2,ROW($A$1:$K$20)-ROW($C$1)+1),ROWS(A$1:K1))),"False")

但是,这不适用于重复项。 让我们这样吧,有 2 个 Arthur,这只会返回它找到的最后一个 Arthur 实例的对应行。有没有办法让它全部返回。

【问题讨论】:

    标签: excel google-sheets spreadsheet


    【解决方案1】:

    请找到以下公式和图片。希望公式能解决您的问题。如果仍然存在问题,请分享带有一些示例数据的示例表。我会尽力解决您的问题。

    公式 - =QUERY(A3:D8,"Select A,B,C,D where A = '"&F2&"'",0)

    图片供参考 -

    如果要包含标题,请将 0 替换为 1。

    【讨论】:

      【解决方案2】:

      最简单的是过滤功能。请尝试:

      =filter('Sheet1'!A:D, A:A = "Arthur")

      或者查询函数。

      注意! queryfilter 不兼容。

      对于excel,您可以根据需要采用this formula

      =INDEX('Sheet1'!B$1:B$500, SMALL(IF("Arthur"='Sheet1'!$A$1:$A$500, ROW('Sheet1'!$A$1:$A$500)-ROW('Sheet1'!$A$1)+1), ROW('Sheet1'!1:1)))

      向下和向右拖动以调整结果。

      【讨论】:

        猜你喜欢
        • 2018-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-22
        • 2012-04-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多