[[20210603103734]] 『LEN関数の結果について』(ガイ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『LEN関数の結果について』(ガイ)

LEN関数は文字数を取得できるものだと思っているのですが、
特定の文字で思ったように取得できません。

例えばA1に「𠮷」(つちよし)、B1に「吉」(常用漢字のよし)がある場合、
LENでそれぞれを取得するとA1は「2」、B1は「1」と出力されます。

この症状はLENだけでなくFINDなどの文字数が関係する関数全てが
こういった特定の文字で結果がずれてしまいます。

何か対処方法があれば教えていただきたいです。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 𠮷と吉だけの問題でいえば、当方の環境ですとLENBであればどちらも2として取得できました。
 ただ、辻 辻󠄀はLENBでも同一になりませんね。
 具体的になにをしたいのかによって対策が異なってくると思います。
(*) 2021/06/03(木) 11:36

返信ありがとうございます。
目的を書き忘れていました・・・申し訳ありません・・・。

「𠮷田 茂」のようなデータが含まれる名簿の苗字と名前を分けたくて、
LEFT,RIGHTで取得する位置をLENやFINDで出していたのですが、
一部がうまくいかず質問いたしました。

名簿の文字はLENBで問題なかったので、
取り急ぎLENBで対処しようと思います。
(ガイ) 2021/06/03(木) 13:16


「𠮷」(つちよし)は、サロゲートペア文字という特殊なもので、2文字分のサイズで一文字を表します。詳細は下記を参照。

サロゲートペア入門:CodeZine(コードジン)
https://codezine.jp/article/detail/1592

下記でサロゲートペア文字にも対応したLENユーザー定義関数が紹介されてます。

VBAでサロゲートペア対応Len - Qiita
https://qiita.com/RelaxTools/items/966bfc1810e6c94b9d07
(hatena) 2021/06/03(木) 13:21


ありがとうございます!

ご紹介いただいた関数をそのままコピペしただけですが、
自分のやりたかったことが出来ました!

(ガイ) 2021/06/03(木) 13:31


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.