可以excel清理自由文本用户输入?

时间:2015-11-28 18:00:30

标签: excel excel-vba excel-formula vba

任何帮助都会受到大力赞赏 - 我真的被困在这上面了。

我在用户输入的表单上有一个字段,询问人们他们参加过哪所大学,由于我们系统的技术限制,必须是自由文本。

这总是导致每所大学有数百个不同的条目,这意味着我必须在excel上使用过滤器并梳理成千上万的条目并手动统一 - 缺乏关于如何自动化的知识限制了它的大量实际应用。

有没有人知道我们可以自动化这个分类(然后统一)不同条目的过程,这些条目指的是同一件事(例如有人可能会把UCL,另一个可能会把“大学,伦敦”和另一个“大学大学伦敦“ - 我需要教导系统所有3个是相同的,然后在excel上转换它。”

我有一个列表,列出了我们想要的每个大学的确切条目,我很乐意在用户条目与其中一个匹配时手动“教授”excel,然后提供它,然后了解未来(以便时间顺利)在,我们必须越来越少手动统一)。

很高兴澄清任何事情,非常感谢任何帮助。

罗布

2 个答案:

答案 0 :(得分:2)

不要成为用户恶作剧的受害者。

为每个有效回复分配唯一ID,并让用户输入ID。

答案 1 :(得分:1)

...烨

正如你所说,你需要做一些教学,这里是教学表。基本上只是随着你的进展填补。你可能会问UOL是什么,对不起我只是为了说明而已。

enter image description here

然后你有用户输入(列E),加上5个计算列(F:J)

enter image description here

现在公式,我只会在第2行显示,其余的只是填充。

groupbox.Controls.Clear();

基本上逻辑流程是

  1. 在教学表中进行用户输入的完全匹配vlookup,如果找到,则将其归结并返回统一名称。 (G栏)
  2. 如果未找到上述完全匹配,那么我们将继续使用像Helper vallue这样的明星。计算在教学表中找到HELPER值的次数。 (H栏)
  3. 在教学表中进行辅助值的完全匹配vlookup。 (第I栏,与第H栏一起使用)
  4. 如果G列中的值不是错误,则使用它,

    否则,如果H列中的值为1,则VLOOKUP(HELPER)值为好。如果它是0,那么你之前没有教过excel这个名字。如果> 2,则表示需要进一步关注,VLOOKUP(助手)值可能有误,因为有多个匹配。

  5. 这里的技巧是HELPER专栏。通过用星号替换空格,vlookup现在变得类似于一系列关键字的vlookup。无论用户的输入如何,只要找到一些关键字并且序列匹配,countif和vlookup就会返回值。

    与此同时,您还提交了IT增强请求! :)