问题:
如果有一张含有多行的数据列表,如何快速地定位到那些含有相同字段的数据行呢?举个例子,下面有个 id 数据列表,我们如何快速地找出那些 id 号相同的数据行呢?
sn | id | type |
[0] | 4ef168bb-40f2-4f28-93e2-89ed14159b33 | string |
[1] | 06b98d4a-5a03-4e15-824e-913f018462af | string |
[2] | c6482a72-885e-4457-9c43-0dfde5a03202 | string |
[3] | bfe40da1-db9c-4a37-bcd5-a3009a5d94b4 | string |
[4] | a1cc59a2-0eec-43c5-82cd-d392a503212a | string |
[5] | 59feed38-5cfc-4257-8db8-072f04b42995 | string |
[6] | aa7a5ce1-41b6-4e1d-8f76-1a9b548b8a51 | string |
[7] | 038491e8-4e0f-482a-a57b-28444bb02962 | string |
[8] | 8fcd978f-8c5b-4ebd-b2cd-195c130b6a4d | string |
[9] | 8fcd978f-8c5b-4ebd-b2cd-195c130b6a4d | string |
[10] | 3d16c1ae-3851-4bf5-b162-3253c8c3c49f | string |
[11] | 7a54b8e1-ae6e-400f-8d5b-64ecc5fd8d74 | string |
[12] | c6a5eb88-081f-401c-929e-a903bd0c5091 | string |
…
方法:
- 将上面的数据粘贴到Excel表格中(从A1单元格开始贴),并在数据的右边添加一列,取个名字为count:
- 在D2单元格(即count列名下面)中输入公式“=COUNTIF($B$2:$B$35,B2)”。注意美元符号$,非常重要!$在这里表示对单元格的绝对引用。
- 将鼠标定位到D2单元格边框的右下角,在出现十字光标后,双击鼠标。
- 选中D1单元格,然后点击菜单中的 数据 –> 筛选:
- 在D1单元格上点击下拉箭头,然后在列表中将1的勾勾去掉,只保留数字大于1的勾勾:
- 点击确定按钮,完成。重复记录已被筛选出来了:
样例下载:
ScreenDuplicate.xlsx (9.67 kb)
替代方案:
如果数据是在一个数据库中,比如存在SQL Server中,则可以通过如下SQL语句,查询出重复的记录。
SELECT [id], COUNT([id]) AS repeatCount FROM idListTable GROUP BY [id] HAVING COUNT([id]) > 1