Excel で改行を入れる補助セルを作る
タイトルで何を言っているのか良く分からないと思うので、順を追って説明する。
- Excel において、「セル結合」しつつ「折り返して全体を表示する」を設定しているセルは、行の高さを自動補正できなくなる (行番号をダブルクリックして行の高さを自動修正できない)。
- この Excel の仕様については以下の記事で触れている。
Excel 個人的ノウハウ
- この Excel の仕様については以下の記事で触れている。
- しかし、ワケあってそのようなセルに改行や折返しを含む文章を書かないといけなくなったとして。
- 文章を書いている時に行の高さを自分で直していくのが段々面倒くさくなってきた時に、
- 今回紹介する数式で何とかして行の高さを調整できるようにする。
…という話。
早速関数を紹介しよう。
A1 セルは、セル結合しつつ折り返し表示設定をして、改行を含む文章を書いているものとする。
=REPT(CHAR(10), LEN(A1) - LEN(SUBSTITUTE(A1, CHAR(10), "")) + 1)
この数式を、参照している A1 セルと同じ行、つまり Z1 セルなど、端の方に置いておき、そのセルに「折り返して全体を表示する」設定をしておく。
この数式内にある CHAR(10)
とは、改行コードのこと。対象セルの文字数から改行コードを除いた文字列を除いており、これが改行数となる。これに + 1
して改行数を調整しておく。この改行数の分だけ CHAR(10)
を生成している。
この数式が埋められているセルはセル結合しないで置いてあるので、行の高さの自動補正をする時にこのセルの内容が突っ張り棒として利用され、結果的に A1 セルの内容がちゃんと表示できるようになる、というワケ。
対象セルの「改行の数」を拾っているため、改行せずに折り返している文章だと表示上の行数を正確に判定できないのが難点…。