引言
今天工作当中遇到了一个特殊的情况
Excel当中,某一列当中每个单元格当中有出现重复的词,就像上面这样
网上找了那些去除重复值的法子,都没啥效果
只好自己写一个脚本来去重了。
实现
思路
我这里直接用的php
来实现,其他语言实现其实也不难
只是我记不住那些语言的去重函数……
具体思路很简单:
- 把数据源作为数组定义
遍历数组(相当于每一个单元格)
- 用空格切割这个单元格值,成为子数组
- 这个子数组去重
- 重新用空格组合起来,并且每行输出+换行
- 复制输出的结果
- 粘贴回Excel里
代码
<?php $arr = [ '芬兰旅游 瑞典旅游 挪威旅游 芬兰旅游 瑞典旅游 挪威旅游 芬兰旅游 瑞典旅游 挪威旅游' '西班牙旅游 葡萄牙旅游 西班牙旅游 葡萄牙旅游 西班牙旅游 葡萄牙旅游' '旧金山景点 美国旅游 夏威夷旅游 夏威夷大岛旅游 欧胡岛旅游' '美国东' ]; foreach ($arr as $k => $tagStr) { $tags = explode(' ', $tagStr); $tags = array_unique($tags); echo join($tags, ' ') . "\n"; }
将需要处理的列粘贴到上面$arr
数组定义里
但是,要注意,每一个单元格都需要左右加上引号噢!
执行
然后将这段代码复制到https://www.jyshare.com/compile/1/
这类的在线工具里,执行,就会输出为去重后的列,复制之后粘贴回Excel
里就行