另一个工作表上的Excel查找值以及该工作表中另一列的返回值

时间:2017-03-07 14:08:13

标签: excel excel-vba excel-formula formulas vba

我有一个工作簿,它有一个名为Players的主表,有Ticket#,Table#,Name(然后是其他信息)。

示例:

Players

我也有表格分配表。

示例:

Tables

我想要的是名为表1的工作表来查看表1中的被称为玩家的工作表,然后返回其旁边的人的姓名。

2 个答案:

答案 0 :(得分:1)

在'表1'中试试这个!B2,

=iferror(index(players!c:c, aggregate(15, 6, row(players!b$1:index(players!b:b, match(1e99, players!b:b)))/(players!b$1:index(players!b:b, match(1e99, players!b:b))=1), row(1:1))), text(,))

填写下来,直到收到空白。

答案 1 :(得分:0)

我不建议采用这种方法,但既然你已经设定了它,那么:

  1. 在每个表格中添加一个辅助列,以在“玩家”表格中找到“行号”(如果没有,则可以,但不能重新编辑。如果愿意,可以隐藏它。)

  2. 在新单元格的单元格A2中输入此公式:

    = IFERROR(SMALL(IF(玩家$ B $ 1:$ B $ 100 = 1 * TRIM(RIGHT(REPLACE(CELL("文件名",A1),1,FIND(" ]",CELL("文件名",A1)),"&#34),2)),ROW($ B $ 1:$ B $ 100)),ROWS(A $ 2:A2)),"&#34)

  3. (通过ctrl + shift + enter确认,而不仅仅是输入)

    1. 现在根据玩家工作表中的那一行设置INDEX值:

      = IF(A2 $ ="""",INDEX(玩家C:!C,$ A2))

    2. 将公式扩展到其他单元格并根据需要更改列。