今回はエクセルで行の高さの最低値を設定することで、内部改行を含むテーブルをより扱い易くする方法を紹介します。
前置き
本日次のようなTwitterを発見!
丁度以前から温めていたネタがあったので、前倒しでご紹介します♪
1つのセル中に沢山の文字が入ってて、かつ一部の文字色が赤いとかフォント情報も複数含むセルがたくさんある。
— しょうた⭐️Excel改造で業務効率化と残業撲滅を進める経理マン (@shota_Excellent) January 23, 2019
そんなシートの行の高さをきっちり調整して、上手く印刷されるようにするって、意外に難しい。
詳細は、図を参照。 pic.twitter.com/eZ8Sa37mF9
データの準備
まずはこんなデータを用意します。
ちなみにコレはWordで=rand()
と入力することで生成した文章をExcelに持ってきました。
実務上で言うとOutlook VBAから出力したメールデータ管理用のデータとか、社内インシデントの管理データベースなんかが、まさにこんな感じのデータになってます。
もしこんな風に行の高さがイマイチな時は、セル全体を選択して行の高さ調整バーをダブルクリックすれば一発で治りますね♪
ここまではどうって事はありません。
問題はこの表を「印刷しろ」と言われたときです。
印刷プレビューを押してみると大変なことになってます。
- 行の高さ手動で調整をするのは面倒
- 出来るだけ自動調整を使いたい
- 手動調整していることを忘れて全体を自動調整したら過去の手動調整は全滅してしまう
こんな理由のせいで、手動調整専用、 行の高さの自動調整は使用禁止が言い渡されることがあります。
そんな人に対抗するために必要なのが今回紹介するテクニックです。
とは言え、テクニックというのもおこがましいような方法なんですけどね。
最後まで読んで怒らないでくださいね?
行の最低値を設定するテクニック
下図のようにデータテーブルの端っこに■と内部改行で構成するデータを追記します。
これで「行の高さを自動調整」しても、指定した高さよりは小さくなりません(・8・)
こうすることで、どんなメリットがあるのか?と思うかもしれませんが、「行の高さを自動調整」の状態にすることで、ソートしたときに行の高さが一緒に並び替わるということですね。
実は、行の高さを手動調整にすると表をソートしたときに行の高さは並び替わりません。
気がついたらぐっちゃぐちゃ。文字の末尾は消えまくりです。
内部改行の使用した表を、データとしても印刷物としても使いやすくするために、とっても便利なテクニックなのです。
以上♪
関数で支援
テクニックはそれだけなのですが、一行一行「■」を入れるのは面倒ですよね。
超適当ですが、関数で■の生成を支援することも可能です。
初めてテーブルを組んだ時に=REPT("■",LEN([@文章])/50)
という感じの式をテーブルに設定して、「この列のすべてのセルをこの数式で上書き」をONにしておきます。
あとは気に入らなければ、値として上書きするだけ。
それじゃ困るって場合は、もう一列追加して手動設定用の列にしちゃえばOK♪
実用にはもうちょっと複雑な式で自動化したいですけどね!
マクロを使って■の入力を自動化するという手もあるかと思います。
活用事例
この方法が有効なのは、上記のような超長文の印刷対策だけではありません。
実際に私が最も使っているのは次のようなデータの時です。
行の高さを文字よりもちょっと広めに空けたい
でも2行・3行・或いはそれ以上に改行が起こるデータが存在する
Excelで行の高さを維持したまま並び替えできるようにしたい
行間気にするならWord使えよ!!! って話ですが、データ量が数千行続いていたりしますし、やっぱり関数や既存の効率化ツールも使いたいですから、とても浮気なんて出来ませんって人にオススメです。
また、調節用の作業列は無理に内部改行を入れなくとも、フォントサイズを巨大にして調整するなんて言う方法もあります。
そして最も大事なのが、「行の高さの自動調整」を維持することで、ソートしたときに行の高さが維持されるようになるということですね。
続編のおしらせ
今回のテクニックを超巨大な表に対して、VBAを使って対応した記録を記事にしました。
興味のある方はこちらも御覧ください。
まとめ
というわけで、誰でもいますぐ実践できる行の高さの最低値の設定方法でした。
ふざけた方法ですが地味に便利なので、私の作ったデータのそこら中に仕込まれてます。
だって行の高さは壊れてほしくないじゃないですか!!!
以上
何か御座いましたらコメント欄、またはTwitterからどうぞ♪
それではまた来週♪ ちゅんちゅん(・8・)