excel - 如何匹配逗号分隔的列表然后使用索引在excel中获取逗号分隔的结果
问题描述
我查了一下表:
一种 | 乙 |
---|---|
一种 | 苹果 |
乙 | 香蕉 |
我有列
一种 |
---|
一种 |
甲,乙 |
乙 |
我喜欢结果显示为
一种 | 乙 |
---|---|
一种 | 苹果 |
甲,乙 | 苹果、香蕉 |
乙 | 香蕉 |
解决方案
要使用公式执行此操作,必须具有可在 Office365 和 Excel 2019 中使用的 TEXTJOIN。
=TEXTJOIN(", ",TRUE,VLOOKUP(FILTERXML("<a><b>"&SUBSTITUTE(D1,",","</b><b>")&"</b></a>","//b"),A:B,2,FALSE))
如果没有 TEXTJOIN,则需要 vba 或许多辅助列。
使用 vba 可以创建一个 TEXTJOIN 外观。请参阅此处。
我们还需要转换到 INDEX MATCH:
=TEXTJOIN(", ",TRUE,INDEX(B:B,N(IF({1},MATCH(FILTERXML("<a><b>"&SUBSTITUTE(D1,",","</b><b>")&"</b></a>","//b"),A:A,0)))))
这需要在退出编辑模式时使用 Ctrl-Shift-Enter 而不是 Enter 来确认。
推荐阅读
- python - 在批处理文件中编辑给定变量
- python - 文本挖掘,自定义词形还原
- sql - oracle apex 应用程序进程 PLSQL 写入使用存储在 DB 表中的 BLOB 布局打印报告
- javascript - 如何在javascript中从位图中获取或分离绘图对象,线条,椭圆等对象
- javascript - 获取 404 未找到 Ajax 向 struts 发布请求的 HTTP 状态操作
- php - 我获取最后插入 ID 的代码有什么问题?
- python - 检查方法是否被导入,从 X 导入 Y
- java - Spring Cloud Bus Kafka Bean 配置
- excel - 在 Excel 中使用 Sumif 公式时出现错误
- php - 如何修复未定义的偏移量:2?