在MCONCAT公式中替换分隔符

时间:2013-03-27 20:59:06

标签: excel delimiter array-formulas

我正在使用MCONCAT公式(成功和其他人的帮助)创建一个包含多个附件名称的单个字符串,以将它们与单个记录#相关联(我将数据从遗留系统转换为另一个平面文件和数据加载器)。

一个例子:|合同1 | filename.pdf,filename2.doc |

但是,当第一次加载运行时,名称中包含逗号的记录错误输出,因为数据加载器正在查看逗号作为文件之间的中断。经过一些研究,我们决定使用'@'作为单元格中多个文件之间的分隔符。现在我被困在尝试用'@'替换我的MCONCAT公式中的逗号分隔符,到目前为止还没有结果。

以下是我现在正在使用的代码:

=SUBSTITUTE(MCONCAT(IF($A$2:$A$11133=$D2,", "&$B$2:$B$11133,"")),", ","",1)

这可能吗?如果是这样,&也许(如果不是要求太多)简短的解释,以便我完全理解。

有希望的解决方案的一个例子:|合同1 | filename.pdf @ filename2.doc |

1 个答案:

答案 0 :(得分:0)

根据带逗号的文件名的复杂程度,您可以使用“查找”和“放大器”执行您想要的操作。选择/替换excel的功能。

如果您尝试了任何建议,请使用工作簿的副本

如果您的分隔符总是 [list item][comma][space][list item][list item(s)]没有[comma][space]包含[at][space],那么使用“找到什么”字词“,”(注意空格!)和“替换为”术语“@”,使用[space][at][space]代替{{1}}可能更好,选择包含列表的列可以解决您的问题。

VBA解决方案是可行的,但它可能比它的价值更多的努力。您可能需要编写许多规则来告诉它如何拆分和连接东西,最后还是不完美。

虽然手动操作可能不是一个有趣的想法,但您可以使用“text to columns”之类的内容来拆分列表,然后查看结果并修复错误,然后使用新的分隔符重新加入。