EXCEL VLOOKUP 多个结果
EXCEL VLOOKUP multiple outcomes
如何使用 vlookup 检索多个值,然后将所有这些值转换为彼此相邻的列?
您可以使用过滤功能结合转置来完成您想要的。
这是 a sample on google sheets,但如果您具有 Spill-Range 功能,它也适用于 Excel...
如果您使用 Office 365,您可以使用 pgSystemTester 提供的解决方案:
=TRANSPOSE(FILTER(B4:B9,A4:A9=C2))
其中 C2
包含搜索值,
A4:A9
包含与搜索值匹配的值,
B4:B9
包含结果值。
如果使用 O365 之前的 Excel 版本,可以通过以下方式完成:
=IFERROR(INDEX($B:$B,AGGREGATE(15,6,ROW($A:$A)/($A:$A=$C),COLUMN(A:A))),"")
这会使用在 A4:A9
中的搜索值 C2
上找到匹配项的行号为 B 列编制索引。匹配的最小行号被编入索引,当复制到右边时第二小,等等。
注1:函数的INDEX
部分使用整列引用。
注2:仅在函数的COLUMN
部分,范围引用中省略了$
。这将导致在复制到右侧时将范围引用更改为右侧。
如何使用 vlookup 检索多个值,然后将所有这些值转换为彼此相邻的列?
您可以使用过滤功能结合转置来完成您想要的。
这是 a sample on google sheets,但如果您具有 Spill-Range 功能,它也适用于 Excel...
如果您使用 Office 365,您可以使用 pgSystemTester 提供的解决方案:
=TRANSPOSE(FILTER(B4:B9,A4:A9=C2))
其中 C2
包含搜索值,
A4:A9
包含与搜索值匹配的值,
B4:B9
包含结果值。
如果使用 O365 之前的 Excel 版本,可以通过以下方式完成:
=IFERROR(INDEX($B:$B,AGGREGATE(15,6,ROW($A:$A)/($A:$A=$C),COLUMN(A:A))),"")
这会使用在 A4:A9
中的搜索值 C2
上找到匹配项的行号为 B 列编制索引。匹配的最小行号被编入索引,当复制到右边时第二小,等等。
注1:函数的INDEX
部分使用整列引用。
注2:仅在函数的COLUMN
部分,范围引用中省略了$
。这将导致在复制到右侧时将范围引用更改为右侧。