使用模糊匹配dynamic创build数据透视表

所以,我不断地以新的和不同的格式提供数据。 为了使我的工作标准化数据以便于使用,我正在进行一场讨伐,如果我设法说服力量来标准化数据,那么这个问题就完全没有意义了。 在那之前,我有以下问题:

我以各种方式获取数据。 有时我的销售总额被称为总销售额。 有时折扣前的总销售额,折扣前的总销售额,Gross_Sales等折扣,扣除,免税金额等构成另一栏。 等等等等。 我希望能够做到以下几点:

1)找出我想要的列,
2)将这些列转换为数据透视表。

对于第一部分,我有两个select,我想知道是否有:第一个是使用微软的模糊匹配插件来帮助我匹配。 我会有一个单独的选项卡专用于模糊匹配我需要的每一列。 第二种方法是只生成所有变体的一个长列表,并testing每个变体,直到find命中,分配它,然后转到下一个testing。

第二部分是把所有这些转换成一个数据透视表 – 我到目前为止的资源是https://www.thespreadsheetguru.com/blog/2014/9/27/vba-guide-excel-pivot-tables和如何在VBA中创build一个数据透视表

有更好的方法吗? 有另一种方法吗?

编辑:稍微好一点的方法 – 抓取数据列,将它们放到一个表中,并将所有的东西都closures – 这样就不需要重新创build数据透视表,只需要移动数据即可。

有同样的问题,我使用你的两种方法的组合。

我的数据包含一堆被拒绝的X射线图像的日志,拒绝原因是一个自由文本字段。 我的解决scheme是创build一个表,其中第一列包含我所需的输出类别,然后每个后续列包含不同的变化。

例如,一行可能有(第一列/第一个input):

定位,POS,定位错误,病人定位

请注意,这些都是相当不同的。 在模糊匹配进来的地方 – 它被用来捕获所有其他列周围的所有较小的差异和拼写错误。 当模糊匹配部分决定一个给定的原因匹配一个列的条目时,它将被replace为表中第1列的合适的期望输出原因。 在我的例子中,“Possitioning Err”[原文如此]的原因将与第3列(定位错误)匹配,然后转换为定位。

然后根据需要清洗冲洗重复其余的数据。 这种方法在帮助标准化数据方面非常有用,而且相当灵活。 这也是在计算上更昂贵,但你只需要运行匹配部分,一旦我猜。

至于这样做的实际机制 – 我使用2010年,所以没有内置的function。 我在临时工作表上运行模糊匹配代码,直到find最佳的百分比匹配,然后覆盖实际的源数据。