Excelで見出しのインデントを整える場合、どのような方法を使用しているでしょうか?
例えば以下のような場合です。

「目的」という見出しの中に更に、「1.1.ブログの目的」、「1.2.仕事の目的」があります。
この場合、「1.1」と「1.2」はインデントを深くして、2段階目の見出しであることをパッと見てわかるようにしたいです。
こういう場合、どうやってインデントをつけていくのがスマートでしょうか。
(そもそも、「こういうのはWordで書くべき」ではという意見もありそうですが、仕様書とかはExcel指定の場合も多いので…)
スペースを入れるくらいならインデント機能を使う
一番ダメなのがスペースを入れてインデントを整えてしまうパターンですね。
このインデントの場合には、「スペースを3個入れる」みたいなルールでやらなくてはいけないので保守性が最悪です。
なによりセルの中身が「 1.1.ブログの目的 」みたいにスペース入りになるので、Excel関数やマクロとの相性が最悪になります。
そもそも、セル内にレイアウトを整えるためのデータがあるのも気持ち悪いですね。
それであればデフォルトのインデント機能を使ったほうがいいと思います。

↑ホームタブにインデントを増やすというボタンがあるので、これを使います。
ただ個人的にこのインデントを増やすボタンもあまり好きではないですね。
本文もすべて字下げすることになるかと思いますが、後からレイアウトを変えようと思ったときに面倒だからです。
(本文に更にインデント増やす場合、本文を全部選択してインデントを増やしていかないといけない)
批判されがちなExcel方眼紙でのインデント
よくExcel方眼紙とか言われて批判をされがちですが、列幅を非常に小さくしてしまいレイアウトを整えるのは結構好きですね。
以下のように列幅を2とかにしてしまいます。

上記のような状態であれば、A列に見出し1、B列に見出し2という形で記載していくことができます。
インデントの話ではないですが、このようなフォーマットだと同じページに列幅が違う表を作りやすいのも好きです。
↓結合を使わずに幅の違う表を複数作ることができる

この場合、面倒なのは一括で全文をコピペしにくいことですかね。
そして列が異なるとフィルターを使うときにも不便であったりします。
(まあ、このような見出しが必要な資料でフィルターを使う可能性は低いかもですが。)
隠し列と関数を使用して項番を整える
Excelの設計書をたくさん見てきましたが、いいなあと思うのは隠し列と関数を使って項番を整えているタイプのやつですね。
基本的には前述したExcel方眼紙と全く同じタイプなのですが、項番の管理を手動ではなく関数を使って行うことです。
イメージとしては以下のような感じ

「隠し」と書かれている部分は実際には非表示とします。
上記のうちG4には以下の数式を記載しています。

=A4&"."&B4&E4
つまり隠し列に記載した項番と項目名を合算しているだけ。
肝なのが隠し列の項番を関数によって計算しているという点です。
2行目は最初の行なので普通に、「1、0、0」と関数を使わずに記載しています。
3行目は

=IF(D3="",A2,A2+1)
「もしD列に値があれば、上のセルの値+1を設定する」という式にしています。これによって「目的」の次のタイトルが来たら自動で項番が+1されます。
同様にB列には 「もしE列に値があれば、上のセルの値+1を設定する」という式にします。
こんなことをするメリットですが、項番の計算を関数にさせることによって、圧倒的に保守しやすくなります。
例えば途中の項番が1つ不要になってしまった場合、手動で項番を振っていたら修正するのが面倒ですよね。
まとめ
- インデントを整えるためにスペースを入れるのは気持ち悪い
- セルの幅を小さくしてレイアウトを整えやすくするのがおすすめ
- その際に関数を使って項番を振ると保守しやすくなる
コメントを残す