【问题标题】:Anonymize Excel cell contents匿名化 Excel 单元格内容
【发布时间】:2018-08-30 21:12:02
【问题描述】:

有没有办法(不使用 VBA)在 Excel 中更改单元格的内容,以便没有人可以看到客户名称?因此,例如在我可能拥有的单元格列表中:

史密斯
琼斯
威廉姆斯
等等……

我想设置单元格,以便当输入者输入客户端名称时,他们可以看到它以确保它是正确的,但在按下回车键或离开单元格时,它会将其匿名化,因此看起来像这样:

**第
**内斯
*****ams

或类似的东西。匿名后无法查看原始名称。

谢谢

【问题讨论】:

  • 没有 VBA 的方法?没有。
  • 无论您决定以何种方式完成此任务 - 请记住,对于稍微了解 Excel 的任何人来说,破解它都需要几秒钟的时间。对于不知情的人来说,意外破坏它可能需要更少的时间。话虽如此 - 你可以给它一个自定义的数字格式 ;;;** - 在你按下 Enter 后,任何输入的文本都将显示为 ********(但实际文本仍会出现在公式栏中)。

标签: excel excel-formula


【解决方案1】:

没有 VBA

=CONCATENATE(REPT("*",(LEN(A1)-LEN(A1)/2+MOD(LEN(A1),2))),
             RIGHT(A1,LEN(A1)/2+MOD(LEN(A1),2)))

它连接了两个部分:

  • 一半的长度通过REPT函数呈现为*
  • 剩余长度的后半部分。需要MOD(LEN(A1),2) 部分来支持字符串的偶数和奇数长度。

使用 VBA

从您的问题来看,您需要登录表单之类的东西。最好的方法是:

  • 制作UserForm(使用VBA);
  • 添加TextBox
  • TextBoxc 的属性中,将PasswordChar 设置为* 或其他任何值;

【讨论】:

  • 太好了,非常感谢,非 VBA 版本完美运行。
【解决方案2】:

将您的所有姓名复制到另一张纸上,然后删除重复项。 在去重复列表中,在每个原始名称旁边放置一个代码或假名(Adam Zapple、Barb Dwyer 等)。然后在原始数据上使用 VLOOKUP 来提取每个代码/假名。复制并粘贴 VLookup 列作为值,然后删除原始名称列。

【讨论】:

  • 这里的问题是我需要在他们输入姓名后立即进行匿名化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 2017-07-21
  • 1970-01-01
相关资源
最近更新 更多