【问题标题】:excel lookup value on another sheet and return value of another column from that sheetexcel在另一张表上查找值并从该表中返回另一列的值
【发布时间】:2017-07-27 18:53:16
【问题描述】:

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

示例:

我也有表格分配的工作表。

示例:

我想要的是名为 table 1 的工作表查看表 1 的工作表 Called Players,然后返回旁边的人的姓名。

【问题讨论】:

标签: excel excel-formula formulas vba


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

填写,直到收到空白为止。

【讨论】:

  • 效果很好。另一个问题是有没有办法让座位#与玩家表中的票#相匹配?
  • 是的,有办法。修改上面的内容,通过匹配玩家姓名和桌号来检索另一列(我假设玩家可能在多个桌子上)。如果您遇到麻烦,请发布一个新问题并展示您最初的努力*(工作与否)以获得对您问题的最佳回应。如果强烈反对,则在发布需求时未表现出对解决方案的原始努力。
【解决方案2】:

我不建议使用这种方法,但既然你已经设置好了:

  1. 在每个表格中添加一个帮助列,以在玩家表中查找行号(可以不使用,但不推荐。您可以根据需要隐藏它)。

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

    =IFERROR(SMALL(IF(玩家​​!$B$1:$B$100=1*TRIM(RIGHT(REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename" ,A1)),""),2)),ROW($B$1:$B$100)),ROWS(A$2:A2)),"")

(用ctrl+shift+enter确认,不只是enter)

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

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

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

【讨论】:

  • 除此之外你还有什么建议?
猜你喜欢
  • 2017-06-11
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多