本帖最后由 pumpkinlee 于 2021-5-13 00:58 编辑
@52ping 正解,但是只解释了原因,没有给出解决方案。我来补充解决方案。首先,除了D列的隐藏文字是同等字号的很容易发现。其余列的隐藏字符除了颜色外还设置了2磅的字号,这样即便选中也很难看到。
很显然原作者非常不希望别人复制、计算和利用这些数据。所以直接设置单元格的文字颜色和字号就能将干扰字符显示出来。
至于如何去除干扰字符,主要是找规律?其中主要规律是:
1.隐藏文字的字号是1或2磅,D列是12磅。
2.隐藏文字的颜色是#FFFFF1或者#FFFFF2.
因此可以利用这些规律来批量替换为空,从而干掉干扰字符。但是Excel中通过搜索格式的方式来替换似乎无法实现一个单元格内部分字符的替换,一替换整个单元格都被干掉了(或者我方法不对,还请大拿指点)。但是其它软件不会有这种情况,例如我将表格复制到word中,在word中查找隐藏文字对应字号、颜色,然后替换为空就可以删除这些干扰文字。然后再复制粘贴回excel即可。
当然因为示例文件的干扰字符还有其它规律,例如出现的位置是固定的,所以也可以用字符串处理函数来清洗数据干掉干扰字符。这里不再赘述了。
另外如果用VBA也可以解决这个问题。思路还是一样的。
在word中查找替换1磅字号的文字为空,删除所有1磅大小的干扰文字。
word中设置查找字号为1的字符
word中按文字颜色查找干扰字符。适用于D列这种干扰字符和需保留字符同字号的情况。
那么问题来了,更进一步原作者是如何批量对单元格内的部分字符设置字号和颜色的?在不用VBA的前提下是如何实现的?
如果对每个单元格内容的字符采用更随机的(接近白色的)颜色和不同的字号(磅数支持小数点),以及不同字符长度,应该如何清洗数据干掉干扰字符? |