#NAME? 还是报错
时间: 2023-08-10 07:38:10 浏览: 97
如果你的 Excel 版本不支持动态数组函数,那么可以尝试使用以下 VBA 代码来实现:
1. 打开 VBA 编辑器(按 ALT + F11 快捷键);
2. 在 VBA 编辑器中,选择插入 -> 模块,然后在新建的模块中输入以下代码:
```
Function ConcatUnique(rng As Range, Optional delimiter As String = ",") As String
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Dim cell As Range
For Each cell In rng
If Not IsEmpty(cell) And Not dict.exists(cell.Value) Then
dict.Add cell.Value, Nothing
End If
Next cell
ConcatUnique = Join(dict.keys, delimiter)
End Function
```
3. 保存并关闭 VBA 编辑器;
4. 在 Excel 工作表中输入以下公式:
```
=ConcatUnique(N:N, CHAR(10))
```
这个公式使用自定义函数 ConcatUnique 来实现去重和换行显示。如果需要修改列号,只需将 N:N 替换为目标列的范围即可。如果需要修改换行符,只需将 CHAR(10) 替换为其他字符即可。
阅读全文