在列中查找匹配的单词或数字,并返回相应的行

时间:2018-02-16 03:40:06

标签: excel google-sheets spreadsheet

我不确定我能说清楚这一点有多好,但希望它有意义。

我有一个Google表格,其中包含3个标签,其中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行。

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

E.g:返回的数据是:

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

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

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

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

那么,有没有办法扩展它以获得匹配行中所有Cell的内容?

但是,如果在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")

但是,这对Duplicates不起作用。 那么,有2个Arthurs,这只会返回它找到的最后一个Arthur实例的相应行。有没有办法让它归还所有这些。

2 个答案:

答案 0 :(得分:1)

请找到以下公式&图片。希望该公式将解决您的问题。如果仍然存在问题,请与一些Sample数据共享样本表。我会尽力解决您的问题。

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

供参考的图片 - enter image description here

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

答案 1 :(得分:0)

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

=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)))

向下拖动它以调整结果。