parsingexcel单元格。 怎么样?

我们有Excel文件。 该文件位于包含该行的名称为“address”的单元格中,例如:

The Accounts Department, National Bank Ltd, 20 Lombard Str., London 3 WRS, England 

需要在单元组中共享信息。 也就是说,我们必须有以下单元格:

“国家”:英格兰“城市”:伦敦“街道”:伦巴第大街。 ….. 和别的

这对于分析单元格的内容并将内容划分为逻辑部分是必要的。 你可以告诉我从什么开始?

没有确定的办法来做到这一点。 假设(这是一个很大的假设),逗号用于分隔单元格,可以在“ Data菜单中select“ Text To Columns ,然后selectcomma作为分隔符。

这应该给你如下所示:

 A1 | B1 | C1 | D1 | E1 The Accounts Department | National Bank Ltd | 20 Lombard Str. | London 3 WRS | England 

从那里,在F1单元格中,您可以执行以下操作来尝试提取街道名称:

 =RIGHT(C1,LEN(TRIM(C1))-FIND(" ",TRIM(C1))) 

你可以用这个find城市:

 =LEFT(D1,FIND(" ",TRIM(D1))) 

你可能会发现两个我的公式的例外,你只需要解决这个问题。

如果我的第一个假设是错误的,并且在字段分隔符以外的文本中逗号,我会要求用不同的分隔符(例如pipe道)返回文件。

这实际上取决于您的“逻辑部分”是否以某种方式分隔,以便您可以分别标识每个部分。 我怀疑你可以用逗号“,”作为分隔符,因为地址组件本身可能包含逗号(例如公司/企业的名称)。 另外,您可能会遇到数据清洁问题 – 即逗号可能会丢失,或者出现在错误的地方或其他地方。

如果你有分隔的数据,你的工作会被简化一些,因为你可以独立地识别每个字段。 但是,这仍然不是直截了当的。 如果你没有分隔的数据,这将是非常困难的。 无论如何,田地的识别可能会沿着这样的路线:

1)邮政编码(有一个众所周知的正则expression式 – 但是,你可能需要应付格式错误或无效的邮政编码或拼写错误)

2)国家和城镇,城市 – 你可以得到这些英国城镇的字典。 有一个谷歌。

3)村庄 – 难度更大,但字典会让你98%的路程。

4)街道,道路等:不能真正使用这个字典。 您需要根据关键字进行某种识别 – 如果该字段在街道,道路,车道或其他地方结束。 但是,有很多这些。 你可能会发现贝叶斯方法对此很有效。

5)公司名称,部门等仍然较难。 再次某些关键字可以标记这些(如“公司”),但我猜你的大部分条目不能保证包括法律实体。 部门可以是任何东西。

另外 – 人名呢? 你能认出这些吗?

总而言之,要完成正确的工作,这是相当大的工作。 没有简单/简单的答案。

顺便说一句 – 如果你访问的PAF可能会帮助你: http ://www.royalmail.com/portal/rm/jump2?mediaId=400085&catId=400084&campaignid=paf_redirect

但是,这仍然不会帮助你与部门,业务或人名。