首页 > 解决方案 > 需要一个工作表公式来检测单元格中的分隔符是否应该被忽略

问题描述

我需要在有多个分隔符的单元格中解析一个字符串,我需要确定是否应该忽略其中一个。

应跳过字符串中某个点的某些分隔符,并且不应解析字符串的该部分。例如,如果我有字符串

123, Main, Street, Apt ABC, New York, NY, 12345,6789, USA。

这看起来像一个地址。如果我使用分隔符“,”,那么 # 和街道名称将彼此分开但它们应该在一起,邮政编码将分成两部分,但它们需要保持在一起,“,”应该是更改为“-”如何编写一个工作表函数,将特定的“,”更改为破折号而不是其他分隔符?

目前我正在为邮政编码做两项操作,解析然后连接,如果可以的话,更喜欢做一项!

同样,如果我使用 Text To Columns 并且我有这个字符串:

123 Main Street Apt ABC 纽约 NY 12345-6789 美国

如果我使用“空格”作为分隔符,那么 New 和 York 将被拆分。我不能使用固定长度,因为字符串的长度不一样。

我有很多看起来像这两个例子的案例。我对如何修复它的城市部分感到困惑。如果没有两个单词的城市名称列表,我不确定如何做到这一点,如果有的话。

感谢您的任何创意。如果做不到,我会接受并手动做。

标签: excelexcel-formulaworksheet

解决方案


不幸的是,使用自定义构建的 excel 函数或宏以编程方式将无法辨别逗号之间的区别。

独特的是,如果您能够数数并说只需要一个特定的逗号,例如需要第 4 个逗号和第 5、第 6 个逗号,那么第 7 个应该是破折号。可以将其编程为将完成它的宏。但是,除非您对分隔符的数量是唯一的,否则只需要 X 和 Y 编号的分隔符,否则很难使用任何函数或 VBA 代码来做到这一点。

如果您可以使用唯一编号,则可以使用,否则需要手动完成。


推荐阅读