如何使用公式从同一工作簿动态导入值

How can I dynamically import value from the same workbook using a formula

我正在尝试使用 ArrayFormula 从同一工作簿中的另一个 sheet 导入值,但是除了 ImportRange 之外我找不到任何有用的东西,这需要当前工作簿的 URL 很乏味。

我在同一工作簿中设置了两个 sheet:"Sheet Name1" 和 "Sheet Name2"(注意空格)。 在 "Sheet Name1" 我有一个人名单:

   A      B        C
1 Bob   Smith      http://bobsmith.com
2 Sally Buble      http://sallysmelly.com
3 Tom   Shlonsky   http://tomswebsite.com
4

有他们的名字、姓氏和他们拥有的 URL

在 "Sheet Name2" 我有以下内容:

   A      B        C                      D                          E
1 Bob   Smith             =MATCH(B1, 'Sheet Name1'!B:B, 0) =CONCAT("'Sheet Name1'!C", D1)
2 Sally Buble      
3 Tom   Shlonsky   
4

我希望 "Sheet Name2" 中的单元格 C 也显示这些网站。但是,我不能像 ='Sheet Name1'!C1 这样的引用,因为如果 Sally 在 "Sheet Name1" 中被删除(即她的行被删除,不是清除而是删除),那么 "Sheet Name2" 中的 Sally 将显示汤姆的网站。

我尝试了以下公式集:

  1. 在 "Sheet Name2" 的单元格 D1 中,我去 =MATCH(B1, 'Sheet Name1'!B:B, 0) 得到 1
  2. 在 "Sheet Name2" 的单元格 E1 我去 =CONCAT("'Sheet Name1'!C", D1) 这给了我 'Sheet Name1'!C1
  3. 但现在当我去 =ArrayFormula(E1) 时,我又得到了 'Sheet Name1'!C1。如果我去 =ArrayFormula('Sheet Name1'!C1) 我会得到我想要的 URL,http://bobsmith.com.

我知道我可以使用 ImportRange 但这需要当前工作簿的 URL 并且此工作簿将被复制很多次,不同的人在处理它,所以我想删除那个额外的步骤。

尝试VLOOKUP喜欢:

=ARRAYFORMULA(IFERROR(VLOOKUP(A1:A&B1:B, 
 {'Sheet Name1'!A1:A&'Sheet Name1'!B1:B, 'Sheet Name1'!C1:C}, 2, 0)))