Excel 個人的ノウハウ・定石集
Excel で設計書やテスト仕様書を書いてもらう機会が出てきて、「エクセルマスター」の弟子だった僕としては我慢ならない汚さのブックばかりでゲンナリしている。そこで、僕が蓄えてきた Excel に関するノウハウを書き出してみる。
目次
Excel の仕様を考慮したノウハウ
「Excel ってこういうところあるからね…」という仕様を考慮して、こんな風に工夫しましょう、という。
- フォント等の書式は「全選択」で変更するのではなく、ブック全体のスタイル設定から直す
- 「全選択」でそのシートの全体だけ直しても、ブック全体の既定のスタイルは直せていないので、新規シートを作った時のスタイルが直らない
- 新規作成するファイルの書式はオプションから「既定のフォント」を決めておく
- ついでに「新規作成時のシート数」を「1」にしておき、空のシートを残さないようにする
- 空のシートがあると「何か意味があるのか」と読み手に不要な推測をさせてしまう。読み手に無配慮なモノを残さない・作らない
- セル幅・高さの「自動調整」ができなくなるので、「セルの結合 + 折り返して表示」なセルを作らない
- エクセル方眼紙の弊害の一つといえるかも
- そもそも「セル結合」は見出し行ぐらいにしか使わないようにしたい
- プロポーショナルフォントは「メイリオ」を使う
- 例の「印刷プレビュー時にフォントの大きさがちょっと変わる」問題の基本対策
- MS P ゴシックだと印刷時に文字切れが起こる場合が多いが、メイリオは印刷するとむしろ余裕ができる方なので印刷ミスが発生しにくい
- メイリオは全角文字が等幅なので、半角文字の混在が少ない場合は特に等幅フォントチックに扱いやすい
- 游ゴシックより文字が太めで読みやすい
- 「条件付き書式」は行列の挿入時に定義が分裂してゴミが増えるので、「コピーしたセルの挿入」で条件付き書式の範囲内に行列を追加するようにする
- 最終行の次の行に「コピーしたセルの挿入」で貼り付けると分裂する。最終行の下に行を増やしたいのであれば、最終行の1つ上の行をコピーし、その行と最終行の間に「コピーしたセルの挿入」で行追加すると良い。条件付き書式の範囲を、範囲の中から押し広げるイメージ…
- それでも誰かが壊すので定期的に条件付き書式一覧を見直して整理する
- (というのも鬱陶しいし、マクロで自動生成もダルいので、なるべく使わないで済むようにしたい)
- 今更
.xls
で作らない。.xlsx
で作る.xls
より.xlsx
の方がファイルサイズが小さく済む
- 「入力規則」の「リスト」を作る時は、値を直接入れるのではなく、「マスタ」シートを作り、選択肢リストを作って「名前定義」しておき、その名前定義でリストを指定するようにする
- 値を直接入れてしまうと選択肢の増減時に面倒
- セル範囲指定も同様の理由で増減に弱いので、名前定義を利用する
- 「マスタ」シートは非表示にでもしておけば良い
- 連番を振る時、単純に
ROW()
を使うと、ヘッダの行数が変わった時に影響を受ける。変更に強い数式を使うことが大切- 以前、変更に強い連番を振るための数式を紹介したので、ソチラをドウゾ。
- Excel で空行やセル結合が混じっても連番を振る関数
- ローカルの別ファイルへのリンクは「ハイパーリンクの作成」を使うと壊れやすいので、
HYPERLINK
関数で書く- リンクパスだけ書く列を作っておき、隣の列に
=HYPERLINK(【隣のセル】, "リンク")
みたいな数式を仕込んでおけば手間が省ける
- リンクパスだけ書く列を作っておき、隣の列に
- 罫線は隣接する両方のセルが別々にセル定義を持っている。異なる種類の罫線を指定する時は扱い方に注意
- たとえば2列の間の罫線を太枠とかにしたい時、僕がやるなら、2列選択した状態で「セルの書式設定」の「罫線」タブを開き、「列間の罫線」の指定だけを太枠に変更する。こうすれば「左列の右罫線は太字」「右列の左罫線も太字」になり、データが綺麗
- 「片方の列が通常の罫線、隣接するもう片方の列が太枠」みたいな状態だと、列操作などをしている間に気持ち悪い罫線が出てくることがある
- 文字列をコピペする時、単純にセルごとコピペすると罫線周りのスタイル崩れなどが起こりやすいので、「形式を指定して貼り付け」から「値のみを貼り付け」を利用する
- 同様に、書式だけをコピペしたい時は「書式のみを貼り付け」を使う
- 「値のみ貼り付け」「書式のみ貼り付け」はクイックアクセスツールバーに追加できるので、
Ctrl + V
を使う癖を止める
- エクセル方眼紙を強いられていて、方眼紙のコントロールが厳しい時は「カメラ」を使う
- 別シートの内容を図のように貼り付けられるので、ヘッダとか作る時に有用
こういった、Excel の仕様を押さえたドキュメントづくりは、データや体裁を綺麗に保つためにも必要なのだが、無知な人に操作されると一気に壊されるので、チーム内でスキルの底上げをしておきたい。
分かりやすい Excel ドキュメントにするためのノウハウ
Excel の仕様というよりは、「Excel を使っているとこういう作りにしがちだけど、あんまよくないよ」というノウハウ。
- 文字色、セル背景色など、「色」だけで何かを説明した気にならない
- その色分けにどんな「規則」「意図」があったのか、作成者しか分からなくなる
- 白黒印刷した時に意味が分からなくなる
- 必ず記号や凡例、「大見出し」行を作るなどして、色を付けなくても同じだけの理解が得られる状態にする
- 「空欄」で何かを説明した気にならない
- 空欄は「未入力」なのか「書き忘れ」なのか「何もなかった結果」なのか判断が付かない
- 空であることを示すなら、ハイフン「-」などを明記する (当然、記号を使う時は凡例を書いておく)
- シート名を書く
- 「Sheet1」では何のためのシートか分からない
- シートが1つしかなくても必ず「タイトル」は書く
- タイトルを書く癖がないと、文書全体の方向性を正しく定められない
- 当然だけどブック名も中身が分かるようにタイトル付けしようね
- 表には No. を振る
- 読んでいる時に、今見ていた行を迷いにくくするための目印・インデックスとして
- 「数」に関する情報は目に見えるように書いておく
- 連番ミスを起こさないよう、前述の数式などを利用する
- 垂直方向は上揃えにしておいた方が、1行の各列を読んでいく時に文章の開始位置の目線が揃って読みやすい
- デフォルトだと垂直中央揃えだと思うが、折り返し表示するセルが途中にあったりすると、文章の1行目の位置が上下にズレて落ち着きがない
- Mac 版の Excel だと下揃えがデフォルトっぽいが、下揃えにメリットなし
- 印刷する時は、ブック名とページ番号を必ず印刷する
- あとで書類が混ざった時に必ず混乱する
- 手元にある書類だけで間違いない状態に戻せるよう、必要な情報は明記 (印刷) する
- 集計や計算を行う時は、1シート・1セルで一気に答えを出そうとしない
- Excel のデフォルトで、新規作成時に3シート作られるのは「入力」「変換」「出力」をシート別に行ってもらうため
- 元データには手を加えず、加工する行程ごとにシートを分けて、セル参照やピポッドテーブルを利用して作る
- そうすると、計算誤りがあった時の見直しや、特例的なデータへの対応がしやすい
- 元データや計算過程を分かりやすく残しておく、つまり、別の人が検算・レビューしやすくしておくことも大事
- 日付の書式設定は
yyyy-mm-dd
にする- デフォルトだと
yyyy/m/d
だと思う。コレだと月や日が1桁の時と2桁の時とで、表示される桁数にバラつきが出る (2018/1/5
・2018/12/10
みたいな)。そういうデータが縦に並ぶと読みづらい - そこで、0 パディングするために
yyyy/mm/dd
とかyyyy-mm-dd
のように自分で書式を変更する。2018/01/05
のように年月日の表示桁数を固定しておくと読みやすい - アラインメントの感覚大事
- デフォルトだと
文章の書き方、データのまとめ方、スタイリングの仕方。そうした「センス」は、イコール「知識量」。指摘を食らう人は単純にインプットする知識量が少ないために、アウトプットするモノの「センスが悪い」のだ。
「書き手」の意識に終始しているから気付けない。共有フォルダにある他人が作った書類は勝手に読むとかして、「読み手」になる機会を増やして、グッドプラクティス・バッドノウハウを増やしていくことが大事。
その上で、作るモノには「一定の規則・統一性」を持たせること。シートごとにフォントや表の構成が違ったりすると、書き手としては良かれと思ってそうしたことでも、読み手としては「さっきと違うモノ」をゼロから認識し直す必要が出てくるので、読みづらくなる。個々の見栄えをそれぞれ考えて調整するよりは、全体の体裁を揃える方に重きを置いた方が良い。
以上
そもそも、Excel は「文書」を作るモノではないので、あまり「ドキュメント」として凝ったモノを作ろうとすること自体が間違い。
表計算ソフトで何かを計算するということは、その計算している表自体の見栄えというより、「計算した結果から導かれる情報」の方が大事なはずだ。だから、あまり見栄えを気にするのではなく、「計算した結果何が分かったか」というところだけきちんと表現するに留め、その他の文書は Word で書いた方が良いと思っている。
そうはいっても Excel 方眼紙はなくならんじゃろ、きっと…。