怎么把excel表格里出现的名字无重复地列出来?

比如下面这张图片这样的,是否可以用函数,或者其他什么方法一次性无重复地把里面涉及的到姓名全部列出来?

假设你这个表格是从A1到G6,
那么,在A8单元格输入公式:
=INDIRECT(CHAR(65+MOD(ROW()-8,7))&INT((ROW()-8)/7)+1)
下拖。就会获得所有单元格的竖排。
然后,将新表选中,复制,右键,选择性粘贴,数值。
再点菜单【开始】【套用表格格式】,形成超级表。
再点设计,勾选【删除重复项】,【确定】OK。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-07

可以用数据透视表来实现:

1、要让A列为空白列 ,  B至E列要包含标题行    ;

2、先按alt+d组合键,再按alt+p键会弹出窗口,选中“多重合并计算数据区域”,接着点击“下一步”;

3、点击“创建单页字段”,再点击“下一步”;

4、弹出窗口,选中区域A1:E5,然后点击“下一步”;

5、弹出窗口,点击“现有工作表”,点击任一空白单元格,然后点击“完成”;

6、取消右侧的其他字段,只保留“值”字段,把“值”拖拉至行标签处;

7、点击“计数项:值”处的三角按钮,点击“删除字段”即可。

本回答被提问者采纳
第2个回答  2021-06-07

如图所示:

追问

我按你的操作运行出来显示0,然后我完全按照你的表格形式来,还是不行,还是显示0,我是哪里操作错误了么?还是什么注意事项我没有注意到

,放不了图片。

追答

有可能你需要一个“三键结束”

追问

果然是三键结束的问题,然而小白的我并不知道,你的回答成功解决了我等问题,很抱歉今早采纳了另外一个回答

第3个回答  2021-06-07
用vba数组,写入数组
图片没行列号?

假设数据区域是 A1:G20
Sub 去重()
Dim I, k, brr(1 To 1000, 1 To 1)
arr = Range("A1:G20")
For I = 1 To UBound(arr)
For k = 1 To 7
If arr(I, k) <> "" Then
N = N + 1
brr(N, 1) = arr(I, k)
End If
Next
Next
[h1].Resize(N, 1) = brr
[H:H].RemoveDuplicates Columns:=1
End Sub