首先我要说的是,我可能把这件事复杂化了。我有一个文件,其中包含某些被视为机密数据的列值。在大多数情况下,它们会从任何要共享或分析的数据集中删除。但是,有人提交了生成数据集的请求,该数据集允许用户比较不同 ID 的数量与总条目数等。因此,在大约 140,000 条记录中,我必须替换三列被视为受保护的列。
我面临的挑战是如何屏蔽 22 个字符的字母数字 ID,使其不再具有识别功能,但同时又能保持可能存在的重复条目之间的某种关系。
另外两列在经过调整后似乎已经顺利转换我在这里找到的答案满足要求。然而,当相同的函数指向较长的 ID 时,由于某种原因,它失去了完整性。我尝试限制一次更改的字符数,但这似乎无法解决我的问题。
我所寻找的最终结果,或者被告知我必须生成的最终结果只是原始数据集。我无法为最终用户对数据进行分组,他们必须接收数据,以便每行代表一条记录,然后从那里完成他们想要完成的任何分析。
有没有比上面的链接/非常大的查找和替换更好的方法来完成我想做的事情?
补充:由于我实际上无法发布我想要应用此数据的数据,所以我认为我应该尝试以某种方式复制它以帮助找到可能存在的任何潜在答案。
假设我有以下 ID:
车牌识别号
A8894512374516347852001 110 2016 年 8 月 9 日
J7763473861247762551000 1180 2016 年 8 月 9 日
Q4523732167498765146000 375 2016 年 8 月 9 日
T6348761321688873431001 703 2016 年 8 月 9 日
H6676314656873346615001 375 2016 年 8 月 9 日
A8894512374516347852001 5091 2016 年 8 月 9 日
T6348761321688873431001 5091 2016年8月9日
S8897613515646873143168 375 2016 年 8 月 9 日
现在,我希望找到一种方法来处理实例,例如以“A889”开头的记录,并确保它们最终在一起,但其他记录不在一起。问题是,由于记录数量(高达 170,000 条),必须考虑的不同 ID 号的数量可能接近 120,000 个。
答案1
假设我们有如下数据:
但年龄组被视为机密。这个小宏:
Sub HideSensitiveFactor()
ary = Array("10 - 19", "20 - 29", "30 - 39", "40 - 69", "70 - 200")
bry = Array("grp1", "grp2", "grp3", "grp4", "grp5")
Dim rng As Range, i As Long
Set rng = Range("B:B")
For i = LBound(ary) To UBound(ary)
rng.Replace what:=ary(i), replacement:=bry(i)
Next i
End Sub
将产生:
因此,该列代表年龄组被隐藏,但任何统计分组将被保留。