エクセルシートは「作り込み」で業務効率「10倍」も

集計を極める』シリーズでは、エクセルを使用したさまざまな「マニアック集計テクニック」を取り扱っています。SUMIF関数をうまく使うと、複数の条件に合致する集計も可能です。そして、エクセルシートの作り込み次第では、同じような作業をするにしても時間が10倍から、冗談抜きで100倍も異なってしまうこともあります。記事タイトルで「業務効率10倍」と書いたのは、逆に「やり方次第では効率が10分の1になる」、という意味でもあります。

エク達は、「エクセル評論家」でもある新宿会計士が、エクセルなどの「オフィス系の汎用ソフト」を使い、誰でも気軽に、かつ安価に、とても迅速かつ正確に仕事をこなす、ビジネスマンとしての基本テクニックを研究するサイトである。

本稿でも、『まずビジネス現場から「エクセル方眼紙」を追放しよう』に続き、エクセル方眼紙の欠点を補う、「スマートな仕事の仕方」について紹介しておきたいと思う。当ウェブサイトの資産だと、下手をすると業務効率は10倍(あるいはそれ以上)になる。是非、マスターして欲しい。

エクセル方眼紙追放運動

エクセル方眼紙追放運動と日本年金機構解体運動の関係』では、エクセル方眼紙の欠点について議論したのだが、エクセルというものは、不思議なもので、同じ作業をするにしても、それをする者の適正が見事に出てくる。

これに関連し、本稿で紹介したいのは、「エクセル方眼紙」に関連し、「人間が見てわかりやすい資料」がデータ分析をする上で「良い資料」とは限らない、という事例だ。

NOT「エクセル方眼紙」

さて、「手書き」と「エクセル」の大きな違いはなにか。

最も大きな点は、さまざまな関数を使って業務を飛躍的に効率化させることができることだ。

ことに、「『タテ計』『ヨコ計』のチェックにSUM関数を使う」、「異なるデータ間の整合性を検証するのにVLOOKUP関数を使う」、「条件付き集計にSUMIF関数を使う」、「あるデータの個数をカウントするのにCOUNTIF関数を使う」などは、ビジネススキルとして覚えておいて損はないだろう。

さらに、応用技として、こうしたなか、「桁数が異なるコード番号同士の整合性を検証する」などの際には、文字列を切り分けるRIGHT関数・LEFT関数・MID関数、文字列の桁数を変更するためのREPT関数やTEXT関数、文字列を置換するSUBSTITUTE関数などのテクニックも身に着けたいものだ。

さらに慣れてくれば、INDIRECT関数、MATCH関数を組み合わせて、シートの名称を手掛かりに数十年分の財務諸表を1枚のシートに再現する、などのテクニックも現実のものとなっていく。当ウェブサイトとしても、これらのテクニックのパワフルな「実践技」を紹介していくつもりだ。

(なお、SUMIF関数に関しては『複数の条件に合致する数値を集計する基本的テクニック』なども参照されたい。)

ヨコ展開?タテ展開?

こうしたなか、本稿で紹介したいのが、「エクセルのダメテクニック」である。

とある会社で先輩が、あんなシート(図表1)を作っていたとしよう。

図表1 あんなシート

このシート自体、「視覚的には」わかりやすいかもしれない。

ただ、このシートには、致命的な欠陥が3つある。

1つ目は、シートを作るのが決定的に面倒くさいこと、2つ目はデータ数が増えたときに収拾がつかなくなること、そして3つ目は加工が非常に困難であることだ。

エクセルというものは、一般的にエンターキーを押すとアクティブセルが下に移行するという性質がある。しかし、この書式だと、「東京支店の2020年3月期の売上高、売上原価、売上総利益」をヨコに入力していかなければならない(なお、横展開はエンターキーではなくタブキーを使うという方法もないではないが)。

しかも、「売上総利益」や「増減」(図表1のうち赤線で示した部分)については、いちいち計算式を入力する必要があるし、「増減率」(図表1のうち青線で示した部分)については、計算式を入力するだけでなく、「%表示」を可能にするための「書式設定の変更作業」も必要だ。

また、この設例だと支店の数は3つだけだが、たとえば分析すべき支店の数が10か所、20か所などと増えて来ると、収拾がつかなくなる。たとえばこれを無理やり1枚に収めるために縮小印刷すると、大変にまとまりがなくて読み辛い資料が出来上がってしまうかもしれないからだ。

さらには、この形式だと、後日、「売上高順に並べ替える」などの加工をすることも不可能である。

手間がかかるわりには使えない、まことに頭の悪い仕事といえるのだ。

同一属性のデータは縦に並べる

これに対し、スマートな仕事とは、こんなシート(図表2)のことをいう。

図表2 こんなシート

この場合、図表1と比べ、視覚的にはたしかにわかり辛いかもしれないが、入力作業自体は非常に楽であり、また、エクセルを使って様々な場面で加工すると考えたときには、何かと便利なのである。

そもそも数式を入力するセルである「売上総利益」や「増減」については、一ヵ所にまとまっているため、とりあえず「売上高」と「売上原価」だけを入力してしまえば、あとは範囲指定して数式を入力し、コントロールキーを押しながらエンターを押せば、一発で数式を入れることができてしまう。

