Excelで"ひらがな"のみをカウントする関数
ひらがなのみを抽出する関数、ひらがなのみをカウントする関数をここにメモします。
A1セルのひらがなのみを抽出する関数
=TEXTJOIN("",TRUE,IF(CODE(MID(A1,SEQUENCE(LEN(A1)),1))<=9331,IF(CODE(MID(A1,SEQUENCE(LEN(A1)),1))>=9249,MID(A1,SEQUENCE(LEN(A1)),1),""),""))
↓関数をB1で使用した例
引用元は以下です
A1セルのひらがなのみをカウントする関数
=LEN(TEXTJOIN("",TRUE,IF(CODE(MID(A1,SEQUENCE(LEN(A1)),1))<=9331,IF(CODE(MID(A1,SEQUENCE(LEN(A1)),1))>=9249,MID(A1,SEQUENCE(LEN(A1)),1),""),"")))
↓関数をB1で使用した例
あとがき(例外)
この関数はcode関数を利用しています。code関数はISO-2022-JPのコードを10進数で返す関数です。
ISO-2022-JPの2421~2473(16進数)(10進数だと9249~9331)範囲のみ残す・カウントする関数になっています。
そのため下記の表でいう"ぁ"~"ん"までが対象なので、ゔ ゕ(小さいか) ゖ(小さいけ)か゚(半濁音のか)などは対応してません。
これらに対応させるにはunicode関数使えば行けると思います。
あと、REGEXTESTなどの正規表現の関数が使えるようになったら、もっとシンプルに実装できそうですね
今は正規表現関数はベータ版でしか使えないようですが
A1セルのひらがなのみを削除する関数
=TEXTJOIN("",TRUE,IF(CODE(MID(A1,SEQUENCE(LEN(A1)),1))>9331,MID(A1,SEQUENCE(LEN(A1)),1),IF(CODE(MID(A1,SEQUENCE(LEN(A1)),1))<9249,MID(A1,SEQUENCE(LEN(A1)),1),"")))
最後まで読んでいただきありがとうございました! 貧乏学生なので一銭でも本当に嬉しいです。