UNIQUE 関数の罠

Excel で UNIQUE 関数を使う時は、次のことに注意しなければならない。

  • 全角と半角は区別されない(例:A,A,ア,ア)
  • 長音記号踊り字は区別されない(例:ー,ー,々,ゝ,ヽ,ゞ,ヾ,〻,〳,〴,〵,〱,〲)

全ての文字列を厳密に区別する場合は、XPath(FILTERXML 関数)を使うと良いらしい。

=LET(
    範囲,A2:A99,
    XML,"<a><b>"&TEXTJOIN("</b><b>",TRUE,範囲)&"</b></a>",
    FILTERXML(XML,"//b[not(.=preceding::b)]")
)

ちなみに、長音記号と踊り字に関しては、VBA Collection や PowerShell を使う時にも注意しなければならない。

参考

所感

最近、ちょこちょこと Excel の配列関数について記事を書いているが、知らない定石が多いなあと思う。

以上

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です