「増減率」については列ごと選択し、書式設定画面(Ctrl+1)を選んで指定すれば良いので、大変に楽だ。また、一番上のセルだけ数式入力・書式設定を行い、そのセルを含めて範囲指定を行って「Ctrl+D」を押すという方法でも、同じ内容を下のすべてのセルにコピーすることができる。

そして、この方式のパワフルさを実感していただけるのが、「並び替え(Alt→D→S)」機能を使って図表2を項目別に並べなおしたもの(図表3)だ。

図表3 項目別並び替え

このようにしたうえで、罫線で支店ごとに囲めば、そのまま図表1の代替となるだろう。

業務効率は何倍になるのか

ちなみにある人が試したところ、業務効率は次のとおりだった。

  • 図表1…作成時間10分
  • 図表2…作成時間1分(※ショートカットなし)
  • 図表3…ショートカット(「Alt+D+S」、つまり「並べ替え」)を使えば5秒

また、図表2、図表3のような図表を作っておけば、オートフィルタで「売上高」「売上原価」などを選んで、別シートに転記しすればグラフ化することもできるなど、加工しやすくなるうえ、同じデータを来年まで残しておけば、歴年のデータ分析も可能となる。

いずれにせよ、作業をデータ化するうえでは、エクセルは方眼紙形式として使うよりも、やはり表計算ソフトとして、あるいは準データベースとして使うのが正しいのだ。

エク達は、「エクセル評論家」でもある新宿会計士が、エクセルなどの「オフィス系の汎用ソフト」を使い、誰でも気軽に、かつ安価に、とても迅速かつ正確に仕事をこなす、ビジネスマンとしての基本テクニックを研究するサイトである。

読者コメント一覧

  1. しきしま より:

    私はExcelの関数はほとんど使いません。
    四則演算とかSUM関数のような単純な式なら使いますが。
    ほとんどVBAで処理しています。
    表の関数の欠点はステップ実行やウォッチで処理の途中の経過を確認できないことです。
    他人の作った表で1セルに数百文字の式が入っているのを見かけますが、よくこんなの作るなぁ、と思います。

    1. しきしま より:

      追記です。
      とある会社の仕分け処理をVBAで作ったこともあります。
      ○○に入金いくら、□□の出金いくら、みたいなことが入力されたシートを別のシートにB/Sとして出力するものです。

  2. チキンサラダ より:

    Alt -> d -> s は、transpose を行ってくれるということですか?
    今、出先なのですが家に帰ったら早速試してみたいと思います。
    縦から横、横から縦と、transpose 使いたい時って、結構あるんですよね。
    私は Google sheets 使いなのですが、transpose したい時は AppsScript 作ってました。スクリプトは大したことないのですが、キーバインドだけで出来るのが圧倒的に良いに決まっています。

  3. ななっしー より:

    マスター・データ・テーブルは「図表2こんなシート」のほうがいいですねー。

    でも各支店の人間にこのシートを編集させるわけにはいかないので何らかの方法で報告を上げてもらうことになる。
    それがワードや PDFよりはエクセル方眼のほうがまだマシかな。
    「こんなシート」へ統合が容易だろうから(わたしはテキストで欲しいけど^^)。

    逆に、上司や顧客から「図表1あんなシート」でレポートよこせ! と言われたら対応しなけりゃいけないところもつらいところ。

  4. ななっしー より:

    ふとひらめいたのであんなシートをこんなシートにしてみる。

    あんなシートにて
    1. Q12に=TRANSPOSE(B2:O10) ←行列入れ替え
    2. AA28に=IF(Q12=””,AA27,Q12)入れて AA28:AA41にコピペ ←支店列をフィル
    3. AB28に=R12入れて AB28:AI41にコピペ ←その他単純参照
    4. AK43に={“支店”,”項目”,”2020.03.31″,”2019.03.31″,”増減”,”増減率”} ←ヘッダ
    5. AK44に=FILTER(AA28:AI41,AB28:AB41″”) ←売上云々のある行を抽出

    まあ、こんなことできるのも元シートが「きれい」だからだけど。
    悪い例でさえデータが整ってるおかげで加工が楽です^^
    (でも PowerQuery使うともっと簡単らしい。エクセル持ってないけどw)

※【重要】ご注意:他サイトの文章の転載は可能な限りお控えください。

やむを得ず他サイトの文章を引用する場合、引用率(引用する文字数の元サイトの文字数に対する比率)は10%以下にしてください。著作権侵害コメントにつきましては、発見次第、削除します。

※【重要】ご注意:人格攻撃等に関するコメントは禁止です。

当ウェブサイトのポリシーのページなどに再三示していますが、基本的に第三者の人格等を攻撃するようなコメントについては書き込まないでください。今後は警告なしに削除します。なお、コメントにつきましては、これらの注意点を踏まえたうえで、ご自由になさってください。また、コメントにあたって、メールアドレス、URLの入力は必要ありません(メールアドレスは開示されません)。ブログ、ツイッターアカウントなどをお持ちの方は、該当するURLを記載するなど、宣伝にもご活用ください。なお、原則として頂いたコメントには個別に返信いたしませんが、必ず目を通しておりますし、本文で取り上げることもございます。是非、お気軽なコメントを賜りますと幸いです。

コメントを残す

メールアドレスが公開されることはありません。