Excel - 如何连接 2 个值以进行引用
Excel - How to concatenate 2 values to make a refference
我有一长列数据(15000 个值),简化后如下所示:
A B C D
1 lorem pellen Vestibulum
2 epsum tesque pretium
3 Morbi vel convallis
4 fermentum tellus nibh
5 Interdum molestie Vi
..
15000
那我还有第二个table:
A B C
TYPE row_start row_end
type 1 1 765
type 2 766 468
type 3 312 1789
type 4 7775 1324
type 5 756 9999
...
第二个table有全部数据;第一行有信息,从哪一行到哪一行是与特定类型相关的数据。我知道信息在哪几行,我只是不知道如何获取数据,即在同一行,但不同列。
我知道的:
我知道如何使用 INDIRECT() 函数。
我想要的:
我希望能够连接 2 个字符串以提供参考:
示例:
INDIRECT(B3) <<-- this works of course
INDIRECT(CONCATENATE("B","3")) <<-- doesn't work
INDIRECT("B"&"3") <<-- doesn't work
我不想要的 制作额外的专栏,专为此目的而存在:即
A B C D ...
TYPE info1_row_start info1_row_end info2_row_start ...
type 1 Sheet_2!C1 Sheet_2!C765 Sheet_2!D1 ...
type 2 Sheet_2!C766 Sheet_2!C468 Sheet_2!D766 ...
type 3 Sheet_2!C312 Sheet_2!C1789 Sheet_2!D766 ...
type 4 Sheet_2!C7775 Sheet_2!C1324 Sheet_2!D766 ...
type 5 Sheet_2!C756 Sheet_2!C9999 Sheet_2!D766 ...
...
编辑
正如 Gary 的学生回答的那样,以下两种方法都有效。
INDIRECT(CONCATENATE("B","3"))
INDIRECT("B"&"3")
如果A1包含"happiness"且B3包含"A1",则:
=INDIRECT(B3)
=INDIRECT(INDIRECT("B" & 3))
=INDIRECT(INDIRECT(CONCATENATE("B", "3")))
将全部return"happiness"
我使用了公式:
=INDIRECT(CONCATENATE("Sheet_2!","B",B3))
我用它来连接 2 个字符串和一行,值在 B3 中。
您可能需要
=INDIRECT("Sheet_2!" & INDIRECT("B" & "3"))
之类的。
小心,因为
=INDIRECT(INDIRECT("Sheet_2!" & "B" & "3"))
可能会给出不同的结果。我想这是您需要的关键。
正在评论一个答案以添加图片。但是您的第二个公式似乎也可以正常工作:
请注意,在 B3 中使用 2
,公式 returns B
来自 Sheet_2!B2
我有一长列数据(15000 个值),简化后如下所示:
A B C D
1 lorem pellen Vestibulum
2 epsum tesque pretium
3 Morbi vel convallis
4 fermentum tellus nibh
5 Interdum molestie Vi
..
15000
那我还有第二个table:
A B C
TYPE row_start row_end
type 1 1 765
type 2 766 468
type 3 312 1789
type 4 7775 1324
type 5 756 9999
...
第二个table有全部数据;第一行有信息,从哪一行到哪一行是与特定类型相关的数据。我知道信息在哪几行,我只是不知道如何获取数据,即在同一行,但不同列。
我知道的: 我知道如何使用 INDIRECT() 函数。
我想要的: 我希望能够连接 2 个字符串以提供参考: 示例:
INDIRECT(B3) <<-- this works of course
INDIRECT(CONCATENATE("B","3")) <<-- doesn't work
INDIRECT("B"&"3") <<-- doesn't work
我不想要的 制作额外的专栏,专为此目的而存在:即
A B C D ...
TYPE info1_row_start info1_row_end info2_row_start ...
type 1 Sheet_2!C1 Sheet_2!C765 Sheet_2!D1 ...
type 2 Sheet_2!C766 Sheet_2!C468 Sheet_2!D766 ...
type 3 Sheet_2!C312 Sheet_2!C1789 Sheet_2!D766 ...
type 4 Sheet_2!C7775 Sheet_2!C1324 Sheet_2!D766 ...
type 5 Sheet_2!C756 Sheet_2!C9999 Sheet_2!D766 ...
...
编辑 正如 Gary 的学生回答的那样,以下两种方法都有效。
INDIRECT(CONCATENATE("B","3"))
INDIRECT("B"&"3")
如果A1包含"happiness"且B3包含"A1",则:
=INDIRECT(B3)
=INDIRECT(INDIRECT("B" & 3))
=INDIRECT(INDIRECT(CONCATENATE("B", "3")))
将全部return"happiness"
我使用了公式:
=INDIRECT(CONCATENATE("Sheet_2!","B",B3))
我用它来连接 2 个字符串和一行,值在 B3 中。
您可能需要
=INDIRECT("Sheet_2!" & INDIRECT("B" & "3"))
之类的。 小心,因为
=INDIRECT(INDIRECT("Sheet_2!" & "B" & "3"))
可能会给出不同的结果。我想这是您需要的关键。
正在评论一个答案以添加图片。但是您的第二个公式似乎也可以正常工作:
请注意,在 B3 中使用 2
,公式 returns B
来自 Sheet_2!B2