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

最後まで読んでいただきありがとうございました! 貧乏学生なので一銭でも本当に嬉しいです。