スプレッドシート・・・すごく活用しています。
メモ代わりに使っているため、1つのセルに複数行記述したり、先頭にキーワードを入れて記述したりしています。
そのため
- セル内の行数を数える。
- セル内の文を1行づつ、分割する。
が必要になりました。
セル内の行数を数える
以下の式で、行数がわかります。
=LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))
概要説明
- 改行を数えれば行数がわかる。
- 元の文字から、改行を覗いた文字を引くことにより改行数を出しています。
処理の説明
- 文字数を出す。(LEN(A1))
- SUBSTITUTEで該当文字(改行)を""に変更。(SUBSTITUTE(A1,CHAR(10),""))
- 2の文字数を出す(LEN(SUBSTITUTE(A1,CHAR(10),"")))
- 1と3の差を出す。これが改行数=行数となります。
ただし、最終行の最後に改行が必要となります。最終行に改行を入れない場合は、4に 1を足してください。
応用として、セル内の特定の文字の数を数える
以下の式で、「てすと」がいくつあるかわかります。
=(LEN(A1)-LEN(SUBSTITUTE(A1,"てすと",""))/LEN("てすと")
行数との違いは、/LEN("てすと") です。改行は、1文字となります。
特定の文字を数える場合は、対象文字の長さを割る必要があります。
改行を , に変更すると セル内の文章を開業ごとに分割できる
やっぱり、セルの内容を1行づつ分割したい。
以下の式で、セルの内容を分割して表示できます。
=split(A1,char(10))
こんな方法があったとは、驚きました。