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)),"")}

スクリーンショットで示したように、アクセントのない単語の一意のリストが表示されます。

関連情報