365・LibreOfficeなどに関するメモ2022-12-19(Gスプレッドシート)LEN関数で文字数をカウントするGoogleスプレッドシートGoogleスプレッドシートでセル内の文字数を数えるのに用いるLEN関数の使い方についてです。「=LEN(文字列)」という式により、文字列の文字数を数えることができます。全角と半角の区別なく文字をカウントします。スペースや各種記号、改行も1文字としてカウントされます。基本的な使用例もっとも単純な使用例です。C3セルに式を入力して、B3セル内の文字の数を数えています。C3セル=LEN(B3)引数は1つだけでとても単純です。次の画像では、同様の式によりいろいろな文字列の文字数をカウントしています。全角・半角を問わず1文字としてカウントされ、記号も1文字としてカウントされます。画像にはありませんが、数値や日付も見たままの文字数でカウントされます。注意が必要なのは改行が1文字としてカウントされることで、見落としやすい点です。特定の文字(以外)をカウントするまずは特定の文字以外をカウントする例です。次の画像では、SUBSTITUTE関数などで特定の文字を削除し、その結果に対しLEN関数を適用しています。]",""))=LEN(SUBSTITUTE(B5,CHAR(10),""))除く文字が1種類だけの場合はSUBSTITUTE関数を使っていますが、複数の場合はREGEXREPLACE関数でまとめて削除するのが便利です。REGEXREPLACEは非常に強力で、応用すれば「特定の文字だけ数える」「英字だけ数える」といったことも可能です。ここでは詳しくは触れませんが、次の記事で紹介しています。www.officeisyours.comwww.officeisyours.com範囲内の文字数の合計を求めるこちらは、一定のセル範囲の文字数の合計を求める例です。上記のように各セルごとに求めてから合計してもよいのですが、ここでは1つの式にまとめています。D3セル=SUM(ARRAYFORMULA(LEN(B3:B8)))いったんすべてのセルをLEN関数でカウントしますが、複数のセルを対象とするためARRAFORMULA関数で囲み(これがないと最初のB3しかカウントできない)、その結果をSUM関数で囲んでいます。応じて警告・制限する具体的な利用例として、入力文字数の上限を守らせるために用いる例が考えられます。次の画像は、入力された文字数が35を超えたらメッセージを表示するという例です。D3セル=IF(LEN(B3)>35,"制限字数を超えています","")これは単に警告を出しているだけなので容易に突破されますが、データの入力規則に式を組み込んで入力を受け付けないようにすることも可能です。文字列を1文字ずつ分割するちょっと難度が高くなりますが、MID関数などを使って文字列を1つずつ分割し、各セルに表示させる例です。ここでもLEN関数を使用しています。D3セル=ARRAYFORMULA(MID(B3,SEQUENCE(1,LEN(B3)),1))重要なポイントは「SEQUENCE(1,LEN(B3))」の部分です。これは「1から文字数までの連番」です。これをMID関数の第2引数(~文字目から取得)とすることより「1文字目から1文字」「2文字目から1文字」......「最後の文字(文字数番目)から1文字」を一括して得ることができます。ここでもARRAYFORMULAが必要になり、式がやや複雑になります。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。