質問: [B2]のようにセル内に複数行の文章がある場合、各行の文字数を知りたいです。 ・[C2]に1行目を書き出させています。 ([C3]は式です) ・[C5]は1行目のカウント数です。 ([C6]は式です) ・[B2]のような文章が[B3]以下に続きます。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/c3103fded8ac00d2752df7fc690dbc56.jpeg) 以下が知りたいです。 12行目の文章の求め方 23行目の文章の求め方 3以下のように、1~3行目の文字数を一気にカウントすることは出来るのしょうか。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/01520a1acc631b7a405bd149e532cebd.jpeg) お知恵を貸していただければ幸いです。 宜しくお願いします。
回答: 各行をC2,C3,C4に取得。 ``` C2セル =LEFT(B2,FIND(CHAR(10),B2)-1) C3セル =LEFT(SUBSTITUTE(B2,C2&CHAR(10),"",1),FIND(CHAR(10),SUBSTITUTE(B2,C2&CHAR(10),"",1))-1) C4セル =SUBSTITUTE(B2,C2&CHAR(10)&C3&CHAR(10),"",1) ``` 上記は抽出した結果を使いまわしています。 C3はC2を参照、C4はC2とC3を参照しています。 なので、1セルで完結させるためには使いまわさないようにする必要があります。 展開するとこうなります。 ``` C2セル =LEFT(B2,FIND(CHAR(10),B2)-1) C3セル =LEFT(SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1),FIND(CHAR(10),SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1))-1) C4セル =SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10)&LEFT(SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1),FIND(CHAR(10),SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1))-1)&CHAR(10),"",1) ``` そして1セル内で各行の文字数を出力するには、上記の結果をLENすれば良いので、連結してこうなります。 ``` =LEN(LEFT(B2,FIND(CHAR(10),B2)-1))&CHAR(10)&LEN(LEFT(SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1),FIND(CHAR(10),SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1))-1))&CHAR(10)&LEN(SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10)&LEFT(SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1),FIND(CHAR(10),SUBSTITUTE(B2,LEFT(B2,FIND(CHAR(10),B2)-1)&CHAR(10),"",1))-1)&CHAR(10),"",1)) ``` ※3行限定の処理です。