我试图使用一个vlookup (或其他一些函数)来填充基于单个单元格中以逗号分隔的数据的用户名列表。我尝试过通配符,并重新匹配函数,但似乎无法得到正确的语法(请参阅链接电子表格的开发选项卡,我的努力)。本质上,我想在“列”选项卡的B列中填充来自所有选项卡E列的用户名,这些用户名对应于从" All“选项卡D列中以逗号分隔的输入的A列中的数字。
提前感谢您的支持。
发布于 2022-10-12 08:03:49
无VLOOKUP的解决方案
=IFERROR(
INDEX(E:E,
MAX(
IFERROR(MATCH((ROW ()-1) & ",*",D:D,0), -1),
IFERROR(MATCH("* " & (ROW ()-1) & ",*",D:D,0), -1),
IFERROR(MATCH(", " & (ROW ()-1),D:D,0), -1)
),
1),
"")解释:
MATCH((ROW ()-1) & ",*",D:D,0) -第一个数字(9,15,21)MATCH("* " & (ROW ()-1) & ",*",D:D,0) -一个中间数(9,15,21)MATCH(", " & (ROW ()-1),D:D,0) -最后一个数字(9,15,21))
如果与
ROW()-1将是-1,则会触发错误。(当我们尝试逐行获取一个-1)时,== ==
如果有错误,则显示一个空的string。
结果:

发布于 2022-10-12 08:04:11
用途:
=INDEX(IFNA(VLOOKUP(A2:A*1, SPLIT(FLATTEN(IF(IFERROR(
SPLIT(ALL!D2:D, ","))="",,SPLIT(ALL!D2:D, ",")&""&ALL!E2:E)), ""), 2, )))

发布于 2022-10-14 09:45:02
=索引(IFNA(VLOOKUP)(A2:a*1,FLATTEN(IFERROR(IFERROR(ALL(ALL!D2:d,","))="",“d2:d,”和“”&ALL!E2:e),“",2,)
这是最有效的公式。它分别处理每个逗号分隔的值,并允许我从适当的列中提取名称。谢谢你的支持!
https://stackoverflow.com/questions/74035706
复制相似问题