excel - 如何从excel中的字符串中提取唯一值和
问题描述
所以这就是我所拥有的:
Column A Column B
Junior,Jeff,Raul,Sam Junior,Raul,Sam
我想根据 A 和 B 的比较在字符串中创建一个具有唯一值的 C 列。在这种情况下,输出将是
Column A Column B Column C
Junior,Jeff,Raul,Sam Junior,Raul,Sam jeff
解决方案
需要通过在 Visual Basic 编辑器中插入模块并粘贴以下代码来准备 UDF。
Public Function CompareCell(strCellFirst As String, strCellScnd As String, Optional strDelim)
Dim arrFirst, arrScnd
Dim i As Long
Dim objCol As New Collection
Dim strOut As String
If IsMissing(strDelim) Then
strDelim = ","
End If
arrFirst = Split(strCellFirst, strDelim)
arrScnd = Split(strCellScnd, strDelim)
For i = LBound(arrFirst) To UBound(arrFirst)
If Not IsNumeric(Application.Match(arrFirst(i), arrScnd, 0)) Then
On Error Resume Next
objCol.Add arrFirst(i), arrFirst(i)
On Error GoTo 0
End If
Next i
For i = LBound(arrScnd) To UBound(arrScnd)
If Not IsNumeric(Application.Match(arrScnd(i), arrFirst, 0)) Then
On Error Resume Next
objCol.Add arrScnd(i), arrScnd(i)
On Error GoTo 0
End If
Next i
For i = 1 To objCol.Count
strOut = strOut & " " & objCol(i)
Next i
CompareCell = Replace(Trim(strOut), " ", strDelim)
End Function
要使用它,您可以在 Excel 工作表中将其用作:
=CompareCell(A2,B2)
注意:如果未指定分隔符,则逗号将被视为默认值。假设您想使用其他字符(例如分号)作为分隔符,那么公式将如下所示
=CompareCell(A2,B2,";")
推荐阅读
- c - GCC C 并将整数传递给 PostgreSQL
- excel - Excel - 文本或数字公式
- ssis-2012 - 将 DT_WSTR 转换为 DT_DATE
- ios - 有大量单元格时删除和插入行崩溃
- c# - 禁用 chrome 作为多进程。Chrome 版本 68 无法捕获 URL
- facebook - 无法读取未定义的属性“logInWithReadPermissions”,但存在 LoginManager
- jpa - 为什么在看到 PersistentBag 的实体中使用 JPA 列出(@OneToMany)
- jquery - Bootsrap 菜单锚点仅在滚动到部分中间后激活
- android - 是否可以使用 IMPORTANCE_DEFAULT 创建一个通知频道(奥利奥),但不会播放任何声音?
- python - 如何使用 pybabel 获取特定语言的翻译