Excel:创建唯一单元格列表,忽略重音符号

Excel:创建唯一单元格列表,忽略重音符号

我在 Excel 中有一个希腊语单词列表。有些单元格是完全相同的单词,其他单元格是完全相同的单词,但重音不同(实际上,有些单词有重音,有些单词完全没有重音)。我想创建一个仅包含唯一单词的列表,而不考虑重音。

这可能吗?

答案1

我想展示一种可以帮助您将重音字符/单词转换为非重音字符的方法(正如你在评论中所要求的那样)然后提取唯一字符/单词列表。

在此处输入图片描述

将此 VBA 代码作为模块插入到所需的工作表中。这会将重音单词/字符转换为非重音值。

Function ChangeAccent(thestring As String)
Dim A As String * 1
Dim B As String * 1
Dim i As Integer
Const AccChars= "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ"
Const RegChars= "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"
For i = 1 To Len(AccChars)
A = Mid(AccChars, i, 1)
B = Mid(RegChars, i, 1)
thestring = Replace(thestring, A, B)
Next
ChangeAccent = thestring
End Function

如何使用此功能:

我假设您在 A 列中有一个重音词列表。

因此,在单元格 B2 中写入此公式,按 Enter 键结束并填写:

=ChangeAccent(A2)

在单元格 C2 中写入此数组公式,按 Ctrl+Shift+Enter 完成,然后向下填充。

{=IFERROR(INDEX($B$2:$B$11, MATCH(0, COUNTIF($C$1:C1, $B$2:$B$11), 0)),"")}

您将获得唯一的非重音单词列表,正如我通过屏幕截图所展示的那样。

相关内容