MENU

第1章 最初に知っておくべき7つのポイント

ご利用の前に必ずお読みください本書は紙書籍『たった 1日で即戦力になる Excelの教科書【増強完全版】』( ISBN 978-4-297-11143-4)を元に製作した電子書籍です。紙書籍とはデザインやレイアウトが異なり、ご覧になる端末により表示が異なる場合があります。表示設定は端末の標準設定を推奨します。配信後に補足訂正等でデータの再配布を行う場合があります。更新方法は購入先の電子書店のヘルプ等をご確認ください。本書は情報提供のみを目的としており、掲載内容の運用結果について技術評論社および著者は一切の責任を負いません。掲載内容は特に断りのない限り執筆時点より以前の情報のため、変更される場合があります。特に、ソフトウェアはバージョンアップされる場合があり、本書での説明とは機能内容や画面図などが異なってしまうこともありえます。以上をあらかじめご承諾の上、ご利用をお願いします。本文中に記載されている製品の名称は、すべて関係各組織、各社の商標または登録商標です。免責本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた運用は、必ずお客様自身の責任と判断によって行ってください。これらの情報の運用の結果について、技術評論社および著者はいかなる責任も負いません。本書記載の情報は、 2020年 2月 2日現在のものを掲載していますので、ご利用時には、変更されている場合もあります。また、ソフトウェアはバージョンアップされる場合があり、本書での説明とは機能内容や画面図などが異なってしまうこともあり得ます。本書ご購入の前に、必ずバージョン番号をご確認ください。以上の注意事項をご承諾いただいた上で、本書をご利用願います。これらの注意事項をお読みいただかずに、お問い合わせいただいても、技術評論社および著者は対処しかねます。あらかじめ、ご承知おきください。商標、登録商標について本文中に記載されている製品の名称は、一般に関係各社の商標または登録商標です。なお、本文中では ™、 Ⓡなどのマークを省略しています。増強完全版の刊行に際して 2014年に出版し、 22万部突破のベストセラーとなった『たった 1日で即戦力になる Excelの教科書』の発売から 6年の月日が流れました。その間、 Excelはアップデートが繰り返され、そのたびに新しい関数や機能が追加されてきました。「新しいバージョンではどんな進化があるのだろう」と楽しみにされている熱心なユーザーの方も多いと思います。そんな中で、「『たった 1日で即戦力になる Excelの教科書』もアップデートしないのか」というご質問を何度かいただいてきました。しかしながら、私の回答は一貫してこうです。 「Excel 2003の関数と機能だけで、十二分に効率的な仕事はできます」私がこう申し上げるのには、理由があります。それは、 Excelの勉強に必要以上に時間を割かず、本業に集中していただきたいからです。従来の使い慣れた関数を、より便利とされる新しい関数に切り替えたところで、仕事のレベルが大きく上がることはありません。また、バージョンの都合で最新の機能や関数が使えない環境の方も数多くいらっしゃいます。もちろん、新しい機能や関数を知ることはとても楽しい発見でもあるので、それ自体を否定するものではありません。しかし、「その発見が仕事にもたらす変化」という観点からは、必要不可欠な学習ではありません。一方で、 6年前に出版した『たった 1日で即戦力になる Excelの教科書』ではカバーしきれなかった基礎がありました。その部分を補完すべく、このたび改訂版を出版させていただくことになりました。加筆内容の大きな柱に「グラフ」があります。グラフを作成する操作自体はとてもかんたんなものですが、本書では「仕事における本当に正しいグラフの使い方」という視点で、グラフをはじめて作る方にも、今までグラフをたくさん作ってきた方にもあらためて確認していただきたい大切な基本を紹介しています。また、 Excelの効率的な活用を妨げるとして悪評の高い「セルの結合」に関する問題についても、解決策を提示しています。 Excelにいろいろなアップデートがおこなわれても、 Excelでおこなう仕事の本質はまったく変わりません。江戸時代の商人が筆とソロバンでやっていたこと、昭和のビジネスパーソンがボールペンと電卓でやっていた作業が、現代では Excelに引き継がれているだけのことです。今回の改訂を通して、『たった 1日で即戦力になる Excelの教科書』の内容が時を経ても変わらない普遍的な原理原則、つまりバージョンアップのたびに新しく何かを学ぶ労力など必要ないという安心感をあらためてお持ちいただければと思います。

はじめにあなたの Excel作業は、ほとんどすべて時間のムダかもしれません 「Excelの作業に何時間もかかってイライラする」「煩雑な手順のせいでミスがたえない」「本で勉強しようとしても、どれを読めばいいのかわからない」そんな状態になっていないでしょうか?もし「今でも Excelは何とかなっている」と思っていても、その所要時間の 99%には削減できる余地が潜んでいます。 Excelには、実務を効率化するのに「知らなかった」では済まされないことがいくつかあります。それらをできるだけ早い段階で知っておく必要があります。資格を取っても、パソコン教室に通っても、現場で通用しない理由では、「 Excelのスキルアップ」はどのようにしたら実現するのでしょうか?よく選択されている方法は以下の 2つですが、じつはどちらも役に立たないことがほとんどです。・資格を取得する・パソコン教室に通う私は Excelのセミナーを開催していますが、そこにいらした受講者様の多くが「資格を取得したが、仕事でまったく活かせていない」というお悩みを抱えて弊社の門を叩かれているという現実があります。また、弊社のクライアント企業の担当者様からも、「資格取得者を採用してみたが、まったく Excelが使えない」「資格を取らせたが、まったくスキルが上がっていない」というご相談をいただいています。なぜこのような問題が起きるかと言えば、 Excelの資格は、 Excelの機能や関数に関する知識を広く浅くチェックするためのものだからです。したがって、そこで出題される内容が現実のビジネスで必要なものとは限らないのです。実務経験の豊富なインストラクターさんが教えてくれるなら、パソコン教室も有益でしょう。しかし、そうした学校を探すのはどうもかんたんではないようです。 Excel教室では専業のインストラクターさんが教えてくださいますが、彼らは必ずしもビジネスにおける実務経験が豊富であるとは限りません。本部が作成した教材を使い、カリキュラムどおりに、マニュアルどおりに講義が進んでいきます。パソコンスクールによっては個別の質問には答えてくれないところもありますが、これは「答えない」というよりは講師のスキル不足により「答えられない」というのが現実です。某大手パソコンスクールの Excelコースの内容を調べてみると、以下のようなコースがラインナップされていました。 ・Excel基礎 90分 × 12回( 2ヶ月) ・Excel応用 90分 × 12回( 2ヶ月) ・ExcelVBA講座 90分 × 13回( 2ヶ月) ・Excel関数実践 90分 × 13回( 2ヶ月) ・Excelビジネス 90分 × 10回( 2ヶ月)忙しい現代のビジネスパーソンが、 Excelのためにこんなに多くの時間をかけて通学している暇はありません。 Excelのスキルはたしかに大切ですが、短期間でかんたんに身に着けてしまうべきものです。 Excelはあくまでも道具であり、仕事の目的ではないのですから。必要なのは目的意識と「前向きな怠惰」の発想では、どうすればいいのでしょうか?その答えとして執筆したのが本書です。本書は、「最小限の時間で、即戦力になるための知識が身につく」ことを主眼において執筆しました。 Excelは、その機能や関数を 100%マスターしても、それだけでは使いこなすことはできません。大切なのは、「そもそも、 Excelで何をするのか?」「どんな資料を作って、それをどう活かすのか?」といった目的意識、そして「必要な作業を、いかに効率的に、ラクに、ミスなく済ませる仕組みを実現するか?」という発想力です。私は、これまで 50社以上のクライアント企業様へ Excel業務の改善指導を行ってきました。定期的に開催している Excelセミナーでも、実務直結型の Excel研修を提供し、のべ 2000名以上の方を指導してきました。その中で、数多くのご相談をいただき、幅広い業種業界に共通する課題を解決していく中で、「自分が今まで長時間かけていたのは何だったんだ……」という声を数多く耳にして参りました。実際に、本書に書いたことを実践していただくことで、「 30分かかっていた作業が数秒に」「 2日かかっていた作業が 5分に」といった時間短縮が実現しています。時間短縮だけでなく、煩雑な手間が省けることから「ミスがなくなり、仕事の精度が上がる」という効果も出ています。時間のかかる面倒な作業があったとしたら、まちがってもそこにすばらしい根性を発揮してはいけません。そのような作業はいかにラクして瞬時に済ませられるだろうかと考える、「前向きな怠惰」の発想を身に着けていただきたいのです。本書がそのための一助となれば、これに勝る喜びはありません。目次第 1章 最初に知っておくべき 7つのポイントルーティンワークが自動で瞬殺される仕組みを作る知識不足がもたらす衝撃的なデメリットムダな時間を垂れ流し続けてはいけない Excelのスキルを上げるのに必要なのは「関数」と「機能」と「アイデア」の 3つ一般的な業務のために知っておきたい関数は 67個知っておきたい 9つの機能関数や機能を組み合わせる「工夫」と「アイデア」が一番重要入力するデータはたったの 4種類 1 数値 2 文字列 3 日付・時刻(シリアル値) 4 数式・関数ショートカットを駆使してマウスに手を伸ばす頻度を下げるキーボードなら一瞬で操作できる重要ショートカット一覧「マウスは使うな」は大きなまちがい作ったデータをしっかり守る業務の効率アップのために一番大切なこと自動保存の設定も必ずやっておこう操作をまちがえたら、落ち着いて Ctrl + Zで元に戻す中止したいときは Escでおせっかい機能を解除して快適に使えるように勝手に文字修正をしないようにする自動的にハイパーリンクが貼られないようにする数字を勝手に日付に変換しないようにする

シートの列記号がすべて数字になってしまったらセルの左上隅に色のついた三角形が出るのを消したい入力中に勝手に予測変換しようとするのをやめてほしい「貼り付けオプション」が出てくるわずらわしさをなくすシートタブがなくなってしまったときの対処法不可解な動作が起こる原因 TOP 3「スクロールロック」「ナンバーロック」「インサートモード」とその解除方法を知っておく Excelファイルを通したコミュニケーションに配慮する新規ブックの初期シート数は 1にしておく他人に共有するシートは必ず[印刷範囲設定]を確認第 2章 数式を制する者は Excelを制す数式入力の超基本数式を入力する 4つのステップ関数を使って面倒な入力をシンプルに関数を入力する 5つのステップ効率的にセルの範囲選択をするには「参照」を使いこなして計算を自由自在にもともとセルに入っているデータを活用する column「参照先」「参照元」という用語は誤解しやすい知っておくべき演算子式を入れたセルをコピーするときの落とし穴 F 4キーと $マークで「絶対参照」にして効率化エラー値の種類と意味なんて覚えようとしなくていい第 3章 真っ先に知っておきたい 6大関数条件によって答えを変える ~ IF関数 IF関数の基本複数の条件を判定するには今月の売上いくらだった? ~ SUM関数 SUM関数の基本連続したセル範囲の合計を求めるには ~オート SUM離れた複数セルを合計するにはかけ算や文字列結合の入力を効率化するには今、リストに何件分のデータがある? ~ COUNTA関数「売上」とは金額の合計だけでは語れない関数の日本語訳ができるようになろう COUNT関数との違い売上を担当者別に分けて計算したい ~ SUMIF関数 SUMIF関数の基本実数一覧だけ出して満足してはいけない出席者リスト、何人に「 ○」がついてる? ~ COUNTIF関数 COUNTIF関数の基本担当者ごとの売上件数を出すには商品名を入れたら自動的に値段も入るようにできない? ~ VLOOKUP関数 VLOOKUP関数の基本 4つの引数の意味と処理の流れ「列全体指定」でメンテナンスをラクに第 4章 応用と組み合わせで関数の威力を 10倍高めるセルの中に特定の文字列が含まれているかどうかを判定する世田谷区のお客さんの人数だけ数えるには世田谷区以外の区も調べるにはデータから重複をなくす方法どうやって重複を判定するかダブっているセルを一括で抽出して削除するには column「重複の削除」は使わないように連番をラクに入力する方法オートフィル機能を使う「連続データの作成」機能を使う崩れない連番を作るにはシートの行方向に続く連番を作るには右方向への大量の VLOOKUP関数の入力をかんたんにする方法まちがっても根性を発揮して修正作業をがんばろうとしてはいけないコピー先のセルで、適切な数字に変わってくれるようにする表外に数字を書き出さずに処理を完結させるには VLOOKUP関数で検索範囲の列順の変動に対応するには入力表とマスタの項目の並び順が違っている場合 MATCH関数の処理を解読する同じ検索値が複数ある表で VLOOKUP関数を使うテクニック VLOOKUP関数は最初に一致した検索値のセルを対象にしてしまう重複がない状態に加工してから処理する VLOOKUP関数で検索列より左側の値を取得できるか VLOOKUP関数では検索した列より左側の値を取得できない OFFSET関数とは OFFSET関数と MATCH関数を組み合わせるエラー値を非表示にするテクニックエラー値が出たら毎回修正するのは非効率式の結果がエラーだったら空白を返すようにする Excel 2003以前ではどうすればいいか SUMIF関数で複数の条件がある場合の集計方法集計条件を入れる「作業列」を追加するわかりやすさを重視しよう第 5章 日付と時刻の落とし穴を知らずに Excelを使う恐ろしさ日付の超基本日付は西暦から入力する column 今日の日付や現在時刻をかんたんに入力するには日付・時刻データの正体とは ~シリアル値時刻を扱うためのポイント時刻データのシリアル値は小数誤差が出る点に注意正しい時刻データを作るには日付や時刻を効率的に扱う入力したデータが勝手に日付に変換されてしまわないようにする常に今日の日付を出す年、月、日が別々のセルに入力されている場合の対処法日付データから年、月、日を取り出すには関数を使いこなして日付や時刻の処理をより便利に期日まであと何日……を随時出したいとき土日祝を除いた営業日数を出したいとき年齢を自動計算する日付から曜日を出すには第 6章 文字を自在に扱う文字列操作の超基本セル内の文字列の一部だけを別のセルに取り出す日付を意味する 8桁数値を日付データに変換する文字列をうまく分割する住所から都道府県だけを抜き出す住所を都道府県と都道府県以降に分けるには氏名を苗字と名前に分けるには

データをきれいに整える文字列が同じかどうかを判定するには全角文字を半角に変換するには特定の文字を削除するには文字を効率的に処理するアルファベット 26文字を連続入力したいときはある文字がセルの中にいくつ入っているかを数えるには第 7章 表作成の極意──日々の資料作成を効率化するには 「Excelで仕事をする」とはそもそもどういうことかデータベース形式の 7つのルール 1行目に設定する項目はできるだけ細分化しておくすでにデータが入力された表を使って新しく資料を作る「条件付き書式」で見やすい表を一瞬で作る前年比が 100%を下回っていたらセルを赤くするには表に 1行おきに色をつけて見やすい表を作成するにはセル内改行と罫線で注意すべきことセル内で改行する方法と、改行したデータに関する注意セル内改行をなくす 2つの方法罫線は全部 1種類で済ませる。線の種類にこだわらない。「データの入力規則」を活用し、ムダとミスを減らす「データの入力規則」を使う 2つのメリットセルに入力できる数値を制限するにはアラートのテキストを変更するには入力モードを自動で半角英数に切り替えるにはセル結合による非効率地獄をなくすスムーズな数式のコピーをセル結合が妨げるデータベース機能がセル結合で使えなくなる 「Excel方眼紙」という問題 「1シート 1表の原則」で自在にレイアウトする方法「神 Excel」問題を解決するには神 Excelのデータべース化には「パワークエリ」も使えるリスト入力で参照範囲を変更する手間をなくす性別欄に男女いずれかを入力できるようにする方法シート上にあらかじめ選択肢一覧を作っておき、それを参照するにはセルやセル範囲に自分の好きな名前をつける ~名前の定義名前を使ってリスト入力を設定する選択肢が増減することがよくあるリスト入力の場合並べ替え・オートフィルタ・ピボットテーブルが正しく動作する条件を把握する並べ替えのかんたんな方法並べ替えの丁寧な方法並べ替えがうまくいかない場合によくある 2つの原因データの表示にひと工夫加える方法 ~ユーザー定義大きい金額を千円単位で表示するには会社名を入力したセルに自動的に「御中」が付くようにするには足したら 24時間以上になった場合の時間数を「 25: 00」などのように表示にするにはコピペもただ貼りつけるだけじゃない! ~「形式を選択して貼り付け」を駆使する値演算(加算、減算、乗算、除算)行と列を入れ替える参照しているセルの値を変えても式の結果が変わらないときはめんどうなデータ処理を瞬時に終わらすカンマ区切りのデータをセルごとに分割する複数の空白セルに同じ値を一発で入力するには同じパターンのデータの修正や削除は何個でも一発で ~検索と置換同じ文字を全部まとめて削除したいときはより快適に操作するために知っておきたいこと複数ウィンドウで Excelを開いて作業を効率化( Excel 2010まで)なぜか重くなったファイルを軽くするには大きな表をスクロールしても見出しが見えるようにしておくフォーマットを壊さないための措置 ~シートの保護シート全体を保護したい場合シートの一部のセルのみ変更不可にしておきたい場合印刷にまつわる諸問題を解決するには複数ページある場合、見出し行だけ全ページに印刷したいときは印刷結果が画面と異なる問題に対処するには第 8章 グラフを使いこなす 5大グラフの使い方を理解する棒グラフと折れ線グラフ ~比較と推移円グラフ ~内訳構成比散布図 ~ 2つの数字の相関バブルチャート ~ 3つの数字の関連グラフづくりに最低限必要な知識バージョンによってタブ画面が異なることに注意データソースを用意する column 標準グラフの設定を変える「系列名」「系列値」「軸ラベル」を理解するとグラフづくりがスムーズになる column リボンの「グラフ要素の追加」には「グラフ要素」ボタンにはないメニューもグラフタイトルや軸ラベルでセル参照を使う「見やすいグラフ」にするためのコツ凡例をなくして、データラベルで系列名を表示する目盛線を消すグラフに基準線を引く散布図にデータラベルを表示するグラフに出てくる系列の順番が思うようにいかない場合はどうするかより高度なグラフの作り方パレート図を作る ~ 2軸グラフと 100%積み上げ横棒グラフ参照範囲の増減にグラフを自動対応させる第 9章 成果につながる Excel仕事の本質をおさえるデータ分析の基本とは分析の基本は数字を「分けて」「比べる」ことビジネスで数字を分析する際の 3つの基本指標「数字で語る」とは、あいまいな形容詞や副詞による表現をパーセンテージで表現するということ「どんな目的を持って表を作るのか?」を必ず意識する材料データを一瞬で完成品の表に変換するテクニックあらたな集計基準を元データに追加する ~データ変換の工夫ピボットテーブルへの依存による効率ダウンに注意一度フォーマットを作っておけば、何度でも使いまわせる最小の労力で最大の成果を出す 80: 20分析(パレート分析)その経費削減努力、本当に意味がありますか?パレートの法則とはパレート分析のグラフに至る 3つの分析手法「お金のブロックパズル」で会社のお金の流れを理解するパレート分析をどう使うか平均値は嘘をつくおわりに

ルーティンワークが自動で瞬殺される仕組みを作る知識不足がもたらす衝撃的なデメリット「ほかの人が作った Excelファイルを使って仕事をしているのですが、そこに入力してある内容の意味がわからないまま使っているんです……」私が Excelの業務効率化をお手伝いしている現場で比較的多いケースです。つまり、その入力されている内容がまちがっていたとしても気づかないことになります。また、入力してある内容を誤って消してしまったりしたら、もう元に戻せない。そして、それをだれにも言えずにそのまま放置してしまった結果、大事なデータ分析ができなくなってしまった……そんなケースもありました。 「Excelのデータ処理作業に時間がかかって、それだけで半日終わってしまうんです……」こちらは毎日遅い時間まで残業していたある会社員のケース。なぜそんなに残業が発生しているのか聞いてみると、 Excelで作られている顧客名簿の電話番号数万件において、全角で入力されているものを 1つ 1つ半角に打ち直し、さらに電話番号のハイフンを手作業で削除していたというのです。そのために、彼は毎日 4時間の残業を 3日ほど続けていました。しかしこの作業、ちょっと工夫すれば、 1分もかからず完了してしまいます。このように、 Excelの基本を知らなかったために膨大な時間のムダとミスを生み、大きく生産性を下げている例は枚挙に暇がありません。ちょっとした方法を知っていれば 1分で済む作業なのに、何時間もの貴重な時間を単純作業に費やしているのです。もし、自分にもそのような状況が発生しているとしたら、それは放置しておけるものでしょうか?営業やコミュニケーションのスキルを上げるのも大事ですが、「それによってビジネスがどうなったのか?」という成果を計るのに Excelを使わないことはあまりありません。「数字で語れ」という本を読むのも大事ですが、その数字を出すのにあまり長い時間をかけていてはいけません。資料を作ること自体に時間をかけている場合ではないのです。数字は一瞬で計算し、資料は素早く作成、その数字について考え、語り、行動する時間を最大限確保する努力をすることこそが重要なのです。そのために、現代の知識労働者には、 Excelを使いこなすことで「作業」ではなく「仕事」をする時間を最大化する努力が必要です。 Excelにもできる単純作業は Excelに任せて、人間にしかできない仕事に集中しなければなりません。退屈な長時間の単純作業は集中力を鈍らせ、ミスを誘発し、モチベーションを下げてしまいます。ムダな時間を垂れ流し続けてはいけない・毎日、販売データの数値集計に 2時間かかっている (2時間 × 20日 =月間 40時間)・毎月、月末に行う交通費の精算作業に 1週間かけている (8時間 × 5日 =月間 40時間)・お客様へ提出するデータを作成するのに、毎週 5時間かかっている (5時間 ×月 4回 =月間 20時間)そんな作業が、 Excel作業の自動瞬殺化を行った結果、すべて月間の所要時間が 3分以内に短縮されたことがあります。上記の 3つ目の事例にてお手伝いした方からは 「5時間の作業が……たった 2分になりました。 2分って(笑)。今まで自分が 5時間苦しんでいたのは何だったんだ……という思いです」というメールをいただいたぐらいです。月間 40時間の作業が 5分に短縮されると、 39時間 55分の時間が新しく生まれます。その時間をより生産的な作業に充てることで、仕事はより楽しくなり、やりがいも増え、会社に貢献することができます。そうすれば、会社の業績は上がり、自分の評価も上がっていくでしょう。逆にいえば、その作業を放置していたら、この先も毎月その時間をムダに垂れ流し続けることになります。その時間にも、きちんと人件費がかかっています。そのとんでもなくムダな人件費は、毎月流出し続けることになります。そのような人材が会社から高い評価を受けることは断じてありません。

Excelのスキルを上げるのに必要なのは「関数」と「機能」と「アイデア」の 3つ「面接で『 Excel使える?』と聞かれて、『使えます』と言っていいのか自信がない……」そんな疑問をよく目にします。たしかに、求人広告の応募資格にはよく「 Word・ Excelを使いこなせる方」という表現が書かれていますが、「使いこなせる」の基準がよくわかりませんね。実際問題、そう言ってる採用担当者さん自身、「 Excelが使える」という定義についてはっきりおわかりになってないケースが多いものです。では、そうした面接などの場面でも自信を持って「 Excelが使える!」と言える状態とは、どのようなものでしょうか?具体的に Excelのスキルを上げていくために学ぶ必要があることは、大きく「関数」と「機能」の 2つに分かれます。 Excelにはさまざまな作業、処理をラクにスピードアップできる便利な関数や機能が用意されているので、まずはそれらにどんなものがあるかをざっと知っておくだけでも随分と作業効率が違ってきます。一般的な業務のために知っておきたい関数は 67個 Excel関数は 400個以上ありますが、もちろん全部覚える必要はありません。ではいくつぐらい知っておけばいいかというと、職種にもよりますが、平均して 30 ~ 50個も知っておけば十分すぎるくらいです。弊社の豊富な指導経験から、一般的な業務において知っておくと役に立つ関数を選ぶと以下の 67個になります。 SUM/ SUMIF/ SUMIFS/ PRODUCT/ MOD/ ABS/ ROUND/ ROUNDUP/ ROUNDDOWN/ CEILING/ FLOOR/ COUNT/ COUNTA/ COUNTIF/ COUNTIFS/ MAX/ MIN/ LARGE/ SMALL/ RANK/ TODAY/ YEAR/ MONTH/ DAY/ HOUR/ MINUTE/ SECOND/ WEEKNUM/ DATE/ TIME/ WORKDAY/ DATEDIF/ IF/ IFERROR/ AND/ OR/ VLOOKUP/ HLOOKUP/ MATCH/ INDEX/ ADDRESS/ INDIRECT/ OFFSET/ ROW/ COLUMN/ LEN/ FIND/ LEFT/ MID/ RIGHT/ SUBSTITUTE/ ASC/ JIS/ UPPER/ LOWER/ PROPER/ TEXT/ CODE/ CHAR/ CLEAN/ PHONETIC/ CONCATENATE( CONCAT)/ ISERROR/ REPLACE/ TRIM/ VALUE/ NETWORKDAYSもちろん、いきなりこれらをすべて覚える必要はありません。第 3章で解説しますが、基本となる 6つの関数を覚えるだけで、あなたの Excel力はかなり高まることでしょう。なお、基本関数として名高い AVERAGE関数を含めていないのには意味があります。平均値という指標を安易に使用することへの警鐘です。第 9章で解説しますが、「平均値は嘘をつく」というリスクを忘れてはいけません。平均値を出したければ、合計を要素数で割って出すようにしてください。知っておきたい 9つの機能関数と同時に大事なのが、 Excelの機能に関する知識です。これも関数と同様さまざまなものがありますが、一般的な業務において活躍することが多い重要機能は以下の 9つです。条件つき書式([ホーム]タブ →[条件つき書式]をクリック)たとえば「売上前年比が 100%を下回っていたらそのデータに色をつける」というように、セルの値によってセルの書式を設定できる機能です。データの入力規則([データ]タブ →[データの入力規則]をクリック)同じ値を何度も入力する場合に、プルダウンメニューから選択できるようにするものです。また、セルに入力できる値を制限することで入力ミスを防ぎます。並べ替え([データ]タブ →[並べ替え]をクリック)たとえば顧客データの分析の基本は、売上の大きい順に並べ替えることから始まります。オートフィルタ([データ]タブ →[フィルタ]をクリック)条件に一致するデータだけを抽出します。ピボットテーブル([挿入]タブ →[ピボットテーブル]をクリック)データ集計の強力なツール。しかし、定期的に作成する資料で使うとかえって効率を落とすリスクがあることには注意が必要です。オートフィル(連続データの起点となるデータを入力したセルのフィルハンドルをドラッグ)数字や曜日など、連続データの入力をラクにします。シートの保護([校閲]タブ →[シートの保護]をクリック)せっかく入力しておいた関数を消してしまったり、壊さないための防御策です。検索と置換(ショートカット Ctrl + H)特定のデータを探したり、文字の修正や削除を一括で行うための超重要機能です。検索のみを行うショートカットとして、 Ctrl + Fも頻繁に使用されます。ジャンプ(ショートカット Ctrl + G)「コメントが入っている」とか「空白である」など一定の条件に合うセルを一括選択して処理します。関数や機能を組み合わせる「工夫」と「アイデア」が一番重要面倒な作業に出会ったら、「ラクに解決してくれる機能はないか」と調べながら使いこなせるようになれば十分です。最初からすべて完全に覚えておく必要はありません。あなたは試験勉強をするわけではありません。わからなかったら調べればいいのです。だれかに聞けばいいのです。関数や機能をすべてマスターしても意味はありません。それらの組み合わせと仕組みづくりの発想、アイデアがなにより大切になります。そして、その仕組みづくりはとても楽しく、おもしろい作業です。狙いどおりに決まったときはとても気持ちよく、仕事が楽しくなります。なお、 Excelは極めて直感的に扱えるようになっているソフトです。画面上部のメニューを探していけば、セルに色をつけたり、罫線をつけたりするのはかんたんにできます。したがって、本書では触っていればそのうち身に着くような基本操作に関する説明は省略しています。

入力するデータはたったの 4種類 Excelを使いこなすといっても、基本的には「正しいセルに、正しい入力をする」ことが基本になります。では、セルに入力するデータにはどんなものがあるのでしょうか?セルに入力するデータは、 4つの種類に分けられます。この 4つの基本をかんたんにおさえておくと、後々困ることがなくなります。 1 数値 0、 1、 2、 3……といった、計算や集計に使われる数字です。数値とは、あとで数値集計、計算に使えるデータです。そのための注意点として、セルに数値を入力する際は「単位」をつけないでください。たとえば「 100000円」や「 10000人」のように単位をつけて入力してしまうと、そのデータは「数値」ではなく「文字列」となってしまい、計算に使えなくなってしまいます。データはあとあと再利用することを想定して入力するものですから、この点に注意してください。また、この再利用性を確保するため、数値は「実際の数値」を入力します。たとえば、数値の単位が「千円単位」だからと実際の 1000分の 1の数字を入力していたり、端数を丸めた数値を入力しているケースがありますが、そうしてしまうとデータをあとあと計算に使えなくなってしまいます。このような数値の「見た目」を整える作業は、セルの書式設定や関数でおこないます。また、 3桁ごとに区切りとなるカンマも、自分で入力せず、書式設定でまとめて表示させるのが効率的です。このように、数値は単位をつけず、再利用できるもともとの値をそのまま入力します。これを「再利用可能データ保持の原則」と呼びます。 2 文字列数値以外のひらがな、カタカナ、漢字、アルファベット、その他記号などの文字です。注意点として、関数の中で文字列を使う場合は、ダブルクオーテーション(””)で囲んで入力する必要があります。【例】 = IF( A 1 >= 80,” A”,” B”)数値の「 80」はそのまま入力されていますが、文字列の「 A」と「 B」はダブルクオーテーションで囲んで入力している点に注目してください。 3 日付・時刻(シリアル値) Excelに日付データを正しく入力するには、「 2014/ 1/ 1」のように、西暦、月、日をスラッシュ(/)で区切って、半角で入力します。日付の入力について特に注意していただきたいのは、「西暦を略さない」ということです(第 5章『日付の超基本』を参照)。時刻データを入力する場合は、「 13: 00」というように、時と分をコロン(:)で区切って半角で入力します。これらの日付や時刻データの実体は「シリアル値」という数値です。その意味では、日付・時刻のデータも数値データの一種と考えることができます。なお、 Excelで扱える日付は「 1900/ 1/ 1」から「 9999/ 12/ 31」までです。 4 数式・関数 Excelでは、さまざまな計算やデータの加工処理を行うことができます。そのような処理をするために、セルに数式や関数を入力することができます。実務スキルを上げていくにあたっては、関数の知識を増やすことが重要になります。関数、数式は、すべて半角英数モードで、イコール記号( =)から入力を始めます。ショートカットを駆使してマウスに手を伸ばす頻度を下げるキーボードなら一瞬で操作できる Excelに限らず、さまざまなパソコン操作はキーボードやマウスを使って行いますが、マウスだといくつかメニュー選択などを経るような操作でも、キーボードでは一発で終えることができます。そういった操作を「ショートカット」と呼びます。ショートカットとは「近道」の意味です。たとえば、[セルの書式設定]を開く際、よくセル上で右クリックメニューから[セルの書式設定]を選択して開くのを拝見しますが、これからはそんなことをしている場合ではありません。その操作は Ctrl + 1というショートカット一発で開けるのです(数字の 1は、テンキーの 1では動作しません)。このように、マウスに手を伸ばすことなく完了できる操作が数多くあります。それらをできるだけ多く身につけるほど、手元のパソコン操作はスピードアップしていきます。ほかにも、たとえば前述の[検索と置換]という機能。 「Excelシートの電話番号が入力されているセル範囲において、ハイフン記号を全部なくしたい」「半角のハイフンをすべて全角に置き換えたい」といった場合に重宝しますが、これは Ctrl + Hのショートカットで起動できます。この機能をマウスで立ち上げようと思ったら、 Excel 2010の場合は次のように最大で 3回の操作が必要になります。[ホーム]タブをクリック →リボン右端にある[検索と選択]を探してクリック →[置換]をクリック[ホーム]タブに[検索と置換]があることを知っていて、スムーズに見つけることができるという前提でも、 3秒はかかります。これでも 3倍のスピードの差が生まれます。もたもたしていたら 5秒以上かかることもありえます。日常的にスムーズにパソコンを使うことが求められるデスクワークにおいて、これは放置しておいていい差ではありません。いわゆる「コピペ」操作ぐらいは Ctrl + C(コピー)と Ctrl + V(貼り付け)でできるようにしておきましょう。この操作でさえ、右クリックメニューから行っている例を散見しますが、そのスピードの遅さも放置しておけるものではありません。これも 10倍以上のスピードの差が出ます。重要ショートカット一覧重要なショートカットをいくつかマスターするだけでも、かんたんに 10倍以上も操作スピードがアップでき、 Excelの基本操作も身につきます。手っ取り早く Excelのスキルを上げたけれ

たければ、まずどんなショートカットがあるのかをひととおり見ておきましょう。以下に、スピードアップのために最低限知っておいていただきたい、重要なショートカットを列挙します。 ・Ctrl + 1 → セルの書式設定を開く ・Ctrl + S → 上書き保存。こまめに押しましょう ・Ctrl + Z → 操作を元に戻す。何か操作ミスがあったら落ち着いて押しましょう ・Ctrl + F → シート上やファイル内で探したい文字列を探す(検索機能) ・Ctrl + H → 複数個所の文字列を一発で修正したり削除したりする(置換機能) ・Ctrl + Enter → 複数セルへ一括入力する ・Ctrl + D → 1つ上のセルを複写する ・Ctrl + R → 1つ左のセルを複写する ・F 4 → 数式の絶対参照を設定する ・Ctrl + F 2 → Excel 2007以降で印刷プレビューを表示する ・Shift + F 11 → シートを追加する ・Alt + Shift + = → オート SUMを実行する ・Ctrl + C → コピー ・Ctrl + V → 貼り付け ・Ctrl + X → 切り取り ・Alt + Enter → セル内で改行する ・Ctrl + Space → アクティブセルがある列全体を選択する ・Shift + Space → アクティブセルがある行全体を選択する(ただし、アクティブセルの入力モードが半角英数である必要あり) ・Ctrl +-(マイナス) → セル、行、列を削除する ・Shift + Ctrl + +(プラス) → セル、行、列を挿入する ・Ctrl + Shift +! → 数値の表示形式を桁区切りにする ・Ctrl + Shift +% → 数値の表示形式をパーセント表示にする「マウスは使うな」は大きなまちがいよく「マウスは使うな」「マウスを使わないほうが仕事は速い」という言葉を見かけますが、マウスはどんどん使ってください。コピペなど頻繁に行う操作は、そのショートカットに慣れておくと、手間は減って作業もスムーズに進みます。しかし、マウスを使わない代わりにタッチパッドでカーソルを操作する、または Altキーのあとにキーを 3つも 4つも押すようであれば、それは最早ショートカット(近道)ではありません。そんなにたくさんのキーをまちがえないように押そうとするなら、マウスで該当のメニューをクリックしたほうが早くてかんたんです。そもそも Excelの効率化において、手元の操作スピードなどほとんど意味はありません。一般的によく使われているいくつかのショートカットを紹介しましたが、もちろん最初からすべて覚えようとする必要はありません。自分がよく行う操作についてのみ、ショートカットを調べて慣れていけば十分です。作ったデータをしっかり守る業務の効率アップのために一番大切なこと「パソコンが固まった! 午前中かけて作ったデータがパーだ……」 Twitterでよく拝見する悲鳴です。なので私は、 Twitterへ次の文章を毎日頻繁に投稿しています。「何度でも言う。 Excel作業時は自動保存設定とこまめな Ctrl + Sで何度も保存して下さい。作業した貴重な時間を無駄にしない為に。お願いです。データが飛んだと言う悲鳴ツイートが毎日後を絶たないのです。」パソコンの状態が不安定になっている場合は、作業中に突然フリーズして、それまでの作業が全部水の泡になってしまうことが少なくありません。また、さまざまな作業をした後、ファイルを閉じるとき、最後になぜか「保存しない」をクリックして閉じてしまい、せっかく入力した内容を失ってしまったという悲劇もよく耳にします。このような事態は、とてもかんたんな作業で対策できてしまいます。上書き保存のショートカット、 Ctrl + Sをこまめに、ことあるごとに押すことです。 Excelの機能や関数をたくさんマスターして、どんなに作業自体を効率化しても、作業した内容を失ってしまっては元も子もありません。フリーズやデータ消失は前触れもなく突然起こり、それまでの数十分、もしかしたら数時間、半日にもおよぶ作業を全部水の泡にしてしまいます。またやり直すことになってしまえば、結果的に仕事の生産性は大きく下がることになります。こまめな上書き保存を心がけていれば、もし突然パソコンがフリーズしてしまったとしても、ダメージは最小限に食い止めることができます。まれに、「バージョン管理が必要な場合もあるので、やたら保存すればいいというものではない」という意見を目にします。しかし、バージョン管理したければ、その都度[名前をつけて保存]によって保存日時などをファイル名に追加しておけばいいだけのことです。そもそも、アプリケーション開発に携わっているのでもなければ、一般的な Excelを使ったデスクワークにおいてバージョン管理が必要なケースがどれだけあるかという話でもあります。最優先に考えるべきは、作業した内容を失わないこと。そのための最もかんたんな対策が「こまめに Ctrl + Sを押す」ことなのです。自動保存の設定も必ずやっておこう同時に、自動保存の設定も行っておきましょう。保存間隔は極力短く、できれば 1分に設定するのが望ましいです。自動保存は、異常終了したときに直前の保存時の状態を回復してくれるもので、突然パソコンが固まってしまって Excelを強制終了したとしても、次にそのファイルを開いた際に復元してくれます。その時、保存間隔を最短の 1分に設定しておけば、より最新に近い状態に復元することができます。自動保存の設定方法は以下のとおりです。[ファイル] →[オプション] →[保存]をクリック →[ブックの保存]にて[次の間隔で自動回復用データを保存する]にチェックを入れる →保存間隔を 1分に設定こうした対策で、それまでの自分の作業を失わないようにする。

それが、何よりも業務効率アップの大前提となる基本なのです。操作をまちがえたら、落ち着いて Ctrl + Zで元に戻す「消しちゃいけないデータを削除しちゃった!」 Deleteキーをまちがえて押してしまうなど、手元の操作が狂ってミスすることは日常的によく起こります。そんなときは、焦らず落ち着いて、ショートカット Ctrl + Zを押しましょう。実行した操作を元に戻すことができます。何かまちがえて操作をしてしまったら、とにかく Ctrl + Zを押してみてください。多くの場合、復元が可能です。ただし、シートを削除してしまったなどの操作は元に戻すことができません。そのような場合は、そのまま保存をしないで一度ファイルを閉じて、ファイルを開き直す必要があります。また、その場合、直近の保存した時点の状態に戻ってしまいます。そのような際に備えるためにも、やはりこまめに保存をすることが大切なのです。中止したいときは Escでセルに何かを入力している途中に、その入力を中止したい場合があります。そこで Enterキーを押してしまうと入力が確定されてしまい、その入力データを Deleteキーで消すなどの手間がかかってしまいます。そのようなときには、 Esc(エスケープ)キーを押すと、入力操作をキャンセルすることができます。さらに、意図しない機能を立ち上げてしまった場合にも、ウィンドウの ×マークをクリックするほかに、 Escキーを押すことで、閉じることができます。おせっかい機能を解除して快適に使えるように 「“ hsi”と入力したら、勝手に“ his”に変換される……余計なことするな!」「英単語を打つと、勝手に最初の文字が大文字になるの、どうにかならないか?」「インターネットの URLを入力すると、勝手にハイパーリンクになるのがうっとおしい……」このように、頼んでもいないのに余計な自動変換をしてしまう機能が Excelにはあります。これらのいわゆる「おせっかい機能」は、その仕様を知らないと本当に腹立だしく、イライラしてしまいます。さらに毎回同じ現象が起こるため、大変な時間のロスを招きます。そのようなイライラを解消するために、「おせっかい機能」を解除する方法を知っておきましょう。それだけであなたは、尋常ではないストレスから解放され、快適に作業できるようになります。「おせっかい機能」や、 Excel全般の使い勝手の問題のほとんどは、[ Excelのオプション]から解決できます。勝手に文字修正をしないようにする入力した文字列を勝手に修正してしまう機能はオートコレクトといいます。これをオフにしておくことで、余計なことをさせなくできます。その他、必要に応じて、「文の先頭文字を大文字にする]や[曜日の先頭文字を大文字にする]などのチェックも外した状態にしておくといいでしょう。自動的にハイパーリンクが貼られないようにする[オートコレクト]の[入力オートフォーマット]タブにて[インターネットとネットワークのアドレスをハイパーリンクに変更する]からチェックを外しておくと、メールアドレスや URLを入力しても自動的にハイパーリンクにならないように設定することができます。これもなかなか不評な「おせっかい機能」なので、必要がなければ外しておきましょう。数字を勝手に日付に変換しないようにする 「1-1」や「 1/ 4」といった表記は、そのつもりでなくても、 Excelが勝手に日付に変換してしまいます。これらをそのまま「 1-1」や「 1/ 4」と記述したい場合は、以下のいずれかの対処が必要です。・先頭にシングルクオーテーション(’)を付けて入力する ・[セルの書式設定]で表示形式を[文字列]にしてから入力する「余計なことするな!」と怒ってばかりいるのではなく、余計なことをしなくなる設定にできないか探してみる習慣をつけましょう。シートの列記号がすべて数字になってしまったら [Excelのオプション] →[数式] →[数式の処理]から[ R 1 C 1参照形式を使用する]を確認してみましょう。

これにチェックが入っていると、シートの列記号の表示が数字になってしまいます。もし、シートの列記号がすべて数字になってしまったら、ここを調べてください。セルの左上隅に色のついた三角形が出るのを消したいセルの数式などに何らかの問題がある場合、セルの左上隅に色のついた三角形でエラー表示が出ることがあります。「問題」と言っても、こちらとしては意図してそういう式にしていることもあり、エラーチェックが不要な場合もあります。その場合は、以下のようにエラーチェックをオフにしてください。 [Excelのオプション] →[数式] →[エラーチェック]をクリック →[バックグラウンドでエラーチェックを行う」からチェックを外す入力中に勝手に予測変換しようとするのをやめてほしい列方向(下方向)へ連続してデータを入力する際に、すでに上にあるセルと同一の文字列で始めるデータを入力すると、すでにあるデータと同じ文字列に予測変換しようとします。場合によっては便利ですが、わずらわしい場合はこの機能も以下のようにしてオフにできます。 [Excelのオプション] →[詳細設定]をクリック →[オートコンプリートを使用する]からチェックを外す「貼り付けオプション」が出てくるわずらわしさをなくすコピペ作業の「貼り付け」時に出てくる[貼り付けオプション]、これも慣れないと邪魔になることがあります。表示させたくないときは、以下のようにしてください。 [Excelのオプション] →[詳細設定] →[切り取り、コピー、貼り付け]をクリック → [コンテンツを貼り付けるときに[貼り付けオプション]ボタンを表示する]のチェックを外すシートタブがなくなってしまったときの対処法まれに、ファイルのシートタブがまったく表示されないことがあります。そんなときは、以下を確認してください。 [Excelのオプション] →[詳細設定] →[次のブックで作業するときの表示設定]をクリック →[シート見出しを表示する]のチェックが外れていないか確認ほかにも、この[ Excelのオプション]ではさまざまな設定ができます。ぜひ、ひととおりご確認ください。いろいろな発見があるでしょう。不可解な動作が起こる原因 TOP 3「スクロールロック」「ナンバーロック」「インサートモード」とその解除方法を知っておく「カーソルキーでセルを移動しようとしても、セルが動かず、画面ごとスクロールされちゃう……」「キーボードで文字を入力しようとしたら、なぜか数字が入力される……」「すでに入力した文字を書き換えようとすると、入力カーソルの次の文字を上書きしてしまう……」 Excelを使っていると、たまに以上のような不可解な動作をすることがあります。これらも非常に戸惑ってしまう現象で、原因を知らないと、こうした状態を解消するためだけに結構な時間をムダにしてしまいます。これらは、それぞれ「スクロールロック」「ナンバーロック」「インサートモード」という状態になってしまっているために起こるものです。原因は、ほとんどの場合、「その状態にするキーを誤って押してしまっていた」というものです。パソコンの機種によって異なりますが、以下の略称と思しきキーを探しましょう。・スクロールロック( Scroll Lock)・ナンバーロック( Number Lock)・インサートモード( Insert)これらをもう一度押すことによって、状態が解消できることがあります。機種によっては、ファンクションキーを同時に押す場合もあります。 Excelファイルを通したコミュニケーションに配慮する作成した Excelファイルを使うのは、自分ひとりだけとは限りません。メール添付で Excelファイルを同僚や顧客、取引先とやりとりするのはよくあることです。その際、ファイルの送り先の相手がそのファイルを開いたときに余計な手間やストレスをかけさせない、ちょっとした配慮を大切にしていただきたいのです。本当に些細なことですが、その程度の些細な配慮もできない人物にいい仕事ができるわけもありません。新規ブックの初期シート数は 1にしておく Excel 2010までのバージョンでは、 Excelファイルを新規作成すると、最初からシートが 3つある状態になっています( Excel 2013からは、 1枚が基本設定になりました)。これで、たとえば 1枚目のシートに表などを作成して、同僚や上司、クライアントにメール添付で送ったとします。受け取ったほうは、シートが 3枚あることに気づき、何も入力されていない 2枚目、 3枚目のシートも確認する可能性が高いです。「何も書いてないシートを残して送ってくるんじゃねえよ……」と相手をイライラさせないように、何も入力がなく使用していない余計なシートは削除するのが望ましいのです。わずかな手間です。しかし、「相手にそのわずかな手間をかけさせない」という気遣いができるようにしたいものです。ただ、削除するのも手間ですし、そもそも忘れてしまいがちでもあります。そこで、以下のようにして、 Excelファイルを新規作成した際のシート数を 1枚に設定しておきましょう。

[ファイル]タブ →[ Excelのオプション] →[全般(基本設定)] →[新しいブックの作成時]をクリック →[ブックのシート数]を 1にして[ OK]をクリックこうした考えに対し、「いずれ Excelのファイルは 3枚以上になることが多いのだから、最初から 3枚ある設定でいいのでは」というご意見を拝見したことがあります。それに対してお聞きしたいのは、「結局使用するシートが 3枚より少なかったときにわざわざ削除する手間、削除し忘れるリスクを残しておくことのメリットは何ですか?」ということです。もっとシートが欲しいときは、 Shift + F 11で一瞬で追加できます。さらに、 Excel 2013では初期シート数はついに 1枚になりました。「最初から 3枚あるほうがいい」という理由は結局何もなかったということです。他人に共有するシートは必ず[印刷範囲設定]を確認 「Excelをメールで送ってくるときは、ちゃんと印刷範囲設定をしてから送ってくれ」これは、じつは私がサラリーマン時代に上司から何度も注意されたことです。そのまま 1ページに印刷しようと思ったら、 3枚ぐらい余計にムダに印刷されて、「コピー用紙の経費がムダだ!」と怒られたものです。 Excelファイルをメールで送信するとき、送った相手がそのファイルの内容を印刷するかもしれません。印刷範囲設定がきちんとなされていないと、 1ページだけ印刷するつもりが、印刷範囲設定上は 2ページに分かれてしまっていて、印刷用紙をムダにしてしまうなどの迷惑がかかります。印刷する側で印刷前に確認することも必要ですが、やはり作成側で設定しておく心遣いがほしいものです。たとえば、以下のような割と大き目な表をシート上で作成したとします。これを、たとえば A 4横 1枚にきちんと収めるには、以下のように設定します。現状では青い点線がページの区切り位置になっているので、このまま印刷するとこの表が 4ページに分かれて印刷されてしまいます。青い点線をドラッグで調整することで、 1枚に収まるように設定できます。ちょっとした手間をさぼるだけで、他人に迷惑をかけるばかりでなく、自分にも余計な手間がかかってしまいます。ぜひ設定を忘れないようにご注意ください。

数式入力の超基本数式を入力する 4つのステップここでは、すべての基本となる、数式の入力について見ていきましょう。かんたんな作業ですが、じつはここから業務効率化の差がついていきます。たとえば足し算の場合、 Excelでは最初にイコール( =)を入力して、必要な数字やセルをプラス記号( +)で結びます。次の手順が基本になります。 ❶半角でモードで入力する(入力する前に入力モードが全角になっていたら、半角モードに切り替える)。 ❷イコール( =)から入力を始める。 ❸マウスやカーソルキーで計算に使うセルを選びながら、数式を入力する。 ❹ Enterキーで確定する。たとえば、 A 1セルに 1と入力されているとき、 = A 1 + 1と入力し、 Enterキーを押して確定すれば、計算式の答えである「 2」が返ってきます。これが「数式」です。そして、入力した数式の結果としてセルに表示される値のことを「戻り値」(もどりち)といいます。関数を使って面倒な入力をシンプルにたとえば、 A 1セルから A 5セルまで、縦に 1、 2、 3、 4、 5と入力されているとしましょう。このとき、この 5つのセルに入った数値の合計を求める最もストレートな方法は、以下の式を入力することです。 = A 1 + A 2 + A 3 + A 4 + A 5この式を A 6セルに入力したら、 A 6セルには「 15」という答えが返ってきます。ただ、この入力方法は非常に面倒くさいです。今回は 5つのセルだけだからまだよかったですが、これがセルが 100個とか 1000個になってきたら、入力だけで日が暮れてしまいますね。そんなときの作業効率化のために、 Excelには「複数セルの合計値を求める」ための手段が用意されています。それが SUM関数というものです。たとえば、 A 6セルに次のように入力すれば、 A 1セルから A 5セルまでの合計値が求められます。非常にシンプルになりましたね。 = SUM( A 1: A 5)これがかけ算なら、今度は PRODUCT関数というものを使えば、同じようにまとめて計算できます。 = PRODUCT( A 1: A 5)このように、数値が A 1から A 100セルまであっても、 A 1000セルまであっても、 A 10000セルまで連続していても、関数を使えば = SUM( A 1: A 100) = SUM( A 1: A 1000) = SUM( A 1: A 10000)というかんたんな入力一発で済んでしまうわけです。このように、さまざまな計算や集計、または文字列操作や加工など、 Excelで厄介な作業をかんたんに済ませるために用意された数式システムが「関数」と理解してください。関数には、かんたんなものからややこしいものまで、また業務によって一生使わないものもありますので、全部覚える必要はありません。自分に必要な関数を探し出して、集中して使いこなせるようになることが一番大事なのです。知らないことが大きな損失を招く第一歩が、関数の知識不足と言って過言ではありません。関数を入力する 5つのステップ関数は、セルの中に必ず半角英数で =(イコール)記号から入力を始め、基本的に次のような構造になっています。このように、関数の構造を表すものを「書式」と呼びます。【書式】 =関数名(第一引数,第二引数…)書式に出てきた「引数」とは、関数に必要な構成要素のことです。複数ある場合はカンマ(,)で区切って入力し、 1つ目から順に第一引数、第二引数…と呼びます。たとえば、 IF関数であれば、以下の構造になっています。 = IF(論理式,真の場合,偽の場合)この場合「論理式」が第一引数、「真の場合」が第二引数、「偽の場合」が第三引数となります。それぞれの関数に、どのような引数を指定すれば目的の結果が得られるかを覚えていくことが、 Excelのスキルを上げることに直結します。 Excel 2007以降では、関数の入力途中に候補リストが出るようになり、 TABキーを使いこなして効率的に関数を入力できるようになりました。ここでは SUM関数を例に、関数を入力する手順を見ていきましょう。 ❹カッコの中に、計算に必要な引数を入力する。 ❺最後にカッコを閉じて、 Enterキーまたは TABキーで確定する。 Enterキーを押した場合はアクティブセルが 1つ下に移動、 Tabキーを押した場合はアクティブセルが 1つ右に移動して、次のセルに入力しやすくしてくれます。効率的にセルの範囲選択をするには「あるセル範囲を選択してください」というお願いをしたとき、うまく操作できないケースをよく見かけます。入力と並んで大事なポイントなので、操作の種類や違いについて理解を確実にしておいてください。単一のセルを選択する場合単純にそのセルにカーソルを合わせてクリックすれば大丈夫です。または、矢印キー使って選択したいセルを選ぶ方法もあります。複数のセルからなるセル範囲を選択する場合その範囲の始点セルでクリックしたまま、終点セルまでマウスを引っ張ります。いわゆる「ドラッグ」という作業です。または、 Shiftキーを押しながら矢印キーを押すと、押した矢印キーの方向に拡大させながらセル範囲を選択できます。データが連続して入力されているセル範囲を選択する場合データが連続して入力されているセル範囲を選択するには、 Shift + Ctrl +矢印キーを利用しましょう。範囲ぴったりに選択することができます。

「参照」を使いこなして計算を自由自在にもともとセルに入っているデータを活用するデータを効率的に入力するのは大事ですが、もともとセルに入っているデータを利用できるならば、いちいち入力する手間が減って便利です。そのために使うのが「参照」です。たとえば、 A 1セルに何かの価格が入力されていて、 B 1セルにその価格の消費税込の金額を計算して出すとします。 B 1セルに入力するのは、次の式です(消費税率 10%の場合)。 = A 1* 1. 1 B 1セルのこの数式は、 A 1セルの値を取ってきて計算を行っています。これが、 B 1セルが A 1セルの値を「参照」しているという状態です。「セルを参照する」とは、このように、あるセルが別のセルに対して「そのセルを見に行っている」「そのセルの値を取りに行っている」「そのセルの値を使っている」といった表現で理解してください。入力した式がどのセルを参照しているのかを確認するには、式を入力したセルを選択して、 F 2キーを押しましょう。参照しているセルが色のついた線で囲まれ、視覚的に確認しやすくなります。 column「参照先」「参照元」という用語は誤解しやすいたとえば B 1セルに「 = A 1」という式を入力した場合、「 B 1セルは A 1セルを参照している」ということになります。そこで、 A 1セルは B 1セルが参照している先だから、 A 1セルは B 1セルの「参照先」であり、逆に B 1セルは A 1セルの「参照元」であるという説明をたまに見かけます。これは、厳密には正しくありません。正しくは、 A 1セルは B 1セルの「参照元」であり、 B 1セルは A 1セルの「参照先」になります。このことは「参照元のトレース」という機能を見るとわかります。これは「現在選択中のセルの値に影響を与えるセルを示す矢印を表示する」というものです。たとえば、 B 1セルを選択して[数式]タブの[参照元のトレース]をクリックすると、次のような矢印が表示されます。この矢印は「 B 1セルの参照元は A 1セルである」という意味です。逆に A 1セルを選択して「参照先のトレース」をクリックすると、次のような矢印が表示されます。知っておくべき演算子参照したセルに入っている数値は、演算したり、つなげたりすることができます。その際に使う記号のことを、「演算子」といいます。以下、 1つずつ見てみましょう。四則演算足し算は「 +」、引き算は「-」、かけ算は「*」(アスタリスク)、割り算は「/」(スラッシュ)を使います。たとえば、 A 1セルに入っている値と B 1セルに入っている値をかけ算したいときは、セルに次のように入力して Enterキーを押して確定します。 = A 1* B 1結合演算子セルの値をくっつけるときに使うのが、「&」(アンパサンド)です。これは「結合演算子」と呼ばれます。たとえば、 A 1セルに入っている値と B 1セルに入っている値をくっつけたいときは、以下のように入力します。 = A 1& B 1この式を入力したセルには、 A 1セルに入っている値と B 1セルに入っている値を結合した値が表示されます。比較演算子 Excelでは、機能や関数で、セルの値によって処理を分けたり変えたりすることができます。たとえば、「テストの点数が 80点以上の場合は A判定、 79点以下の場合は B判定」といったように、テストの点数(条件)によって結果(判定)を分けてセルに入力したい場合があります。この「 ~の場合は」という条件設定を書くために使うのが「比較演算子」です。漢字にすると難しそうですが、基本的には学校で習った「等号」、「不等号」と同じです。 ・> → 左辺が右辺より大きい ・< → 右辺が左辺より大きい ・>= → 左辺が右辺以上 ・<= → 右辺が左辺以上 ・= → 右辺と左辺が等しい ・<> → 右辺と左辺が等しくないたとえば、第 3章で登場する IF関数で、「 A 1セルにある数字

が 100より大きい場合は A、そうでない場合は Bをセルに入力する」という処理を行いたい場合は、次の式をセルに入力します。 = IF( A 1 > 100,” A”,” B”)ここで出てきた「 A 1 > 100」( A 1セルの値が 100より大きいか)という条件設定を行う式のことを「論理式」といいます。式を入れたセルをコピーするときの落とし穴入力した式を別のセルにコピーして使いたいときがあります。その際、ある知識がないと、とんでもなくムダな手間が発生します。たとえば、次の支社別売上一覧表の「構成比」の欄に、構成比を正しく表示する数式を入力するとしましょう。各支社の構成比は、各支社の売上を全社合計の売上で割り算して計算します。ですから、ここではまず C 2セルに「 = B 2/ B 11」と入力します。 ▼ C 2セルに「 = B 2/ B 11」と入力 ※C 2セルを選択 →イコール( =)を入力 → B 2セルをクリック →スラッシュ(/)を入力 → B 11セルをクリック第 7章で解説しますが、[セルの書式設定]によって、あらかじめ C列の表示形式をパーセンテージにしておけば、北海道支社の全社合計売上高に対する構成比が出てきます。では、 C 3セルから C 11セルにも同じように構成比を算出する数式を入力して、各支社の売上構成比を算出してみましょう。そのとき、当然ながらすべてのセルに同じように数式を手入力していては日が暮れてしまうので、 C 2セルに入力した数式を C 11セルまでドラッグコピーして使います。ではそのようにしてみると……次の表のような、よくわからない表示が出てきました。 「# DIV/ 0!」と表示されています。何か計算がうまくいってないようです。では、何が問題なのでしょうか。 C 3セルを選択して、 F 2キーを押してみてください。 【F 2キーの機能】・アクティブセルを編集状態にする。・アクティブセルが別のセルを参照している場合、参照しているセルを色線で囲んで表示する。すると、このセルが参照しているセルは次の図のようになっています。割り算の分子は正しいセル( B 3セル)を参照していますが、分母は本来 B 11セルを参照すべき計算なのに、 B 12セルを参照してしまっています。つまり、分母として指定したいセルがずれてしまっているのです。これはどういうことなのでしょうか?これは、最初に入力した式を下方向にコピーしたのと同時に、参照するセルもいっしょにつられて下方向にずれてしまったために起こる問題です。最初に C 2セルに入力した「 = B 2/ B 11」というセルは、 B 2セルと B 11セルを参照しているわけですが、これは C 2セルからの位置関係で、 B 2セルと B 11セルを「計算に使う分子と分母のセル」だと認識しているのです。つまり、 C 2セルは B 2セルと B 11セルを次のように「式を入力したセルからの位置関係」で認識しているのです。 ・B 2セル → 自分から見て、 1つ左隣のセル ・B 11セル → 自分から見て、 1つ左、 9個下に移動した先のセルそして、この「認識」は、コピーされた先でもそのまま引き継がれます。そのままドラッグコピーすると、 1つ下の C 3セルでは先ほどの画面のように「 = B 3/ B 12」という数式になります。分子である B 3セルは、数式のセルである C 3セルから見て「 1つ左隣のセル」という認識のままで問題ありません。つられて付いてきてくれても問題ないのです。しかし、分母のセルについては、 C 3セルから見て「 1つ左、 9個下に移動した先のセル」ということで、 B 12セルを参照してしまっています。 B 12セルは空白なので、このセルは B 3セルの数値を空白セルの値……つまりゼロで割り算してしまっていることになるのです。数学の基本として、割り算の分母をゼロにすることはできません。そのため、ゼロで割り算したことを示す「# DIV/ 0!」が表示されているのです。このように、式を入れたセルをドラッグコピーすると参照するセルがずれる状態を「相対参照」といいます。 F 4キーと $マークで「絶対参照」にして効率化では、入力した式を下方向にドラッグコピーしても分母のセルが動かないよう固定するにはどうすればいいでしょうか。その答えが「絶対参照」です。以下の方法で式を入力してみましょう。これを知らないと、分母となるセルを 1つずつ打ち直すという、

という、とんでもなくムダな手間が発生してしまいます。必ずおさえておきましょう。ちなみに、セル参照を指定したあとに、 F 4キーを何度か押していくと、次のように $マークの付き方が変わります。 ・$ A $ 1 → 列、行ともに固定 ・A $ 1 → 行のみ固定 ・$ A 1 → 列のみ固定 ・A 1 → 固定しない 「$マークが絶対参照」という意味はご存じでも、 F 4キーでこのように $マークが入力できることをご存じないケースが非常に多いです。必ず覚えておいてください。式を入力したセルを縦方向、横方向にコピーする際に、「行だけ固定したい」「列だけ固定したい」というケースが出てきます。そのような際に、この切り替えを使います。エラー値の種類と意味なんて覚えようとしなくていい先ほど出てきた「# DIV/ 0!」のほかにも、「# NAME?」「# N/ A」など、関数を入れたセルによくわからない表示が出ることがあります。これらは「エラー値」といい、関数の入力で何らかの問題やまちがいがあることを意味しています。エラー値にはいくつかの種類がありますが、それぞれがどのような意味かをわざわざ覚える必要はありません。そのうち、以下のようなことが判別できれば十分です。 ・# N/ A → ( VLOOKUP関数の)検索値がないんだな…… ・# DIV/ 0! → ゼロで割り算しちゃってる…… ・# REF! → 参照していたはずのセルが削除されてるな……エラー値で大事なのは、エラー値を非表示にするテクニックです(第 4章『エラー値を非表示にするテクニック』を参照)。 Excelには 400個以上の関数がありますが、そのすべてをマスターしようとする必要はありません。仕事で Excelを使うなら事前に知っておきたい関数は全体の 5 ~ 10%程度、多くても 50個前後といったところです。その中でも、まず優先して真っ先に知っておいていただきたいのが、以下の 6つの超重要基礎関数です。 ・「条件によって答えを変える」 …… IF関数 ・「今月の売上いくらだった?」 …… SUM関数 ・「その売上は何件の取引?」 …… COUNTA関数 ・「売上の内訳は?……たとえば担当者別に分けて計算したい」 …… SUMIF関数 ・「出席者リスト、何人に ○がついてる?」 …… COUNTIF関数 ・「商品名を入れたら自動的に値段も入るようにできない?」 …… VLOOKUP関数それでは、 1つずつ見ていきましょう。条件によって答えを変える ~ IF関数 IF関数の基本あなたが学校の先生で、「テストの点数が 80点以上なら A、それ以下なら B」と判定したいとしましょう。 B列に点数が入力されているとき、 C列に判定結果を出したい場合は、以下のようにします。

このように、判定対象となるセルの値によって入力する値や式の結果を変えることができるのが IF関数です。 IF関数は、次のような構造になっています。【書式】 = IF(論理式,真の場合,偽の場合)このように、関数の構造を表記したものを「書式」といいます。必ずしもすべての関数の書式を正確に覚える必要はありません。参考までになんとなく意味が読みとれれば、あとは実践の中で関数の使い方に慣れていけば問題ありません。ここで、それぞれの意味を見てみましょう。・第一引数:論理式(条件によって処理を分ける際の条件)※上記の例( B 2 >= 80)の場合、 B 2セルの値が 80以上かどうか・第二引数:真の場合(第一引数の論理式が成立する場合、つまり真だった場合に返す値)・第三引数:偽の場合(第一引数の論理式が成立しない場合、つまり偽だった場合に返す値)つまり、先ほどの式は、「 B 2セルの値が 80以上だったら A、そうじゃなかったら Bを入力!」という命令文になっているわけです。複数の条件を判定するには複数の条件を判定する際は、複数の IF関数を 1つの式に組み込みます。たとえば、「 B 2セルの値が 80以上の場合は A、 50以上の場合は B、 49以下の場合は C」と入力したい場合は、次のような式になります。 = IF( B 2 >= 80,” A”, IF( B 2 >= 50,” B”,” C”))ちょっと長くて複雑に見えるかもしれませんが、単に以下の手順を繰り返しているだけです。 ❶ 最初の論理式( B 2 >= 80)と、その論理式が真だった場合の値( A)を入力する。 ❷ 次の引数で、また IFとカッコはじまりを入力する。 ❸ 次の論理式を書いていく。最後の” C”は、それまでに出てきた論理式のいずれの条件にも当てはまらない場合、つまり「偽の場合」に入力する値として Cを指定しているということです。このように、 IF関数の中にさらに IF関数を組み込むことを「ネスト」と言います。この IF関数のネストは、 Excel 2007以降では 64個まで組み込むことができるようになりました。しかし、あまりたくさんネストしすぎると、自分でも理解不能な複雑な式になってしまうので注意が必要です。そのような際は、 VLOOKUP関数による変換テクニック(第 9章『材料データを一瞬で完成品の表に変換するテクニック』を参照)や、作業列(第 4章『 SUMIF関数で複数の条件がある場合の集計方法』を参照)を用意することで処理を別々のセルに分けるなど、異なる方法を考えましょう。また、 Excel 2016からは、複数の条件分岐をより簡易にした IFS関数が登場しました。次のような書式になっています。【書式】 = IFS(論理式 1,真の場合,論理式 2,真の場合… )上記の例の場合、次のような式で済むことになり、 IF関数のネストが必要なくなります。 = IFS( B 2 >= 80,” A”, B 2 >= 50,” B”, B 2 < 50,” C”)ただし、 Excel 2013以前ではこの関数は使えないので、やはり当面の間は基本であるネストもきちんと押さえておいてください。今月の売上いくらだった? ~ SUM関数 SUM関数の基本 Excelでは、足し算は +記号で行います。 A 1セルと A 2セルを足すのであれば、以下の式で足し算できます。 = A 1 + A 2しかし、足したいセルがたくさんある場合、それを 1つずつ +記号を使って足していくのは、何度も +記号を入力することになり大変です。そこで、複数のセルを足し上げる式の入力作業を簡略化してくれる関数があります。それが SUM関数です。たとえば、 B 2セルから B 11セルの合計を出すには、 B 12セルに以下のように入力します。セル範囲は、範囲の始点となるセルと、終点となるセルをコロン記号(:)でつないだ形で表記されます。 = SUM( B 2: B 11)つまり、 SUM関数のカッコの中に、合計したいセル範囲を入力するわけです。【書式】 = SUM(合計したいセル範囲)連続したセル範囲の合計を求めるには ~オート SUM数量と売上の合計を B 12セルと C 12セルに入れます。ただ、このように連続したセル範囲の合計を出すために、もっと便利な方法があります。それは、オート SUMという、 SUM関数とその合計範囲を自動的に入力する機能を使うことです。オート SUMは、[ホーム]タブにあるオート SUMボタンをクリックしても使えますが、マウスを使わずにオート SUMできるショートカットがあるので、ぜひ覚えてください。わずかな差ですが、知っておくと便利です。 B 12セルを選択した状態で、以下のショートカットを押してください。 Alt + Shift +=すると、先ほどの図のように、合計範囲を自動的に指定した状態の SUM関数が入力されます。さらにこのとき、 B 12セルと C 12セルを同時に選択した状態でこのショートカットを押すと、合計範囲を自動的に指定した状態の SUM関数が、 2つのセルに同時に入力されます。離れた複数セルを合計するにはでは、離れた複数のセルを合計しなければいけないときはどうすればいいでしょうか?そのようなときは、次のように Ctrlキーとマウスクリックを使う方法で、かんたんに式を入力することができます。

すると C 14セルには = SUM( C 2, C 6, C 10)という、合計したいセルがカンマ(,)で区切られて入力された状態の式が入り、時間にして倍以上はスピードアップすることができます。かけ算や文字列結合の入力を効率化するにはこれと同様に、かけ算と文字列結合にも入力を効率化するための関数が用意されています。カッコ内に指定した数値をかけ算するのが、 PRODUCT関数です。たとえば、以下のように入力すれば、 A 1セルから E 1セルの数値のかけ算ができます。 = PRODUCT( A 1: E 1)アスタリスクでつないで式を入力すると以下のようになりますが、それよりもはるかに入力がラクです。 = A 1* B 1* C 1* D 1* E 1また、カッコ内に指定した文字列を結合する関数として、 CONCATENATE関数( Excel 2016以降は CONCAT関数と名前が変わりました)があります。まずは以下のように入力します。 = CONCATENATE(その後、 Ctrlキーを押しながら、つなげたいセルをクリックしていくと、以下のように、つなげたいセルがカンマ(,)で区切られて入力されます。 = CONCATENATE( A 1, B 1, C 1, D 1, E 1)また、 CONCAT関数の場合は、カンマ区切りだけでなく、以下のようにマウスドラッグによる範囲指定も可能になりました。 = CONCAT( A 1: E 1)各セルを&記号でつないだのと同じ結果ですが、つなげたいセルがたくさんある場合はこのほうが入力がラクになりますよ、ということです。今、リストに何件分のデータがある? ~ COUNTA関数「売上」とは金額の合計だけでは語れない先ほど紹介した SUM関数は、最も日常的に使われている関数の 1つですが、数字の分析をするにはこれだけでは足りません。たとえば売上を集計するとき、 SUM関数が出すのは金額の合計です。しかし「売上」というものには、金額以外にもう 1つ、「件数」、「個数」、「客数」という要素があります。つまり、 SUM関数で「売上が 1億円」と出したら、次は「その売上は何件の取引から成り立っているのか?」という数字を出す必要もあるのです。そのために使うのが、 COUNTA関数です。 SUM関数が「指定したセルの数値合計を出す」関数なら、 COUNTA関数は「指定したセル範囲の中で、何か値が入力されているセルの個数(空白ではないセルの個数)を数えてくれる」関数です。たとえば次の図では、 D 1セルにて、 SUM関数で B列の売上金額の合計を出したら、その下のセルで D 2セルにて、次のような COUNTA関数でその売上の「件数」を出します。 = COUNTA( B: B)-1このように、列全体参照にすることで、データ数の変動に対応できる式になっているのが、ここでの大切なポイントです。このあと出てくる SUMIF、 COUNTIF、 VLOOKUP関数でも同様に、列全体参照にすることでメンテナンス性を高める考え方を「列全体参照の原則」といいます(本章『商品名を入れたら自動的に値段も入るようにできない? ~ VLOOKUP関数』を参照)。関数の日本語訳ができるようになろうこれは、以下のような数え方をしているということです。 「A列において、何らかのデータが入っているセルの数(空白以外のセルの数)を数え、そこから 1を引く」なぜ、 1を引くか? A 1セルの「参加者名」と入力されているセルのカウントを除外するためですね。このように、「状況に合わせて、関数から数字を足し引きして調整する」というテクニック・発想が Excelの実務では必須です。このような「関数の日本語訳ができること」は非常に大切です。式がどんな処理をしているか、日本語で説明する習慣をつけておきましょう。なお、ここでご紹介した「列全体の件数から 1を引く」という式は、入力規則においてリスト入力の選択肢の増減に自動対応させる際にも活躍します(第 7章『リスト入力で参照範囲を変更する手間をなくす』を参照)。 COUNT関数との違い COUNTA関数とよく似た関数に、 COUNT関数があります。 COUNTA関数と COUNT関数の違いは次のとおりです。 ・COUNTA関数引数に指定した範囲において、空白以外のセルの数を数える。つまり、何かしら入力されているセルの数を数える。 ・COUNT関数引数に指定した範囲において、数値が入力されているセルの数を数える。つまり、 COUNT関数は数値が入ったセルの数しか数えてくれ

くれないので、文字列が入ったセルの数は無視されるのです。実務ではほとんど COUNTA関数だけ覚えておけば事足りますが、数値データが入ったセルの件数のみを数える必要が出てきた場合には COUNT関数を使えばいいことになります。売上を担当者別に分けて計算したい ~ SUMIF関数 SUMIF関数の基本以下のように、 A列に担当者名、 D列に売上計が入力されているデータがあったとします。このデータをもとに、 G列から始まる担当者別売上表に数字を集計するとしましょう。こうした作業において、今まで以下のような悲惨な事例を見てきました。・電卓で計算して手入力する ・「 = SUM( D 2, D 7, D 12, D 17, D 18)」という具合に入力し、以降の担当者も延々とそれを繰り返すでは、どうすればいいでしょうか?そのようなときに使うのが、 SUMIF関数です。以下、手順を見ていきましょう。 SUMIF関数には 3つの引数があります。・第一引数:集計の基準となる範囲・第二引数:第一引数において指定した範囲で、合計したい行の条件・第三引数:合計したい範囲手順 1で入力した = SUMIF( A: A, G 2, D: D)という式は、以下の処理を行っています。・合計したいのは D列の数値。でも、 D列の数値全部を合計するわけじゃない ・A列において、セルの値が G 2セルの値と等しい行の D列の値だけを合計する実数一覧だけ出して満足してはいけないここで、実数一覧だけ出して満足していてはいけません。数字は、何かと比べることではじめて意味を持ちます。ここでは「構成比」を出してみましょう。

このように、構成比も一緒に出すことによって、各担当者ごとの偏りや貢献度などがより如実に見えてくるようになります。また、 「Aさんはみんなよりもたくさん売っている」というあいまいな形容詞による表現ではなく、 「Aさんの売上は全体の 43%を占めている」と数字で表現したほうが、あなたの説明はより具体的で強い説得力を持つようになります。集計条件が複数になる場合は、次の 2つの方法があります。 ・「作業列」を追加する ・SUMIFS関数を使う SUMIFS関数は、次のような書式になっています。【書式】 = SUMIFS(合計範囲,条件範囲 1,条件 1,条件範囲 2,条件 2…)この条件範囲と条件の上限は、 127個になっています。出席者リスト、何人に「 ○」がついてる? ~ COUNTIF関数 COUNTIF関数の基本次のようなイベントの出席者リストを作っているとします。出席可否欄には ○、 △、 ×の 3つの記号を入力することになっています。では、現在の出席者数は何人か、つまり「 ○の人は何人か」、そして「欠席である ×はいくつあるか」を自動計算するにはどうしたらいいでしょうか? もちろん、毎回数えて E 1 ~ E 3の表に数字を入力するほど時間のもったいないことはありません。そのようなときのために、「 B列において、 ○が入力されているセルはいくつあるか」といったカウントができる関数があります。それが COUNTIF(カウントイフ)関数です。ここでは、 E 1セルから E 3セルにおいて、 B列における最新の ○、 △、 ×の数を自動算出できるようにしてみましょう。つまり、この出席表に追加や変更があったら自動的に各記号の数字も更新されるということです。 COUNTIF関数には、次の 2つの引数があります。・第一引数:数える範囲・第二引数:第一引数で指定した範囲で数える条件指定した範囲(第一引数)の中で、第二引数に指定した値、もしくは第二引数に指定した条件に合致するセルの個数を数えます。担当者ごとの売上件数を出すには前項の SUMIF関数では担当者ごとの売上金額を出しましたが、今度は担当者ごとの売上件数を出してみましょう。 H列の売上計の欄には、前項で紹介した SUMIF関数を使って、担当者ごとの売上計が入力されている状態とします。 I列の「売上件数」という欄に、「その売上は何件の取引によるものなのか」という数字を出してみましょう。この表において、 I 2セルに入る数字は「 A列に G 2セルの値(つまり「氷室」)がいくつあるか」の答えです。これで集計完了です。ここで出てくる数字は、「 A列に各担当者の名前が入ったセルがそれぞれいくつあるか」を数えたものですが、これをビジネスデータとして読む場合は「氷室の売上件数は 5件である」

ある」という具合です。さらに、こちらの図では未入力の状態ですが、各担当者の売上を件数で割れば、 1件の取引あたりの平均売上が出ます。「売上件数では遠藤さんよりも氷室さんのほうが多いのに、売上計が遠藤さんのほうが大きいのは、 1件の取引あたりの平均売上が遠藤さんのほうが大きいことが理由である」といった分析が可能になります。そうしたことから、「氷室さんも遠藤さんレベルまで 1件あたりの販売額を増やせば、より売上額を上げることができる」とわかります。こうしたかんたんな分析だけでも、「そのためには具体的にどのような営業戦略を立てればいいか?」「どのような販促の手法を考えればいいか?」という具体的な戦術を検討するきっかけにできます。この COUNTIF関数は、データのダブりをチェックしたり、指定したデータの有無の確認、セルに特定の文字が含まれているかの確認などさまざまな活用方法がある、極めて便利で重要な関数です。ぜひマスターしてください。複数の条件に合致するセルの個数をカウントする手段としては、 COUNTIFS関数があります。【書式】 = COUNTIFS(条件範囲 1,条件 1,条件範囲 2,条件 2…)商品名を入れたら自動的に値段も入るようにできない? ~ VLOOKUP関数 VLOOKUP関数の基本次のような表の入力作業があるとします。このとき、 A列に商品コードを入力したら自動的に単価の欄にも価格が入ると、当然ラクでいいですよね。ミスもなくなります。しかし、そのような仕組みは、「その商品の価格はいくらか」という情報がどこかにあらかじめ用意されていないとできません。この Excelシートでは、その情報となる表(商品単価マスタ)が右のほうに用意されています。では、 A列の商品コードに該当する単価が B列に出てくるようにしてみましょう。それぞれ、商品コードに該当する単価が入力されています。ここで入力した VLOOKUP関数とは、どのようなものでしょうか。やはり、関数は日本語訳で説明できるようになるのが、理解において重要です。処理を日本語にすると、以下の指示文になります。 「A 2セルの値を、 F列から G列までの範囲の一番左の列(つまり F列)で探し、見つかったらそこから 2列目(つまり 1つ右)のセルの値を入力せよ」ちなみに、 VLOOKUPの Vは、 Vertical(垂直)のことです。「垂直方向に探す」という意味になります。なお、類似したものに HLOOKUP関数があり、この頭文字の Hは Horizontal(水平)のことです。こちらは本書では説明を割愛していますが、ぜひ調べてみてください。 4つの引数の意味と処理の流れカンマ(,)で区切って 4つの引数が指定されていますが、それぞれの意味を見てみましょう。・第一引数:検索値(最終的に入力したい値を取ってくるための手がかりとなる値が入っているセル)・第二引数:検索範囲(一番左の列で検索値を探す範囲。マスタとして利用する範囲)・第三引数:第二引数で指定した範囲の一番左の列から見て何列目の値を入力するか・第四引数:ここはとりあえず 0を入力しておけば大丈夫です( FALSEと入力するのと同じ意味)この関数は、まず、第一引数の検索値に指定した値をある場所で探します。どこで探すかというと、第二引数で指定した範囲の「一番左」の列で探します。上記の例では、第二引数では F列から G列の範囲を指定していますので、その一番左の列である F列で探すわけです。次に、その F列で検索値( B 2セルの場合は A 2セルの値、つまり” A 001″)が見つかったら(この場合は F 3セルにあります)、そのセルから第三引数で指定した数の分だけ右に移動したセルにある値を持ってくるのです。つまりこの場合、第三引数では「 2」が指定されていますから、 F 3セルから数えて 2列目にある G 3セルの値を参照しているわけです。あとは、この表においては、小計の欄に「単価 ×数量」のかけ算の数式を入れておけば、数量を入力するだけで自動的に小計が埋まる仕組みが作れます。見積書や請求書を作る Excelにこのような仕組みを組みこんでおけば、表を作成する作業がラクになりますよね。これが Excel仕事を効率化するための基本です。「列全体指定」でメンテナンスをラクにここでは、第二引数において、 F列から G列の 2列の列全体を指定している点に注目してください。こうすることによって、マスタに新しい商品が追加された際にも VLOOKUP関数が対応できるようにしています。あらかじめ VLOOKUP関数を入力しておき、商品コードに対応する単価を自動的に出すフォーマットを作る際は、このようなメンテナンス性に優れた仕組みを作るようにしましょう。次のように、マスタ範囲だけを指定する式では、商品が増えるたびに VLOOKUP関数を修正する必要が出てきてしまいます。そんなムダなことはありません。 = VLOOKUP( A 2, $ F $ 3: $ G $ 8, 2, 0) SUMIF関数でも COUNTIF関数でも VLOOKUP関数でも、範囲は原則として列ごとに指定しましょう。そうすることで式の作成を効率化でき、運用も効率化できるようになります。これが、 Excel効率化原則の 1つである、「列全体参照の原則」

原則」です。 Excelの関数をひととおり全部知りたい場合には、市販の関数辞典というジャンルの本を見るのが便利です。しかし、 Excelの関数をすべて完璧にマスターしても、それだけでは仕事の役にはまったく立ちません。大事なのは、「単一または複数の関数をどう応用して組み合わせ、目的の処理を実現するか?」という発想です。本章では、いくつかの事例をご紹介しながら、「ビジネスの現場ではどのように関数が使われているか」を見ていきます。これらの事例から学びとっていただきたいのは、個別の具体的なテクニックよりも、その根底にある“発想”です。最初のうちは難しく感じてしまうことが多いと思いますが、慣れてくると、関数の特性を活かし、さまざまな応用により自在に処理を行う仕組みを考えるのが楽しくなってきます。 Excel関数を駆使して仕事を効率化することは、じつにクリエイティブな頭脳作業です。なお、本章で紹介する VLOOKUP関数の応用テクニックについては、 2020年以降の新規バージョンで Excelへの実装が予想される「 XLOOKUP関数」や「スピル」という機能でよりかんたんに代替することが可能になっていくものと思われます。そのほかにも、 FILTER関数や SORT関数など、とても便利そうな関数の実装も発表されており、こうした関数や機能で Excelの使い方が激変するといわれています。では、 Excelユーザーは、こうした新関数や新機能をバージョンアップのたびにマスターしなければならないのでしょうか?答えは、断じて NOです。世の中で使われている Excelは、バージョンが新旧が混在しています。また、企業の現実として、新規バージョンへの移行が積極的におこなわれることも多くありません。つまり、これらの関数や機能を使用できる環境の会社は、当面ごく一部に限られるのが現状です。筆者が 2019年に Twitterで独自におこなった調査では、 3000名の回答者のうち、じつに 16%の方が会社では Excel 2003を使っていると回答されました。それだけの人数の方が、 Excel 2007以降に追加された SUMIFS関数や IFERROR関数などを使えない環境で Excelを使っているわけです。こうした観点から、本書では「下位互換性」を重視して解説しています。セルの中に特定の文字列が含まれているかどうかを判定する世田谷区のお客さんの人数だけ数えるには「顧客データの中から、世田谷区のお客さんの人数だけ数えたい」そのようなとき、どうすればラクに、早くできるでしょうか?ここで必要なのは、以下の 2つの作業です。・セルの中に「世田谷区」という文字が含まれているかどうかを調べる ・「世田谷区」が含まれていたら、別のセルに「 1」を入れるようにするこうすれば、あとは「 1」と入ったセルの合計を出せば、「世田谷区」を含んでいる住所の数を出せますね。このような「セルに特定の文字列が含まれている場合は 1を入れる」という作業は、 COUNTIF関数の応用によって行うことができます。ここでは、 A列に住所が入っているとして、 B列に数字の「 1」を入力するようにしてみましょう。すると、 A列のセルで「世田谷区」と含まれている場合、 B列のセルに「 1」が入ります。ここで出てきた「*」という記号は「アスタリスク」といって、どんな文字だろうと何文字だろうと、これ 1文字で代用できるというもの(いわゆる「ワイルドカード」として使える記号)です。この場合、「『世田谷区』という文字の前後に何文字かの文字が入ってる」ことを意味します。つまり「世田谷区という文字列を含む」という部分一致で文字列を検索できるのです。おさらいになりますが、 COUNTIF関数は、第一引数で指定した範囲において、第二引数で指定した条件に合致するセルの数を数える関数です。今回 B 2セルに入れた関数の意味は次のようになります。 A 2セルにおいて、「世田谷区」を含む値のセルはいくつあるか数える範囲である第一引数には、 A 2という単一のセルを指定しています。そこに条件に合うセルがいくつあるかといえば、答えは 1か 0なわけですが、その答えが「 1」であれば世田谷区という文字列を含んでいる、「 0」であれば含んでいない、という判定になるわけです。あとは、 SUM関数で B列の値を合計すれば、 A列の住所の中で世田谷区を含むものがいくつあるかを出すことができます。世田谷区以外の区も調べるにはここまでは、含まれているか調べたい文字である「世田谷区」という文字を、関数の中に直接入力して調べました。それでは、次のように世田谷区だけではなく、ほかの区も含まれているか調べたいときはどうすればいいでしょうか。それぞれの区の名前を関数の中に直接入力するのでは、 B列から F列までそれぞれ関数を書き直さなければならなくなり、大変面倒で嫌になりますね。ミスも起こりやすくなります。このようなときは、関数の中に調べたい文字列を直接入力するのではなく、セル参照する方法をとります。せっかくこの表には、含まれているか調べたい文字列(区の名前)が行頭に項目名として入力されているのですから、そのセルを参照することで関数の入力作業をラクにすることができます。ここで注意が必要なのは、セル参照で調べる場合は次のように入力する必要があるということです。 = COUNTIF( $ A 2,”*”& B $ 1&”*”)ここでよく、第二引数において、セル番地とアスタリスクをつなげて入力してしまうミスが起きます。理解しやすくするために、絶対参照の $マークを抜いた形で例を挙げると、以下のようなミスをしてしまいがちなのです。 = COUNTIF( A 2,”* B 1*”)これだと、 A 2セルの中に、「 B 1」という文字列があるかどうかを調べることになってしまいます。意図としては「 B 1に入ってる文字列」が含まれているかどうかを調べようとしたわけですが、その場合はアスタリスクと参照セルの指定は分けて、&記号でつなぐ必要があるのです。絶対参照の設定にも気をつけて、 B 2セルに正しく入力できたら、 F 7セルまでの表全体にそのままコピーしましょう。さらに、各区名の件数を出したければ、 B 8セルから F 8セルを選択した状態で、 Alt + Shift + =(オート SUMのショートカット)を押せば出すことができます。ちなみに、 IF関数ではこの処理はうまくいきません。 A 2セルに「世田谷区」が含まれていたら ○、含まれていない場合は ×としたい場合、以下のような式でうまくいかないというご相談を受けることがあります。 = IF( A 2 =”*世田谷区*”,” ○”,” ×”)この場合は、いったん COUNTIF関数で文字列を含んでいるかの判定を組み込む必要があります。 = IF( COUNTIF( A 2,”*世田谷区*”) = 1,” ○”,” ×”)これなら、 A 2セルにおいて「世田谷区」という文字列を部分一致で検索して判定できるようになります。

データから重複をなくす方法どうやって重複を判定するか「テレアポリストに、同じ会社が何個もダブって入ってるんだけど!」とある新規開拓を行う営業部門でのお話です。その部署ではテレアポリストを 10人の営業マンが個別に作り、個別に電話をかけていました。各メンバーは個別にネットなどで営業見込み先の企業情報を集めているわけですが、当然の結果として、複数のメンバーのテレアポリストに同じ企業が入ってしまいます。そのままの状態で一斉にテレアポを開始すると、同じ会社に同じ営業電話が何回もかかることになり、とんでもない迷惑となります。ついに相手を怒らせてしまい「二度と電話かけてくるな!」というクレームを受けてしまった、今後こうした事態を防ぐにはどうしよう……というご相談を受けることが結構多いのです。このような顧客リストなどの管理において、同じデータがダブって入力されているのをチェックしたい場合は、どうすればいいのでしょうか。まず、かんたんな判定方法から見ていきましょう。たとえば、 A列に IDが入っていて、重複の有無を調べたい場合は、以下のロジックで判定できます。・その IDが A列にいくつあるかを数える・その結果が 1つならダブりはなく、 2つ以上ならダブりがあると考える Excelで実現するための手順を見てみましょう。ここでは、 B列に重複の判定結果を出すことにします。これは、 A 2セルと同じ値のセルが A列でいくつあるかを数えています。この結果が 1なら、 A 2セルと同じ値のセルは A列には A 2セルのほかにはない……つまりダブりがないと判定できるわけです。この結果が 2以上なら、 A 2セルのほかにも A 2セルと同じ値のセルがあることになりますから、ダブりがあるとわかります。 ❷データの最下端行までコピーする。今回のように縦方向に既存のデータが連続して入力されているときに、コピーする行数が多くなってくると、その隣の列に入力した関数などをデータの最下端行までマウスでドラッグしてコピーするのは大変です。この手間は、次のテクニックで瞬殺することができます。 B 2セルに式を入力したら、再度 B 2セルを選択し、選択したセルの右下隅にカーソルを合わせてください。すると、通常は白十字であるカーソルが黒十字に変わるので、その状態でダブルクリックしてください。これで、 A列の各セルについて、 A列でダブって入力されていないかを確かめることができます。ダブっているセルを一括で抽出して削除するにはダブって入力されていることがわかったとしても、まだ問題があります。通常、データの重複を確認した後、ダブっているデータを削除して、ダブりがない状態にしたいことが多いわけです。先ほどの方法では、各セルについてほかに重複している値のセルがあることはわかっても、ダブっているセルを一括で抽出して削除することができません。そこで、次のように少し関数を工夫します。 = COUNTIF( $ A $ 2: A 2, A 2) B 2セルに入力した段階では、第二引数に合致するセルを数える範囲を指定する第一引数は「 $ A $ 2: A 2」、つまり A 2セルのみを指しています。この段階では、結果は当然「 1」です。では、このセルを右下角ダブルクリックで最下端行までコピーしてみましょう。すると、以下のようになります。結論からいえば、これで第 1章で少しだけ紹介したオートフィルタ

フィルタで B列が 2以上の行のみを抽出し、抽出された行をすべて削除することで、重複をすべてなくすことができます。 B 2セルに入れた関数の第一引数である「 $ A $ 2: A 2」は、 A 2セルから A 2セルまでを範囲指定しているものです。そして、コロン(:)の手前、つまり範囲の始点のセル参照のみ、絶対参照になっています。すると、このセルを下方向にドラッグコピーした場合、 B 3セルでは「 $ A $ 2: A 3」、 B 4セルでは「 $ A $ 2: A 4」……と、指定するセル範囲の始点のセルは A 2セルに固定されていますが、終点のセルは相対参照なのでどんどん下にずれていきます。第一引数で指定している範囲がどんどん広がっていくイメージです。つまり、 B列の各セルに入力された関数は、自分自身より下の行のセルは参照していないことになります。すると、この B列に現れた各セルの数字は、「それぞれのセルの隣にある値が、 A列で何回目に出てきたか」を表すことになります。結果、「 B列に 2以上の数字が出た A列の値は、それより上の行のどこかですでに同じものがある」ということになり、重複があることになります。したがって、 B列で 2以上のデータをすべて削除すれば、 A列の値に重複はなくなるのです。 column「重複の削除」は使わないように Excel 2007以降から「重複の削除」という機能が追加されました。しかし、これを使うのはおすすめしません。重複していないデータまで削除してしまうバグが発生する事例が確認されているためです。連番をラクに入力する方法 Excelで 1、 2、 3……と続く連番を入力するには、いくつかの方法があります。 1つずつ見ていきましょう。オートフィル機能を使うまずは、オートフィル機能を使う方法です。たとえば、 A 2セルに 1、 A 3セルに 2を入力してある場合、 A 2セルと A 3セルを選択して、下方向にドラッグコピーするだけで、ドラッグした行までの連番が作成されます。「連続データの作成」機能を使う 1からある程度の大きさの数字まではオートフィルで十分ですが、量が多くなると限界が見えてきます。たとえば、 1から 1000までの連番を入力するとなると、オートフィルで延々とマウスのドラッグを行うのは手間ですよね。そのように、大きな数字までの連番を入れるには「連続データの作成」機能を使うと便利です。 1と入力したあと Enterキーを押すと、選択セルは 1つ下に移動してしまいますが、入力確定時に Ctrl + Enterを押すと、選択セルが入力確定したセルにとどまっていてくれます。これで、 1から 1000までの連番を一瞬で入力できます。オートフィルよりははるかに早くてラクです。崩れない連番を作るには以上 2つの方法では、それぞれの数字を固定値としてセルに入力するので、たとえば途中の行を削除したり、行を入れ替えたりすると、連番が崩れてしまいます。そのような操作をしても連番が崩れないようにしたい場合は、 ROW関数を使いましょう。途中の行を削除したり、入れ替えたりしても連番が維持され、いちいち修正しなくてよくなります。次の式を入力したセルには、「そのセルがシートの何行目にあるか」という数字が出ます。【書式】 = ROW()カッコの中には何も入力しません。関数には、このようにカッコの中に引数を書かずに使うものもあることを覚えておきましょう(ほかに、 TODAY関数、 NOW関数などがあります)。たとえば、 A 2セルにこの関数を入力すると、 A 2セルには「 2」が出てきます。 A 2セルはシートの 2行目にありますから、その行数である 2という数字が返されたわけです。これをこのまま下方向にドラッグコピーすると、以下のような 2から始まる連番が現れます。各セルにて「 = ROW()」という式がそのセルが何行目かの数字を出すわけですから、結果としてこのような連番になるわけです。しかし通常、連番は 1から始めたいものです。そこで、この ROW関数から数字を引いて調整します。たとえば 2行目のセル(ここでは A 2セル)から連番を開始する場合は、以下のように入力します。 = ROW()-1これで Enterキーを押すと、行数である 2を取得している ROW()から 1を引いているので、結果としてセルには「 1」が出ます。そのセルを下方向にドラッグコピーすると、連番が現れます。こうしてできた連番は、各セルの ROW関数が常にそのセルが今何行目にいるかを取得していますから、途中行を削除したり行を入れ替えたりしても、常に 1から始まる連番が維持されます。シートの行方向に続く連番を作るにはでは、シートの行方向、つまり右方向へ続く連番を作るにはどうすればいいでしょうか。そのために使うのが、 COLUMN関数です。 COLUMN関数は、次のように入力したセルに、そのセルがシートの左から何列目にあるかを返します。【書式】 = COLUMN()たとえば、 B 1セルにこの関数を入力すると「 2」が表示されます。 B 1セルは B列、つまりシートの左から 2列目にあるから、その数字が返されるわけです。そのまま右方向へドラッグコピーすれば、 2から始まる連番ができます。これを 1から始まる連番にするには、 ROW関数のときと同様、うまく数字を引いて調整してやります。 ROW関数や COLUMN関数で連番を作るテクニックは、以下のようにさまざまな場面での応用で活躍してくれます。・表に 1行おきに色をつけて、見やすい表を作る・アルファベットの連番を入力する・行方向に大量の VLOOKUP関数を入力する作業をラクにするこの後、それぞれご紹介します。

右方向への大量の VLOOKUP関数の入力をかんたんにする方法まちがっても根性を発揮して修正作業をがんばろうとしてはいけない次のようなケースで VLOOKUP関数を入力する場合、普通にやるととても大変なことになってしまいます。「入力表」の各セルに、商品 Noに応じた値を「マスタ」から VLOOKUP関数で引っ張ってくるわけですが、まず通常の方法で最初の C 3セルに普通に入力してみましょう。 = VLOOKUP( $ B 3, $ I: $ N, 2, 0) C 3セルに入力した式を G列までコピーして使うので、参照先がずれないように、第一引数の検索値、第二引数の検索範囲は絶対参照で固定しています。では、これを G 3セルまでドラッグコピーしてみます。すると、以下のようになります。すべて同じ値が入っていますね。なぜなら、 C 3セルから G 3セルまでの各セルに入っている関数は、上記のとおり、第三引数が「 2」になったままだからです。検索範囲である I: N列の左端の列から数えて 2列目の値を参照しています。 C 3セルから G 3セルの各セルにそれぞれ正しい値を持ってくるには、各セルの VLOOKUP関数の第三引数を修正しなければなりません。 C 3セルでは「 2」となっている VLOOKUP関数の第三引数を、 D 3セルでは「 3」、 E 3セルでは「 4」、 F 3セルでは「 5」、 G 3セルでは「 6」に修正すれば、やっと各セルに正しい値を持ってくることができます。 ……けっこう面倒くさいですね。今回のように、修正するセルが 4つ程度であればたいした問題ではありませんが、ビジネスの現場ではこのような VLOOKUP関数の入力と第三引数の修正が 50列に渡るケースもあります。そのようなケースでは、まちがっても根性を発揮して修正作業をがんばろうとしてはいけません。修正すら必要ない、ラクな方法があるのです。コピー先のセルで、適切な数字に変わってくれるようにするここで必要なのは、 VLOOKUP関数の第三引数に 2とか 3といった固定値を入力するのではなく、「コピーした先の各セルにおいて、うまい具合に適切な数字に変わってくれるようなものを入力する」という発想です。最もシンプルなのは、表外上部に第三引数に指定したい数字を入力して、そのセルを参照する方法です。たとえば、 C 1セルから G 1セルに、 2から 6までの数字を入力した状態で、 C 3セルに次の式を入力します。 = VLOOKUP( $ B 3, $ I: $ N, C $ 1, 0) G 3セルまでコピーすると、次のようになります。第三引数において、同じ列にある 1行目のセルを参照しています。つまり、第三引数が C列では 2、 D列では 3という具合に、自動的に変わってくれるわけです。これなら、各セルで VLOOKUP関数の第三引数を入力しなおす手間が大幅に軽減されます。表外に数字を書き出さずに処理を完結させるにはこのケースの場合、「入力表」と「マスタ」の項目の並ぶ順番が同じですから、 VLOOKUP関数の第三引数で指定したい数字も右方向に 1ずつ増える連番の形となりました。このような場合であれば、表外上部に別途数字を書き出さずに処理を完結することもできます。行方向に並ぶ連番は、 COLUMN関数で作ることができます。この COLUMN関数の性質を応用し、 VLOOKUP関数の第三引数に組み込むことで、作業を瞬殺することができるのです。 C 3セルに次の式を入力します。 = VLOOKUP( $ B 3, $ I: $ N, COLUMN()-1, 0) G 3セルまでコピーすると、以下のようになります。第三引数の「 COLUMN()-1」は、 C列では「 2」、 D列では「 3」になっています。 COLUMN関数が出してくれるのは、 COLUMN()と入力されたセルがシートの何列目にあるかという数字です。 C 3セルに入力した VLOOKUP関数において、第三引数に指定したい数字は「 2」です。 C 3セルでは「 COLUMN()」が「 3」になっているので、そこから 1を引いて調整して「 2」にしているのです。 D列から G列でも、同様に「 COLUMN()」で取得した数字から 1を引いた数字が VLOOKUP関数の第三引数となって、正しい項目の値をひっぱってくることができています。

VLOOKUP関数で検索範囲の列順の変動に対応するには入力表とマスタの項目の並び順が違っている場合先ほどの例では「入力表」と「マスタ」の項目の並び順が同じだったために、第三引数が順に 2、 3、 4……という連番となりました。だから、 VLOOKUP関数の第三引数に COLUMN関数を組み込む応用技で、入力作業を効率化できたわけです。しかし、以下のように、入力表とマスタの項目の並び順が違っている、つまり第三引数が順に連番にならないケースでは、 COLUMN関数では各セルの VLOOKUP関数において正しい第三引数の数字を取得できません。この例では、 D列の「単価」は「マスタ」では左端から 6列目、 E列の「生産者」は「マスタ」では左端から 5列目にあります。このような場合でも、 C 3セルに一度最初の関数式を入力すれば、あとは G列までコピーするだけでよくするには、どのような仕組みを考えたらいいでしょうか。 C列の商品名のセルに入力される VLOOKUP関数の第三引数に来るべき数字を考えてみましょう。答えは、 2です。その 2という数字が自動的に第三引数に入ってくれればいいわけです。そのために使うのが、 MATCH関数です。次のサンプルで説明します。上記では、 A 1セルから D 1セルまで入力された各項目名「商品名」「単価」「生産者」「最低発注単位」それぞれが、 F 1から I 1の範囲の中で左からいくつ目にあるか、という数字を A 2セルから D 2セルに出しています。つまり、 A 2セルの例でいうと「 A 1セルの値つまり”商品名”という値は、範囲 F 1: I 1において左から 2つ目にある」ということで、 A 2セルには「 2」が表示されているわけです。 A 2セルでこの処理を行っているのが、次の関数式です。 = MATCH( A 1, $ F $ 1: $ I $ 1, 0) MATCH関数は、第一引数に指定した値が、第二引数で指定した範囲においていくつ目に出てくるかという数字を出してくれます。第三引数は基本的には「 0を入力しておけばいい」と考えておいてください。図では、 A 2セルのこの式を D 2セルまでコピーしています。第一引数は絶対参照にしていませんから、 B 2セルにコピーされた式の第一引数は B 1セル、 C 2セルにコピーされた式の第一引数は C 1セル、 D 2セルにコピーされた式の第一引数は D 1セルになっています。第二引数は、縦一列か横一行の範囲に限られます。・縦方向の範囲を指定した場合第一引数で指定した値が、その範囲の上からいくつ目にあるかを返す・横方向の範囲を指定した場合第一引数で指定した値が、その範囲の左からいくつ目にあるかを返すセル範囲 F 1: I 1においては、 ・A 1セルつまり「商品名」は左から 2つ目にある ・B 1セルつまり「単価」は左から 4つ目にある ・C 1セルつまり「生産者」は左から 3つ目にある ・D 1セルつまり「最低発注単位」は左から 1つ目にあるという状態になっています。この「 2」、「 4」、「 3」、「 1」という数字を出してくれるのが MATCH関数です。これを応用して、 VLOOKUP関数の第三引数に MATCH関数を組み込みます。入力表とマスタとで項目の並び順が違っていても、「入力表の各項目名がマスタの何列目にあるか」という数字を MATCH関数で取得し、それを VLOOKUP関数の第三引数に当て込むことで解決できるようになるわけです。入力表の C 3セルには、次の式を入力します。 = VLOOKUP( $ B 3, $ I: $ N, MATCH( C $ 2, $ I $ 2: $ N $ 2, 0), 0)表全体にコピーすると、以下のようになります。 MATCH関数の処理を解読する見た目は複雑に見えますが、よく解読してみましょう。ポイントは、 VLOOKUP関数の第三引数に組み込まれている MATCH関数(以下の部分)がどのような働きをしているかです。 MATCH( C $ 2, $ I $ 2: $ N $ 2, 0)これは、第一引数に指定した C 2セルの値つまり「商品名」という値が、第二引数で指定した範囲 $ I $ 2: $ N $ 2において、左からいくつ目にあるかという数字を取得しています。この場合、その数字は「 2」になります。この数字は、 C 3セルにおいて B 3セルの値つまり「 1」を検索値とした VLOOKUP関数において、検索範囲である I: Nの左端から何列目の値を持ってこればいいか、という数字と一致するわけです。 C 3セルに入力したセルは G 6セルまでコピーして使うので、参照がずれないように、絶対参照を設定してあります。

同じ検索値が複数ある表で VLOOKUP関数を使うテクニック VLOOKUP関数は最初に一致した検索値のセルを対象にしてしまう以下では、 A列に同じ取引先名が複数入力されており、 B列には担当者名が入力されています。もし、 A列と B列のデータを元に、 E列に取引先ごとの担当者名を順番に入れたい場合、普通に VLOOKUP関数を使ってもうまくいきません。実際に入力してみましょう。すると、 E列には、取引先ごとにすべて同じ担当者名が入力されてしまいます。 ABC株式会社の場合であれば、鈴木、田中、加藤の 3人の担当者名を順に入力したいわけですが、すべて「鈴木」になってしまっています。このように、検索値に重複がある場合、 VLOOKUP関数は上から見て最初に一致した検索値のセルを対象として処理します。 E 2セルも E 3セルも E 4セルも、同じ「 ABC株式会社」を検索値としているので、検索範囲である A列で最初に登場した A 2セルを対象に VLOOKUPを行い、「鈴木」という値を返してしまっているのです。重複がない状態に加工してから処理するこの問題を解決するには、重複データがある A列、 D列のデータをそれぞれユニークな状態に加工する、つまり重複がない状態に加工する方法が考えられます。ここでは、新たにその作業用の列を追加して処理を行います。考え方としては、重複する取引先名のそれぞれに固有の番号を振ることによって固有化していきます。まず、それぞれの表の左側に 2列ずつ、次のように作業用の列( No、 KEY)を追加します。次に、以下の手順で、同じ取引先名のデータそれぞれに、固有の番号を振っていきます。それぞれの式がいったいどのセルを参照してどんな処理をしているのか、じっくり解読しながら読み進めてください。このうえで、 I列に次の VLOOKUP関数を入力すると、それぞれ個別の担当者名が入力されます。 = VLOOKUP( G 2, B: D, 3, 0) COUNTIF関数で各データの番号(登場回数)を設定し、その番号と検索値を結合することによってできた新たな固有の検索値で VLOOKUP関数を使用することにより、正確な結果を得られるようになったというテクニックです。 VLOOKUP関数で検索列より左側の値を取得できるか VLOOKUP関数では検索した列より左側の値を取得できない Excelの最重要関数ともいえる VLOOKUP関数ですが、ここであらためてその書式と機能を見てみましょう。【書式】 = VLOOKUP(検索値,検索範囲,列数, 0)【機能】検索範囲の一番左の列から検索値と同値のセルを探し、そのセルから第三引数で指定した列数目にあるセルの値を返す。「検索範囲の一番左の列から指定した列数目の値を返す」ということですから、「その列より右側にある列の値を返す」ということになります。ここで、素朴な疑問が湧きます。「その列より左側の値をひっぱってくることはできないか?」たとえば、「第三引数をマイナスにすればできるのではないか?」と考える方は多いのですが、それでは無理なのです。では、検索する列より左側の値を取得するにはどうしたらいいのでしょうか。 OFFSET関数とは解決策は、 MATCH関数に OFFSET関数を組み合わせるテクニックです。 OFFSET関数の本質は「基準となるセル

を決め、そこから縦と横にいくつかずつずらした先のセルを参照する」というものです。【書式】 = OFFSET(基準セル,ずらす行数,ずらす列数)【機能】基準セルから、移動行数、移動列数分だけずらした先のセルの値を返す。ずらす行数は、正の数なら下に、負の数なら上にずらす。ずらす列数は、正の数なら右に、負の数なら左にずらす。まず、とてもかんたんな例を 1つ挙げます。 ❶ Excelシートの C 3セルに「 100」と入力する。 ❷どのセルでもいいので、次の数式を入力する。 = OFFSET( A 1, 2, 2)上記の式を入力したセルには「 100」が返されます。基準セルである A 1セルから、下に 2行、右に 2列ずらした先のセル……つまり C 3セルの値(ここでは 100)が、式を入れたセルに返されたということです。 OFFSET関数と MATCH関数を組み合わせるでは、これを使って、検索した列より左側のセルを参照する方法を考えます。以下の表にて、 E 2セルに入力した数字に応じて、 F 2、 G 2セルにそれぞれコースと単価が入力される仕組みを作っていきます。 E 2セルにはあらかじめ 1と入力しておきます。まず F 2セルの「コース」は問題ないですね。普通に VLOOKUP関数で対応できます。 = VLOOKUP( E 2, B: C, 2, 0)ところが、 G 2セルの「単価」は、単価のデータが検索列である B列よりも左側にあるため、 VLOOKUP関数では対応できません。ここで、 MATCH関数と OFFSET関数を組み合わせます。 E 2セルに入力した No.に該当する単価を出すために、 G 2セルには次の式を入れます。 = OFFSET( B 1, MATCH( E 2, B: B, 0)-1,-1) B 1セルを基準に、第二引数の結果である数字の分だけ下に、左に 1つずらした先のセルの値が G 2セルに表示されます。第二引数の MATCH関数は、 B列において E 2セルの値が上から何個目にあるかという数字を調べます。 E 2セルの値が 1である場合、 B列において 1という数字は 2行目にありますから、この MATCH関数の結果は「 2」となります。今回、 B 1セルを基準セルとした OFFSET関数にこれをそのまま組み込むと、 B 1セルから下にずらす数が 2になってしまい 1つずれるため、調整値としてそこから 1を引いているわけです。 OFFSET関数では、第二引数の移動行数、第三引数の移動列数にマイナスの数字を指定することができます。つまり、基準セルよりも上、左のセルを参照することができます。この性質を利用して、 VLOOKUP関数ではできなかった検索列より左側のセルも参照することができるようになるのです。エラー値を非表示にするテクニックエラー値が出たら毎回修正するのは非効率請求書の明細欄や単価などの入力作業において、商品 No.だけ入力したら商品名や単価も同時に入力できる仕組みがあると、非常に作業が捗りますし、入力のミスがなくなって便利です。ここでは、 A列に商品 No.を入力したら、その商品 No.に該当する商品名を表示する VLOOKUP関数を B列に仕込んでみましょう。図のように、「# N/ A」というエラー値が出てきてしまいました。これは、関数の入力をまちがえたのではありません。 A 2セルに 1を入力してみると、商品マスタから該当する商品名を引っ張ってきてくれます。

要は、これから検索値、つまり商品 No.を入力するフォーマットとして関数を仕込んだのですが、 A列が空白の状態だとこのようにエラー値が出てしまうのです。社内のみで使うシートなら、これでも問題ないこともあります。しかし、見積書や請求書の場合は、このようなエラー値が出ていないほうが当然いいですよね。かといって、セルに入っている関数を消してしまっては、また次回使うときに式を入力し直す必要があり、非効率です。式の結果がエラーだったら空白を返すようにするこのような問題は、「式の結果がエラーだったら空白を返す」という処理を行う関数式を組むことで解決できます。このような処理には IFERROR関数を使用します( Excel 2007以降のみ)。エラー値を非表示にするケースは、まず基本となる式を入力した後でエラーが発生する可能性に気づき、加工するケースがほとんどです。ですから、先ほど入力した VLOOKUP関数に組み合わせる形で入力していきます。最終的に B 2セルに入力する式は次のようになります。 = IFERROR( VLOOKUP( $ A 2, $ E: $ G, 2, 0),””) IFERROR関数の第二引数には、「””」とダブルクオーテーションを 2つ続けて入力していますが、これは「空白」を指定しています。 C列には、 B列の式をコピーし、 VLOOKUP関数の第三引数を 3に変えています。 IFERROR関数は、第一引数で指定した関数がエラーだった場合、第二引数で指定した値を返す関数です。今回の場合は、第二引数では空白を指定しているので、「第一引数の VLOOKUP関数がエラーだった場合は空白にする」という設定になっているのです。 Excel 2003以前ではどうすればいいかこの IFERROR関数は Excel 2007以降からしか使えません。 Excel 2003以前の場合は、次のような式で解決します。 = IF( ISERROR(式),””,式) ISERROR関数は、カッコ内に指定した式がエラーかどうかを調べてくれます。式がエラーなら真、エラーでないなら偽を返します。それをふまえてこの IF関数式を解読すると、「第一引数の論理式が真だった場合、つまり ISERROR関数の結果が真だったら第二引数の空白に、そうでなかったら式の処理をそのまま実行せよ」という処理になっていることがわかるでしょう。 SUMIF関数で複数の条件がある場合の集計方法集計条件を入れる「作業列」を追加する SUMIF関数や COUNTIF関数は、条件に一致したセルの合計や個数を数える関数でした。これらの関数で 2つ以上の条件があるような集計を行うには、ちょっとした工夫が必要になります。たとえば以下の表にて、 H 4セルに A列の担当者名が「吉田」、 B列の商品コードが「 A 001」であるときだけ、 D列の売上計の数値を合計する場合を考えてみましょう。 SUMIF関数の第一引数で指定できるのは 1列のみです。しかし現状では、元データには、 1列で担当者名と商品コードの 2つの条件を同時に判別できる列はありません。 A列は担当者名、 B列は商品コードしか判別できません。このような際には、「元データに新たに集計条件とするデータ列を追加する」という工夫が必要になります。そのような作業を、俗に「作業列」や「計算セル」の追加などと呼びます。ここでは新たに、担当者名と商品コードを結合したデータ

データ列を作ってみます。具体的には、次のように作業します。ここでは、絶対参照の設定も大事です。 SUMIF関数の引数指定で各セルを指定する際に F 4キーを何度か押すことで、上記のような $マークがついた状態になっています。ここでは、最初に入力する H 4セルの式を、右方向には M列まで、下方向には 8行目まで、そのままコピーしています。その際に、参照するセルが正しい列や行からずれないように絶対参照の設定をしているのです。わかりやすさを重視しよう Excel 2007以降では、複数条件でも集計できる SUMIFS関数、 COUNTIFS関数が追加され、今回のような例では作業列を追加しなくても集計できるようになりました。しかし、集計条件が多くなってくると引数の指定がややこしくなるので、やはりこのように作業列を設けて処理を分解する工夫が大切になります。また、配列関数や SUMPRODUCT関数でも同様の処理ができますが、やはりわかりやすさという点では作業列を追加して処理することを推奨します。日付の超基本日付は西暦から入力する「社員名簿で各社員の誕生日から年齢を出す関数を使ってみたんですけど、みんなの年齢がゼロとかになってしまうんです」 Excelでの日付の扱い方の基本をきちんと知っておかないと、そんなことが起こります。この章では、日付入力の方法、時刻データの特性について、後で困らないようにあらかじめ知っておくべきことを見ていきましょう。まず、日付入力の基本です。大切な原則として、「日付は西暦の省略不可」というものがあります。たとえば「 2019/ 4/ 1」という日付を入力する場合は、半角モードで、以下のように西暦と月と日をスラッシュ(/)記号で区切って入力してください。 2019/ 4/ 1このとき、西暦を省略して「 4/ 1」と入力すると、以下のようになります。セルには「 4月 1日」と表示され、西暦などは表示されませんが、数式バーには「 2019/ 4/ 1」と表示されています。つまり、西暦を入力しないで月日だけを入力した場合、その日付は自動的に入力時点の西暦、つまり「今年」の日付になるのです。今年以外の日付のつもりで入力した場合、西暦を省略すると、セルへの表示でも西暦が表示さ

れない形式になるので、まちがいに気づきづらくなってしまいます。 Excelでは生年月日から年齢を計算する関数がありますが、その生年月日を入力するときに西暦を入れ忘れてしまうと、すべて入力時点の西暦の日付となってしまいます。今年の日付であろうと今年以外の日付であろうと、日付データを入力する際は、西暦、月、日をスラッシュで区切って入力しましょう。少々面倒ではありますが、まずはこの基本を身につけてください。 column今日の日付や現在時刻をかんたんに入力するには今日の日付をかんたんに入力するには、ショートカット Ctrl +;(セミコロン)が便利です。これを押すと、アクティブセルに今日の日付が入ります。ついでにもう 1つ、 Ctrl +:(コロン)で現在時刻を入力できます。「だれがこんなの使うんだ」という意見をたまに聞きますが、 Excelで会議の議事録などを取る際、発言時間も記録しておきたいケースなどで重宝されています。日付・時刻データの正体とは ~シリアル値 Excelの日付データは基本的に「 2020/ 1/ 1」という形式でセルに表示されますが、この日付データの正体は「シリアル値」という数値です。たとえば、 A 1セルに 2020/ 1/ 1という日付が入っているとき、書式設定により A 1セルの表示形式を「数値」に変更すると、 43831と表示されます。これがシリアル値です。このシリアル値とは、日付を「 1900年 1月 1日を 1日目として、そこから何日目にあたるか」という数値で表したものです。 2020年 1月 1日は 1900年 1月 1日からみて 43831日目なので、「 2020/ 1/ 1」という日付データのシリアル値は 43831なのです。「セルに 1と入力したら、” 1900/ 1/ 1″って出てきた。わけわからん」という話をよく聞きますが、それは入力したセルの表示形式が日付になってしまっていたことによるものです。そのようなときは、そのセルの表示形式を「数値」や「標準」に戻せば、普通に「 1」という表示になおります。実務で日付を扱うに際して、シリアル値を意識する必要はさほどありません。本来日付が入ってるはずのセルに「 42907」などのわけのわからない数値が出てきたら、それは日付を意味する「シリアル値」であり、セルの表示形式が「日付」ではなく「数値」になっているためだと理解して対応できれば問題ありません。関数の解説でも「シリアル値を作る」「引数にシリアル値を指定する」などの説明を目にすることがあったら、シリアル値 =日付だと理解してください。 Excelの内部では日付に関する計算、たとえば日数計算や年齢計算、日付から曜日を出す関数などは、このシリアル値を使って計算しています。たとえば、 2020年 3月 28日から 2020年 4月 3日までの経過日数を Excelで出すとしましょう。 A 2セルに「 2020/ 3/ 28」、 B 2セルに「 2020/ 4/ 3」と入力し、 2つの日付の間の日数を出すには、 C 2セルに次の式を入力します。 = B 2-A 2すると、 B 2セルの日付から A 2セルの日付を引いた結果として「 6」が C 2セルに出ます。 B 2セルの日付データ「 2020/ 4/ 3」は、シリアル値では 43924です。 A 2セルの日付データ「 2020/ 3/ 28」は、シリアル値では 43918です。 2つのシリアル値どうしの引き算、「 43924-43918」の結果として「 6」という答えが出たということです。よくあるのが、 A 2セルに「 20200328」、 B 2セルに「 20200403」という、 Excelでは日付データとしては扱われないがそのデータにおいては日付を意味する 2つの数値どうしを引き算して日数差を出そうというまちがいです。この 2つのデータはあくまでも「 20200328」という数値であり、「 2020年 3月 28日」という日付データではありません。この場合、「 = B 2-A 2」と入力したセルには、この 2つの 8桁数値の引き算結果である「 75」が出てきてしまいます。このような場合は、日付を意味する 8桁数値を日付データに変換してから計算する必要があります(第 6章『文字列操作の超基本』を参照)。時刻を扱うためのポイント時刻データのシリアル値は小数次は時刻です。時刻データは、以下のように時間、分、秒をコロン(:)で区切って入力します。 13: 00: 00陸上競技の記録などの際は秒単位まで入力する必要がありますが、勤務時間の管理など、秒単位で入力することがない場合は、時間と分のみをコロンで区切るだけでも問題ありません。この時刻データにもシリアル値があります。日付のシリアル値が整数だったのに対して、時刻のシリアル値は 0から 1までの小数になります。日付のシリアル値は、 1900年 1月 1日を 1として、そこから 1を足すごとに次の日付を意味します(ちなみに、 Excelで扱える最後の日付は、 9999年 12月 31日です。シリアル値だと 2958465になります)。一方、時刻の場合は、午前 0時 0分 0秒を 0として、そこから 1秒増えるごとに「 86400分の 1」という数字を足します。 1日は 60(秒) × 60(分) × 24(時間) = 86400秒なので、翌日の午前 0時 0分 0秒で 1になるというわけです。【例】・午前 6: 00のシリアル値: 0. 25・午後 12時のシリアル値: 0. 5・午後 6時のシリアル値: 0. 75実務においてはこんなややこしいシリアル値について覚えたり意識する必要もありませんが、これも日付と同様に、表示形式が標準などになっているとわけのわからない小数が出てきます。そのようなときに、「時刻のシリアル値だ」と認識できて、セルの表示形式を時刻に直せれば大丈夫

大丈夫です。誤差が出る点に注意問題なのは、大前提として、コンピュータでの小数点以下の計算では必ず誤差が出るということです。意外なことに、小数が絡む計算において、 Excelは正確な答えを出せません。コンピュータのデータが 2進数で表現されており、表現できない小数点数が存在するため、計算過程で誤差が生じてしまうのです。これは、シリアル値に小数点以下の数値を使う Excelの時刻計算でも同様の問題が発生するということです。たとえば以下では、 B列の開始時間と C列の終了時間との引き算で、 D列に経過時間をそれぞれ出しています。 Aも Bも、経過時間はセル上では 1: 01となっているのですが、この 2つのセルを比較すると、値は違うと判定されています( D 4セル)。この問題は、各時刻データがじつは秒単位までデータを含んでいる場合などの事情も絡み、かんたんな処理方法を知っておかないと非常に厄介です。正しい時刻データを作るには時刻データの処理を詳細に解説してしまうとかえって理解を阻害する……というより、読むのもいやになってしまうほど長くて難解な解説になってしまうので、解決策だけ紹介します。まず、 TIME関数を知っておきましょう。時間、分、秒を指定して時刻データを作る関数です。たとえば「 9: 30: 00」という時刻データを作る関数式は、以下のようになります。 = TIME( 9, 30, 0)逆に、たとえば A 1セルに時刻データ(「 9: 00」など)が入っているときに、そのセルの時刻データから時間、分、秒の数字を取り出すには、それぞれ HOUR関数、 MINUTE関数、 SECOND関数を使います。それぞれ、次の式で、必要な数字を取り出せます。 ・= HOUR( A 1) : A 1セルの時刻の時間数を取り出す ・= MINUTE( A 1) : A 1セルの時刻の分数を取り出す ・= SECOND( A 1) : A 1セルの時刻の秒数を取り出すあらゆる時刻データは、次の関数式を使って、誤差が発生しない時刻データに変換することができます( A 1セルに時刻データが入っていると想定)。 = HOUR( A 1)* 60 + MINUTE( A 1)こうすると、たとえば A 1セルに「 8: 25」と入っていれば「 505」という数値に変換されます。これは「午前 0: 00」から「午前 8: 25」という時刻までの経過時間を分で示した数字、つまり「午前 0: 00」から 505分、という意味の数値になります。このように、小数点以下を含まない整数に時刻データを変換することで、誤差なく計算することができるようになります。先ほどの誤差が出たケースでは、次のような途中処理を加えて解決します。 E列と F列にて、それぞれ先ほどの関数を使って、開始時刻と終了時刻を午前 0: 00からの分数に変換しています。 E列から G列までは、セルの表示形式を「数値」にしています。この変換した数値どうしで引き算した結果である G列の経過分数も、小数点以下を含まない整数なので誤差が生じることはありません。 G 4セルには、この 2つの経過分数が同値かどうかを判定する論理式( = G 3 = G 2)が入力されていますが、結果は TRUE、つまり同じ経過時間であるという判定になっています。日付や時刻を効率的に扱う入力したデータが勝手に日付に変換されてしまわないようにする日付のつもりではなかったとしても、「 1-11」や「 1/ 21」と入力すると、 Excelが勝手に日付データと認識して「 1月 11日」のような表示の日付データに変換してしまいます。そうなってほしくない場合は、以下のいずれかの方法で対処してください。・セルの書式設定の表示形式を「文字列」にしてから入力する・先頭にシングルクオーテーション(’)を入力する参考までに、分数は、以下のいずれかの方法で入力できます。・表示形式を「分数」にする ・「 0 1/ 2」というように、先頭にゼロと半角スペースを入力する常に今日の日付を出す「この請求書、発行日が先週のままになってるぞ!」請求書など、日付と内容だけ打ち変えて使いまわすフォーマットを使っていると、こうした変更忘れなどのミスがよく起こります。そのような事態を防ぐために、常に入力時点の日付、つまり「今日」の日付を自動的にセルに出してくれるのが TODAY関数です。以下のように入力したセルには、常に今日の日付が表示されます。一度入力しておけば、翌日以降に打ち直す必要がなくなります。 = TODAY()

TODAY関数は、納期までの日数や年齢、入社期間などを自動計算するのに欠かせません。 Excelで日付処理を扱うのに真っ先に知っておきたい関数といえます。ただし、請求書などの日付欄に TODAY関数を用いる場合は注意が必要です。この関数は、毎日表示する日付が、その日の日付へと変わります。作った請求書を Excelのまま保存していると、その日付は日ごとに変わります。データとして残しておきたい場合は、 PDFファイルに変換して保存するようにしてください。年、月、日が別々のセルに入力されている場合の対処法「日付は必ず年、月、日をスラッシュで区切って入力」と申し上げましたが、実際にそのように入力するのはかなり面倒です。そこで、「年と月と日を別々のセルに入力して日付データを作る」という工夫が有効な効率化策になります。しかし、年、月、日が別々のセルに入力されている場合は、いったん日付データ(シリアル値)にしないと日付として扱うことができません。つまり、日数や期間、年齢の計算ができなかったり、その日付から曜日を出すことができません。そこで、年、月、日の 3つの数字から日付データつまりシリアル値を作る、 DATE関数を使います。日付を出すセルに次の式を入力します。 = DATE(まで入力したら、 Ctrlキーを押しながら A 2セル、 B 2セル、 C 2セルを順にクリックしていくと、手間なくこのように入力することができます。 = DATE( A 2, B 2, C 2) DATE関数は、第一引数から第三引数まで順番に、年、月、日の数字を入れることにより、その年月日の日付データ(シリアル値)を作る関数です。正式な日付形式になっていない日付を意味するデータを日付データとして計算に使う場合は、まずこの DATE関数で日付に変換する必要があります。日付をたとえ2020年 1月 1日なら「 20200101」といった 8桁数値で管理しているケースもありますが、日付データとして計算に使う場合は、やはり DATE関数を使って日付データに変換しなければなりません。その際は、後述する LEFT関数、 MID関数、 RIGHT関数で、この 8桁数値から年、月、日に相当する部分を抽出して、それぞれ DATE関数に組み込みます。【例】 = DATE( LEFT( A 1, 4), MID( A 1, 5, 2), RIGHT( A 1, 2))このテクニックについては、次章の文字列操作のところでくわしく解説します。日付データから年、月、日を取り出すには逆に、日付データから年、月、日の数字を取り出せる YEAR関数、 MONTH関数、 DAY関数というものがあります。たとえば、 A 1セルに入っている日付データから年、月、日の数字を取り出したい場合は、各関数で以下のように取り出すことができます。 ・= YEAR( A 1) → A 1セルの西暦 ・= MONTH( A 1) → A 1セルの月 ・= DAY( A 1) → A 1セルの日関数を使いこなして日付や時刻の処理をより便利に期日まであと何日……を随時出したいとき顧客管理において、それぞれのお客さんの誕生日や契約更新日など、「ある日付まで、あと何日か」を自動で出してくれるようにすると便利です。次回更新日が入力されている表の「残日数」の欄に、「次回更新日まであと何日……」という日数をリアルタイムで出したい場合は、「次回更新日の日付から今日の日付を引く」という発想で対応できます。たとえば、以下のように入力すると、 B 2セルの日付までの残日数が出てきます。 = B 2-TODAY()これは、 B 2セルの日付データの正体であるシリアル値と、 TODAY関数が出す今日の日付のシリアル値どうしで引き算した結果が出ているわけです。「日付の計算はシリアル値で行われている」ということに、こうした事例からなじんでいただけるとうれしく思います。土日祝を除いた営業日数を出したいとき期日までの日数を、土日祝を除いた営業日数で出したい場合は、 NETWORKDAYS関数を使います。企業においては、むしろこちらの営業日数を数えるケースのほうが一般的になります。前準備として、 Excelは日本の祝祭日など知りませんから、祝祭日一覧表を別途用意しておく必要があります。ここでは「祝日マスタ」シートを用意して、そこに以下のように祝祭日一覧表を作っておきます。このような祝日一覧は、ネットからかんたんに入手できます。 A 2セルに納期の日付が入っているとき、その納期まで、土日祝を除いた営業日数であと何日かを計算するには、「今日の日付」から「その日付までの日数から土日祝の分だけ引いた数」を出せばいいことになります。そのための式は、以下のとおりです。 = NETWORKDAYS( TODAY(), A 2,祝日マスタ! A 2: A 195)この関数の引数は、以下のとおりです。・第一引数:日数計算の開始日・第二引数:日数計算の終了日・第三引数:日数計算から除外する祝祭日が入力されている範囲ここでは「今日から何営業日後か」を出すわけですから、開始日には TODAY関数を当て込んでいます

文字列操作の超基本セル内の文字列の一部だけを別のセルに取り出す Excelが便利なのは、数値の集計だけではありません。セルに入力された文字列を自在に操作するためにも優れた能力を発揮します。ここでは、さまざまなデータ加工に必須な文字列を扱うテクニックをご紹介します。まず、セル内文字列の一部だけを別のセルに取り出すことができる関数をおさえておきましょう。「一部」というのは、たとえば「左から何文字」、「右から何文字」、「途中から何文字」という具合です。それぞれ、 LEFT関数、 RIGHT関数、 MID関数というものを使います。 ・= LEFT( A 1, 3) → A 1セルの左から 3文字が取り出される ・= RIGHT( A 1, 4) → A 1セルの右から 4文字が取り出される ・= MID( A 1, 5, 2) → A 1セルの 5文字目から 2文字だけ抽出する LEFT関数と RIGHT関数は、どちらも第一引数に指定したセルの左もしくは右から、第二引数で指定した数の文字数分だけを抽出します。 MID関数は、第二引数で抽出の開始位置、第三引数で抽出する文字数を指定します。日付を意味する 8桁数値を日付データに変換するこれら 3つの関数の活かし方を、日付を意味する 8桁数値を日付データに変換するテクニックを例に見てみましょう。前章で解説したように、 Excelで日付を扱うには、以下のように、年と月と日をスラッシュ(/)で区切って入力しておく必要があります。 2020/ 11/ 12しかし、企業によっては「 20201112」といった 8桁数値で日付を示すようにしている場合があります。これは日付データではなく、単なる数値データであり、ここから日数計算や曜日を出すなどができません。そのため、これを日付データ(シリアル値)に変換する必要があります。シリアル値を作るには、 DATE関数を使います。「 2020/ 11/ 12」という日付データを作るのであれば、以下のように、第一引数に西暦、第二引数に月、第三引数に日の数字を指定します。 = DATE( 2020, 11, 12)では、この年、月、日の数字を A 2セルに入力されている「 20201112」から取り出すにはどうすればいいでしょうか。次のように考えてみてください。 ・「年」の数字は、 A 2セル「 20201112」の左から 4文字を取り出せば「 2020」となる ・「月」の数字は、 A 2セル「 20201112」の 5文字目から 2文字だけを取り出せば「 11」となる ・「日」の数字は、 A 2セル「 20201112」の右から 2文字を取り出せば「 12」となるこのように、対象となるセル内のデータから一部だけを取り出すために、 LEFT関数、 MID関数、 RIGHT関数を使うのです。 B 2セルに、 A 2セルの左から 4文字を抽出するには、次のように入力します。 = LEFT( A 2, 4)次に、月の数字を出すため、以下のように MID関数を入力して、 A 2セルの 5文字目から 2文字だけ取り出します。 = MID( A 2, 5, 2)最後に、日の数字を取り出すには、 A 2セルの右から 2文字を取り出すため、以下のように RIGHT関数を使います。 = RIGHT( A 2, 2)こうして年、月、日を取り出したら、あとはそれを以下のように DATE関数の引数に指定すれば、この日付のシリアル値ができます。 = DATE( B 2, C 2, D 2)なお、ここまで解説した処理は、次のように 1つのセルでの処理にまとめることができます。 = DATE( LEFT( A 2, 4), MID( A 2, 5, 2), RIGHT( A 2, 2))文字列の左から、または右から指定した文字数だけ、もしくは文字列の途中から指定した文字数だけを抽出する LEFT関数、 RIGHT関数、 MID関数は、文字列操作の基本中の基本です。これを応用することで、さまざまな処理ができるようになります。

文字列をうまく分割する住所から都道府県だけを抜き出す「都道府県から始まる住所を、都道府県とそれ以降に分けなければいけなくなった」これは、文字列分割の基本です。根本的な話をすれば、あとでそういう作業が発生しなくてもいいように、「最初から都道府県だけ別の列として入力する表形式にしておく」などの計画性が大事になります。しかし、もともとつながって入力されてしまっている場合は仕方がありません。そのような場合に備えて、都道府県だけ別のセルに抜き出せるスキルが重要になります。こうした問題は、 Excelの機能や関数にくわしいだけでは解決できません。独自のロジックでさまざまな処理を実現する発想が大切になります。まず、「日本の 47都道府県名はどのようなデータか?」を考えてみましょう。すべて、 3文字か 4文字のいずれかですね。そのうち、 4文字なのは和歌山県、神奈川県、鹿児島県の 3つのみです。 4文字なのは、いずれも「県」で、あとは全部 3文字であることです。このことがわかると、次のようなロジックで、住所のセルから都道府県だけを取り出せるようになります。「住所のセルの 4文字目が『県』という字だったら左から 4文字だけ、そうじゃなかったら( 4文字目が『県』という文字ではなかったら)左から 3文字だけ取り出せばいい」この考え方を Excelの関数に変換すると、次のような式になります。 = IF( MID( A 2, 4, 1) =”県”, LEFT( A 2, 4), LEFT( A 2, 3))これを入力したセルをコピーすると、すべての都道府県名のみが出されます。 「4文字目が”県”」という条件は、「住所のセルの 4文字から 1文字だけを抜き出した結果が”県”」ということになるので、 MID関数で論理式を作っています。この論理式が真か偽かによって、 LEFT関数で抽出する文字数を変える処理を IF関数で指定しています。住所を都道府県と都道府県以降に分けるにはでは、先ほどの表において、 C列に都道府県を除いた市町村以降のみを取り出すにはどう考えたらいいでしょうか。こういうときも、とにかく「考え方」が大切です。「いかにかんたんに考えるか」が大切なのです。同時に、 Excelにはどんな関数があるかを知っておくこと。知らなくても、「こんなことができる関数はないのかな?」と考える姿勢も大事です。まず、住所から都道府県を取り出すときには、「左から何文字取り出すか」という処理を行うために、 LEFT関数を使いました。一方、市町村以降を取り出すには「右から何文字取り出せばいいか」という考え方をするので、 RIGHT関数を使います。次に、この処理で必要なのは、「セル内の文字数をカウントする」関数です。そのためにあるのが LEN関数です。 LENとは Length(長さ)の意味。以下の式は、 A 1セルに入力されている文字数を取得します。 = LEN( A 1)これを知っていれば、アイデアが出てきます。今回の例では、 A列に住所があって、その隣の B列に都道府県だけ取り出されています。この状態で、 C列に都道府県以降を取り出すには、 A列の右から何文字取り出せばいいのでしょうか。答えは以下のとおりです。「住所欄の文字数から、都道府県欄の文字数を引いた数だけ、 A列の右から取り出す」これは、次のような式で実現できます。「 A 2セル内文字列の右から、 A 2セルの文字数から B 2セルの文字数を引いた数の文字数を取り出す」という処理です。 = RIGHT( A 2, LEN( A 2)-LEN( B 2))これを C 2セルに入力し、データの最下端行までコピーすると、すべての住所の都道府県以降を抽出することができます。氏名を苗字と名前に分けるには文字列をつなげるのは結合演算子である&記号でかんたんにできますが、別々に切り離すのは若干大変です。たとえば、以下のように苗字と名前が半角スペースで区切られているとき、苗字と名前で別々のセルに取り出すにはどうしたらいいでしょうか。この場合、半角スペースなどの「区切り文字」(スペースも 1つの文字と考えます)があれば、その前後で別々のセルに分けることができます。手順を 1つずつ見ていきましょう。 ❶苗字を取り出すまず、苗字を取り出します。苗字を取り出すということは、「セル内の文字列の左から何文字かを取り出す」ということですから、 LEFT関数を使います。問題は、取り出す文字数の指定です。ここで必要なのは、「区切り文字は何文字目にあるか」という情報です。 A 2セルの「林誠二」の場合、区切り文字である半角スペースは 2文字目に出てきます。この「 2」という数字が得られれば、その 2という数字から 1を引いた数、つまり左から 1文字を取り出せば苗字が取り出せることになります。言い換えると、以下のとおりです。「区切り文字が何文字目に出てくるかを示す数から 1を引いた文字数だけ、文字列の左から取り出す」これを行う式は、以下の形になります。 = LEFT( A 2, FIND(” “, A 2)-1)第二引数に FIND関数というものを使っている点に注目してください。これは、指定した文字が指定したセルの中で何文字目に出てくるかという数字を出す関数です。なお、””というようにダブルクオーテーションを 2個連続で入力すると「空白」の意味になりますが、””という

ようにダブルクオーテーションの間に半角スペースを入れると、半角スペースを意味します。この式を B 2セルに入力すると、 A 2セルの半角スペースより手前の文字列、つまりこのケースでは苗字だけを B 2セルに取り出すことができます。区切り文字である半角スペースが 2文字目にあるとわかれば、苗字を取り出すために文字列の左から取り出すべき文字数はその数から 1を引いた 1、ということになります。結果、文字列の左から 1文字である「林」だけが取り出されている結果になっています。 ❷名前を取り出す次に名前ですが、今度は右から取り出すことになるので、 RIGHT関数を使うことになります。問題は「右から何文字取り出すか」という設定ですが、これは次のような関数式で取り出します。 = RIGHT( A 2, LEN( A 2)-FIND(” “, A 2)) RIGHT関数の第二引数で、 LEN関数と FIND関数を使って抽出する文字数を設定しています。「 A 2セルの文字数から、 A 2セルにて半角スペースが何文字目にあるかの数を引く」という計算を行っているわけです。このケースの場合、 A 2セルの文字数は 4です(半角スペースも 1文字に数えます)。次に、半角スペースが出てくるのは 2文字目です。 4- 2 = 2ということで、 A 2セルの右側から 1文字だけ取って、 A 2セルの半角スペースより後ろの部分、つまり名前を取り出すことができています。あとはこれを以下の行にもコピーすれば、同様の処理を行うことができます。ただし、この処理は区切り文字がないケース(今回の例ならば、苗字と名前の間に半角スペースがない場合)にはどうにもなりません。その意味でも、最初にデータを入力する際の設計が後で影響してくることになるので、慎重に考えておくことが必要です。原則として、「できるだけ細かく分けておく」のが得策です。つなげるのは後でいくらでもできるのですから。データをきれいに整える文字列が同じかどうかを判定するには手入力で打たれたデータは、形式が不ぞろいになってることが多くあります。それを手作業で同一の形式に整えようと思うと、とんでもない手間がかかります。たとえば、全角で打たれた電話番号。顧客名簿の重複チェックのため、電話番号を基準に、 COUNTIF関数の応用(第 4章『データから重複をなくす方法』を参照)で重複の確認を行うためには、すべての電話番号が同一の形式である必要があります。全角のデータと半角のデータでは、同じ電話番号として入力したつもりでも、 Excelは同一のものと判定できません。以下では、 A列に同じ電話番号が 2つ入力されていますが、 A 2セルは全角、 A 3セルは半角で入力されています。 B 2セルには、文字列が同じかどうかを判定する EXACT関数(以下の式)が入っています。 = EXACT( A 2, A 3) EXACT関数は、引数に指定した 2つの文字列が同一だった場合は TRUE、異なる場合は FALSEを返しますが、結果は FALSE(異なる)となっています。このような場合は、データの形をそろえる必要があります。このような作業は「データ整形」「データクレンジング」などと呼び、いくつかの文字列操作関数が威力を発揮します。全角文字を半角に変換するには全角文字を半角に変換するには、 ASC関数を使います。たとえば、次の関数式で、 A 2セルの全角文字が半角になった状態で出てきます。 = ASC( A 2)特定の文字を削除するには次に、この B 2セルからハイフン(-)を削除した値を C 2セルに出してみましょう。このように、特定の文字を削除したい場合は、 SUBSTITUTE関数を使います。 SUBSTITUTEは、「取り替える」という意味です。 = SUBSTITUTE( B 2,”-“,””)この関数は、第一引数で指定した文字列において、第二引数で指定した文字を、第三引数で指定した文字に置き換えます。この場合、第三引数では””、つまり空白を指定しています。ハイフンを空白に置き換える、つまりハイフンを削除する処理になっているわけです。これらを組み合わせて 1つにまとめると、次のようになります。 ASC関数で半角に変換した文字列において、さらに SUBSTITUTE関数でハイフンを空白に置き換えています。

= SUBSTITUTE( ASC( A 2),”-“,””)これをデータの最下端行までコピーすれば、すべての電話番号を同じ形に整えることができます。文字を効率的に処理するアルファベット 26文字を連続入力したいときは Excelには「オートフィル」という機能があります。たとえば A 2セルに「月」と入力して、下方向にコピーすれば、自動的に月から始まる曜日が連続入力されます。このオートフィル、じつはアルファベットの連続入力ができません。しかし、「項目名として、アルファベットを Aから順番に入力したい」という要望はけっこうよくあります。実現するための方法は 2つあります。 ❶ CHAR関数を利用するまず、かんたんな方法としては、 CHAR関数を利用します。 CHAR関数は引数に指定した文字コードに該当する文字を返します。たとえば、アルファベット Aの文字コードは 65です。つまり、次の式を入れたセルには Aが表示されることになります。 = CHAR( 65)この 65が 66になれば、 Bになります。つまり、この文字コードを 1ずつ増やしながら CHAR関数を連続入力していけば、アルファベットの連続入力ができることになります。たとえば A 2セルから下方向にアルファベットの連続入力を行う場合、引数に ROW関数を組み込んで、次のような関数式を入力します。 = CHAR( ROW() + 63) A 2セルはシートの 2行目ですから、この式の ROW関数は A 2セルでは 2を取得します。それに調整値として 63を足して、「 A」の文字コードである 65になるように調整しているのです。これを入力してコピーすると、アルファベットの連続入力ができます。 ❷ SUBSTITUTE関数と ADDRESS関数を使う次の式なら、 Zの次は AA、 AB……とつなげることもできます。 = SUBSTITUTE( ADDRESS( 1, ROW()-1, 4), 1,””)この式は、ぜひ自分で解読してみてください。これも、 2行目に入力して、下方向にコピーする場合の式です。「ないものは自分で作る」それが大人の仕事の基本です。そして、 Excelの基本機能でできないことを実現する場合にも、まったく同じ姿勢が必要になるのです。ある文字がセルの中にいくつ入っているかを数えるには単純にセル内の文字数を数えるだけなら、 LEN関数で可能です。一方、セル内で特定の文字だけの数を数えるにはどうしたらいいでしょうか。以下のような、 A列に URLを示す文字列が入っているデータがあったとします。このとき、「 A列のセルの中にスラッシュ(/)がいくつ入っているかを、 B列に出したい」ケースではどうすればいいでしょうか。このように、セルの中にある特定の文字がいくつ入っているかを数えるには、まず B 2セルに次のように入力します。 = LEN( A 2)-LEN( SUBSTITUTE( A 2,”/”,””))これをデータの最下端行までコピーすれば、各 URLにスラッシュ記号(/)がいくつ含まれているかを出すことができます。

ここでは、 LEN関数と SUBSTITUTE関数の 2つを使って、 A 2セルに「/」という文字がいくつあるかを出しています。式の考え方は以下のとおりです。 2つの数字で引き算をしています。 A 2セルの文字数 -A 2セルの文字列から「/」の文字を削除したあとの文字数まず、 LEN( A 2)で A 2セルの文字数を出しています。このデータでは、 23です。 LEN( SUBSTITUTE( A 2,”/”,””))の部分では、 LEN関数の引数として SUBSTITUTE関数が組み込まれています。これは、 SUBSTITUTE関数によって、 A 2セルからスラッシュ(/)を空白に置き換えた後の文字数、つまり A 2セルからスラッシュを削除したあとの文字数を LEN関数で出しているということです。 A 2セルの場合、数字は 21です。この 2つを引き算して出た「 2」が、 A 2セルに含まれているスラッシュ(/)の数になるというわけです。 「Excelで仕事をする」とはそもそもどういうことか仕事において、 Excelで具体的に何をするのかを極めて単純化すると、「表を作る」ことに集約されます。会議資料であれ、請求書であれ、経理データであれ、仕事の成果物として完成させなければならないものの多くは「表」の形を取っています。そこで大事になるのが、「では、どんな表を作ればいいか?」を考えることです。この「 Excelで表を作る」という作業を効率化するために大切な原則が、「インプット、マスタ、アウトプットの原則」です。第 9章でくわしく解説しますが、ルーティンワークとなる Excel資料作成を効率化する場合、 Excelファイルのシート構成は大きく分けて「インプット」「マスタ」「アウトプット」の 3種類に分かれるという原則です。データベース形式の 7つのルールまず、「インプット」と「マスタ」は、「データベース形式」である必要があります。 Excelでデータ集計や分析をスムーズに行うには、その材料となるデータを「データベース形式」と呼ばれる形で蓄積しておくことが大前提となります。集計や分析すべきデータが正しい形式で蓄積されていなければ何も始まらないわけです。これが「データベースファーストの原則」です。まずデータベース形式の材料データの蓄積がありき、という考え方です。そして、この「データベース形式」は、並べ替えやオートフィルタ、ピボットテーブルなどの「データベース機能」(本章『並べ替え・オートフィルタ・ピボットテーブルが正しく動作する条件を把握する』を参照)がきちんと正常に動作するための条件でもあります。その原則を押さえておきましょう。 ・1行目に項目行がある ・1行 1レコードの原則 → 1行目に項目行があり、 2行目以降は各項目に対応したデータが 1行 1件( 1レコード)の形で縦方向に羅列されている状態です。 ・1セル 1データの原則 → 1つのセルに複数のデータ、情報を入力してはいけないということです。 ・1列 1データ型の原則 →各列のデータはそれぞれ、同じ型のデータで統一されている必要があります。データの型とは「日付」や「数値」などのデータの種類を指します。たとえば、数値が入っているべき列に文字列が混じってしまっていることがないように整える必要があります。・セル結合禁止の原則 →データベース形式表においてセル結合を行うと、「並べ替えができなくなる」などさまざまな不具合の元になります。・周囲に余計なデータの入力されたセルがくっついていない(周囲から独立したセル範囲である)・途中に空白列、空白行がない

1行目に設定する項目はできるだけ細分化しておくこのとき、 1行目に設定する項目はできるだけ細分化しておくと後々助かることになります。たとえば、住所の欄なら都道府県とそれ以降を分けて入力することで、顧客の都道府県別分布数を計算する際などに作業がラクになります。別々のセルのデータを後からつなげることは&記号や CONCATENATE関数( Excel 2016以降では CONCAT関数)でかんたんにできますが、 1つのセルの内容を 2つに分けるのは少々手間がかかるためです。場合によっては、関数などでの処理では分けることができず、手作業で大変な思いをして分けるハメになる恐れもあります。このようなデータベース形式の表が顧客や売上などの管理に活用されることになります。その表を材料にさまざまな分析データ資料を作成し、仕事に活かしていくのです。すでにデータが入力された表を使って新しく資料を作る一方、ダウンロードしたデータや蓄積してきたデータをもとに加工・集計を行い、目的に応じた資料を作る作業では、ただ関数を入力するのではなく「どんな材料から、どのような完成品を作るのか」を整理して考える必要があります。 Excelでデータ分析資料を作成するときの基本は、次の 3つです。 ❷項目を再設定する「日別の数字を月別に集計」「都道府県別の数字を地域別に集計しなおす」など、多くの場合は、分析の目的に応じて、細かい単位の項目を大きい単位の項目に変換します。これは、変換マスタを用意したうえで、 VLOOKUP関数によって行います。さらに、そこに前年比、予実比、構成比など、現状分析に必要な項目を加えていきます。どのような項目を加えるべきかについては、第 9章で説明します。 ❸定期的に作成・更新する資料では、関数を表に入れたフォーマットを作成しておく定期的に何度も作成・更新する資料では、発生するコピペ作業の手間とそれに伴う貼りつけまちがいなどのミスを犯すリスクが大変大きくなります。あらかじめ表のフォーマットを確定し、表に入力しておいた関数による自動集計でその表を埋める仕組みを整えることで、材料データを所定の場所に貼り付けるだけで表が完成するようにしておくのが鉄則です。具体的には、 SUMIF関数、 COUNTIF関数を駆使することになります。具体的な手順については第 9章で解説しますが、原則として、ピボットテーブルやオートフィルタを多用している作業は大幅に改善する余地があると考えてください。多くの場合、関数による処理に変更することで大幅な効率化、省力化が期待できます。ここからは、以上の注意点をふまえたうえで、表作成の作業を効率化するための機能やテクニックをご紹介していきます。「条件付き書式」で見やすい表を一瞬で作る前年比が 100%を下回っていたらセルを赤くするには企業が売上などの業績を判断する際、最も一般的に使われる指標が「前年比」です。今年の売上は、昨年より何パーセント上がったのか。または下がったのか。下がったのなら、何が原因で下がったのか。そういったことを検証し、原因を特定して、対策を講じていきます。そのために、「前年比の数値が 100%を下回っていたら、そのセルを塗りつぶす」などの処理で前年比を強調表示した資料を作ることが多くあります。そのような書式設定の操作を手作業でやっていたら大変です。そうした作業を自動化してくれるのが、「条件付き書式」という機能です。これは、セルの値によってセルの書式を変えられるというものです。ここでは、前年比が算出されている E 3セルから E 11セルにおいて、セルの値が 100%を下回っていたらそのセルを赤で塗りつぶすように設定してみましょう。

このとき、[次の数式を満たす場合に値を書式設定]ボックスの中を 1回クリックしてから、シート上であらかじめ選択していた範囲の中で 1つだけ白くなっていた E 3セルをクリックします。すると、「 =$ E $ 3」という絶対参照形式で入力されるので、 F 4キーを 3回押して $マークを外します。その後、キーボードから続きの式を入力してください。論理式が真の場合にどのような書式にするかを設定します。一瞬かつ自動でできてしまう作業をがんばって手作業でやってしまわないよう、基本機能の存在をきちんと知っておくことが大切です。知らなかったとしても、「もっとラクな方法はないか?」と探そうとしてみることが大切です。表に 1行おきに色をつけて見やすい表を作成するには条件付き書式を使った応用例として、以下のように 1行おきに色がついたボーダー柄の表にしておき、見やすくなるようにしてみましょう。もちろん、この作業も「 1つ 1つ、手作業でがんばろう」なんてことはまちがっても考えてはいけません。面倒な作業はラクしてかんたんに瞬殺で済ませようとする「前向きな怠惰」の思想を絶対に忘れないでください。このケースでも、アイデアが大事です。機能としては条件付き書式を使うのですが、「 1行おきに色をつける」ためにはどのように条件を設定すればいいでしょうか?答えは、「奇数行のみ、もしくは偶数行のみに色をつける」と発想することです。そうすれば結果的に、 1行おきに色がつきます。たとえば奇数行に色をつける場合、表内の各セルに対して、「そのセルが奇数行だったら色をつける」ように設定します。そのセルの行数は、 ROW関数で取得できます。その ROW関数で取得した行数が奇数かどうかは、「その数を 2で割ったあまりが 1なら奇数である」という考え方で判定できます。以下、手順を見ていきましょう。 ❷[ホーム]タブ →[条件付き書式] →[新しいルール]をクリックする。 ❸[数式を使用して、書式設定するセルを決定]を選択する。 ❹ボックス内に次の論理式を入力する。 = MOD( ROW(), 2) = 1 ❺[書式] →[塗りつぶし]タブで好きな色を選んで[ OK] →[新しい書式ルール]にて[ OK]をクリックする。これで、 1行おきに色がつきます。ここで出てきた MOD関数は、第一引数で指定した数を第二引数で指定した数で割り算した際の「あまり」を出す関数です。以下の論理式は、指定したセル範囲の各セルにおいて「 ROW関数で取得した数を 2で割ったあまりが 1だったら」という条件式を意味します。 = MOD( ROW(), 2) = 1そして、選択した範囲においてこの論理式があてはまるセルに色をつけるように設定したわけです。

セル内改行と罫線で注意すべきことセル内で改行する方法と、改行したデータに関する注意表を作るとき、特に項目名が 1行ではセルに収まりきらないときは、改行して入力したいことがあります。 Excelのセルの中でテキストを改行するには、改行したいところで次のショートカットを押します。 Alt + Enterまちがっても、スペースをたくさん押して改行したように見せかけるようなことをしないよう、必ず覚えておいてください。ただし、改行したセルの値は、改行する前のセルの値とは異なるデータになってしまう点に注意してください。以下では A 2セルと B 2セルに「すごい改善」と入力していますが、 B 2セルのほうは「すごい」の後に Alt + Enterを入力して改行しています。 C 2セルにはこの 2つのセルの値が同一かどうかを調べる EXACT関数を入力していますが、その結果として FALSEを返しています。つまり、この 2つのセルの値は違うものということです。そのため、たとえば VLOOKUP関数の検索値、検索範囲などに使用する値を改行する際は注意が必要です。どちらかだけを改行してある場合、処理がうまくいかなくなってしまいます。これは、このショートカットによって「改行コード」というものを入力していることが原因です。セル内改行をなくす 2つの方法このセル内改行をなくす方法は 2つあります。 1つめは、 CLEAN関数を使う方法です。たとえば、以下の式を入力したセルには、 A 1セルの改行をなくした値が返されます。 = CLEAN( A 1)もう 1つは、置換機能を使うことです。たとえば、 A列のセルの改行を一気に解消したい場合、次のように操作します。 ❶ A列を選択し、 Ctrl + Hで置換を起動する。 ❷[検索する文字列]ボックス内を一度クリックしてから、ショートカット Ctrl + Jを押す(ボックス内には何も表示されませんが、気にせず続けてください)。 ❸[すべて置換]をクリック →[閉じる]をクリックする。罫線は全部 1種類で済ませる。線の種類にこだわらない。 Excelで表を作るのに欠かせないのが罫線です。 Excelの罫線の種類には、普通の実線のほかに、破線、太線などあります。ただし、効率面を考えるなら、いろいろ種類は使い分けず、すべて同じ普通の実線にしておくことをおすすめします。たとえば、次のように項目セルは実線、それ以下の行の罫線は破線などにすると、たしかに表の見た目がすっきりし、見た目のメリハリが出る効果はあります。しかし、この見た目のわずかなこだわりは、仕事の成果を左右するほどのものではありません。さらに、この状態でたとえば D 2セルに数量 ×単価の計算をする数式「 = B 2* C 2」を入力して、 D列の一番下のセルまでドラッグコピーすると、書式もいっしょにコピーされてしまい、せっかく破線にしておいた罫線がすべて実線になってしまいます。このとき、書式はコピーせず数式をコピーするテクニックはあります。(「形式を選択して貼り付け」機能、 Ctrl + Enterで複数セルに同時入力、右クリックをしながらのドラッグコピーなど)。しかし、それらをわざわざ使うこと、さらにそもそも罫線を破線に設定するという 2つの手間を発生させることに仕事上大きな意義があるとは言い難いのです。この観点から、基本的には罫線はすべて実線の一種類で作っておいたほうが、総合的には仕事の効率が高まります。資料の見た目と仕事の成果に、さほど大きな因果関係はありません。見やすくても、中身がなければその資料は無意味なのです。見た目にこだわるのは、もう少し後でも大丈夫です。仕事の優先順位をまちがえてはいけません。

「データの入力規則」を活用し、ムダとミスを減らす「データの入力規則」を使う 2つのメリット仕事の効率や生産性を上げるために大事なことの 1つが、「ミスをなくすための仕組みづくり」です。ミスが出れば、そのリカバリーのために本来はかけなくて済んだ時間や労力が必要になり、生産性を落とすわけですから、ミスの発生率を下げる努力はそのまま生産性の向上につながります。そのための重要な機能に「データの入力規則」があります。この機能の活用には、大きく分けて 2つのメリットがあります。・入力作業を効率化できる・入力ミスを防止できるたとえば、いくつかの選択肢の中から同じデータを何度も入力する必要がある際などは、入力するセル範囲に「リスト」入力を設定し、プルダウンメニューから入力したいデータを選択して入力できるようにすることで、入力作業を効率化することができます。このリスト入力を使用することによって、同じデータは毎回必ず同じ文字列で確実に入力できるというメリットが生まれます。たとえば、同じ会社名を入力するときに「 ○ ○株式会社」と入力されていたり「 ○ ○(株)」と入力されていたりというように、同じ会社を指すデータでも入力された文字列に相違がある(「表記のゆれ」といいます)ことがあります。その場合、データの集計や処理においてその 2種類の会社名データが同一の会社名だと Excelは認識できず、集計などの処理上においてさまざまな不具合や不都合を起こすことになります。さらに、セルに入力できる値を制限することで、入力ミスを防止できるようになります。セルに入力できる数値を制限するには第 5章でお伝えしたように、日付を入力する必要がある場合は、「 2020/ 1/ 1」という形式で西暦からきちんと入力する必要がありますが、それは非常に面倒な作業です。さらに、現実にそのシートに入力する人がすべて日付入力の基礎をわかっている人だとは限りません。そこで、日付を入力する表を作る際は「年、月、日の数字を別々の 3つのセルに入力し、その 3つのセルを参照する DATE関数で日付を作る」という仕組みを作ることで、日付入力がラクになります。これだとスラッシュを入力する手間も省けて、入力が終わるのが早くなります。さらに、これなら「だれが入力してもミスが起きないようにする工夫」もできています。前述しましたが、作ったファイルをほかの人も使うことがある場合、日付データは西暦からきちんと入力する必要があることを知らない方も当然いらっしゃいます。そのような方でも正しい日付データを入力できるような形式を考えることで、自分の仕事もスムーズになるのです。上記の表では、 A 1セルに年、 A 2セルに月、 A 3セルの日の数字を入力すれば、 A 6セルの DATE関数が A 1、 A 2、 A 3セルを参照して日付データを作ってくれる仕組みになっています。さらに、 B 6セルでは A 6セルの日付を参照する TEXT関数で曜日を出しています。このとき、たとえば月を入力するセルには 1 ~ 12以外の数字を入力してしまってはいけないわけです。入力できる値を制限する場合は、以下のように操作します。このように設定された A 2セルには、 1 ~ 12以外の数値を入力しようとしても以下のようなアラートが出て、入力ができません。このようにして、誤入力を防げるのです。アラートのテキストを変更するにはアラートに出てくるテキストは変更することができます。たとえば「 1 ~ 12の数字を入力してください」というようにアラートが表示されたほうが、まちがえた方にとってもよりわかりやすくなりますね。そのような配慮も、仕事をスムーズに進めるためには大切です。手順は以下のとおりです。この設定をした後、再度 1 ~ 12以外の数値を入力しようとすると、今度は先ほどの設定画面で入力したとおりのアラートが出てきます。入力モードを自動で半角英数に切り替えるには先ほど説明したケースでは、 A 2セルに入力するのは、半角英数の数値でした。このセルを選択したときに、入力モードが全角になっている場合、英数字を入力しようとすると全角で数字が入力され、いったん変換状態になるので、 Enterキーを 2回押す必要が出てしまいます。ちょっとわずらわしいですね。こんなとき、 A 2セルを選択したら、必ず自動的に入力モードが半角英数になってくれる

とスムーズです。また、 A列に名前、 B列にメールアドレスという一覧を作成する際、日本人の場合は A列には通常全角日本語で名前を入力しますが、名前を入力した後に B列に移動したら半角英数モードに切り替えて入力することになります。そのような際にも、 B列のセルを選択したら自動的に半角英数モードになるように設定しておくと、わざわざ手動で入力モードを切り替える必要がなくなり、入力作業がスムーズになります。実現する手順は、以下のとおりです。これで B列のセルを選択すると、自動的に半角英数モードになります。[日本語入力]欄で[オフ(英語モード)]を選んでも、セルを半角英数モードにすることができます。しかしその場合は、「半角/全角」キーなどのキーボード操作によって、入力モードを日本語モードなどに切り替えることができてしまいます。一方、これが「無効」の場合は、この設定を変えない限り、キーボード操作では入力モードを半角英数から変更することはできません。「半角英数以外での入力は絶対不可」というように制限を強めたいかどうかで、使い分けることになります。セル結合による非効率地獄をなくす「セルの結合だけは絶対にしないようにしてください」私の Excelセミナーで毎回必ず申し上げていることです。いったい何がそんなに問題なのでしょうか。スムーズな数式のコピーをセル結合が妨げるセル結合には、 2つの問題があります。 1つめは、スムーズな数式のコピーを妨げるというものです。次の表を見てください。この表は、 C 3: F 8の範囲に SUMIFS関数を入力することで完成する集計表です。しかし、 1行目と A列の項目セルが結合されてしまっており、 SUMIFS関数の参照セルは図のような状態になります。最初に C 3セルに入力した式を、 C 3: F 8まですべてのセル全体にそのままコピーできたらラクですが、この表では 1行目と A列のセル結合がそれを妨げてしまっており、 C 3: D 4までしかコピーできません。それ以上の範囲までコピーしても、その後 5回も式を修正しなければならなくなり、大変面倒です。 Excel作業をスムーズにするコツの 1つとして、「コピー可能数式の原則」と私が呼んでいるものがあります。「式を入力するセルは最初の 1つだけ。あとはコピーで広げられるようにしておくとラク」というものです。次のようにセル結合していない表だったら、最初に C 3セルに入力した式を C 3: F 8までそのままコピーして使えるわけです。この原則において、最大の役割を果たすのが「絶対参照」です。数式だけではなく、表組みにおいてもスムーズに項目のセルを参照して使えるような工夫、配慮が必要になります。ちなみに、この表は 1行め、 A列では同じ値が繰り返し出ており、これでは見づらいので、最終的には 1つめだけ残し、 2つ目以降は文字色を白にするなど、表としての体裁を整えると見やすくなります。この工夫の詳細は、第 9章の『材料データを一瞬で完成品の表に変換するテクニック』に記載があります。データベース機能がセル結合で使えなくなるセル結合の 2つめの問題は、データベース機能が使えなくなることです。データベース機能の代表的なものを挙げると、並べ替え、オートフィルタ、ピボットテーブルの 3つです。次の上の表ならばデータベース機能が使えますが、下のようにセル結合してしまっては使えません。データベース形式の表について認識しておくべきことは、「見るためのものではない」ではないということです。今後の集計や分析のために、使いやすい形式でただひたすらデータを貯めておくためのものです。ですから、見やすさのためにセル結合しようなどと考える必要は一切ないわけです。 「Excel方眼紙」という問題人がセル結合を行う大きな動機の 1つが、「見やすい表を作りたい」ということです。たとえば、以下のように複数の入力欄や表を 1枚のシート上に作ろうとすると、どうしてもセル結合をしたくなります。「一度形を決めたらもう二度と変更しない」というならこれでも別にいいのですが、なかなかそうもいかないのが現実です。

このようにセルの幅を狭めて方眼紙状にしたうえで、セル結合を多用することで自在に入力欄を作っていく方法は、俗に「 Excel方眼紙」と呼ばれ、非常に多く散見されます。しかし、これは決してこれはおすすめできない Excelの使い方です。たとえば、日付の欄を 1行下にドラッグでずらそうとすると、「この操作は結合したセルには行えません。」と出るなど、とかく使い勝手が悪くなるためです。 「1シート 1表の原則」で自在にレイアウトする方法では、どうすればいいか。まず、最初から 1枚のシート上に複数の表や入力欄を直接レイアウトしようとするのでなく、それぞれ個別のシートで別々に作ります。複数の入力欄や表どうしの列数や行数、列幅や行高などの兼ね合いを考える必要がなくなり、セル結合などの強引な調整が必要なくなります。これを「 1シート 1表の原則」と呼んでいます。 「1つのシート上で作る表は 1つだけにしましょう」という考え方です。そして、個別のシートで作った入力欄や表は、ある特殊なコピペの方法を使って、 1つのシートにまとめます。ここでとても大事な役割を果たすのが、「リンクされた図」という貼り付け方法です。では、さきほどのシートの「ご請求内容」の表を例に、別シートで作った表をどのように持ってくるかを見てみましょう。まずは、別シートにてこのように「ご請求内容」の表部分を作成しておきます。ちなみに、このシートでは枠線の表示を消してあります。[ページレイアウト]タブの[枠線]の[表示]からチェックを外すと消せます。コピーした範囲が図として貼り付けられると、オートシェイプや画像などと同様に、大きさや位置などを自在に操作できるようになります。さらに、コピー元のセルの値を変更すると、貼り付けた図のセルの値にも反映されます。このように、 1つ 1つの入力欄や表を個別のシートで作り、それをコピーしたものを「リンクされた図」として貼り付け、自在にレイアウトしていくのです。「神 Excel」問題を解決するには前述の例のように、セルの高さや幅を狭めて方眼紙状にしたうえでセルの結合を多用した書式を、俗に「神 Excel(ネ神 Excel)」と呼びます。紙に印刷することを前提とした書式であることから、「紙」が転じて「神」とインターネット上で呼ばれるようになりました。これが役所の窓口に置いてある申請書のように、印刷して手書きで書いてもらうことを目的として作られたものならいいのですが、問題はパソコン上で入力する Excelシートとして使われているケースです。入力されたデータは、データベース形式にして蓄積しておきたいわけです。しかし、このような Excelシートに入力された内容をデータベース形式に転記する作業は、極めて非効率なものになってしまいます。 1つ 1つ手作業でコピペしていくにしても、結合されたセルをコピーすると貼り付け先でもその結合が引き継がれてしまうなど、問題が続出します。作業を自動化するにしても、セル結合によってセル指定などに余計な手間のかかる状態となってしまいます。ひと言でいえば、「データの再利用性がまったく考慮されていない書式」ということになります。このような書式による非効率問題は、「書式に直接入力するのではなく、入力用の表を別途設ける」ことで解決できます。理想をいえば、次のようなデータベース形式の表に直接入力するのが一番手っとり早いです。しかし、「項目名が増えてくると、横方向に数多くの項目を入力していくのはやりづらい」という声が多くあがります。解決策として最もかんたんなのは、次のように縦方向のシンプルな入力フォームを用意することです。この入力表では、黄色いセルにはあらかじめ VLOOKUP関数が入力されており、顧客 IDだけ入力すれば自動的に顧客住所や顧客名が入力されるようになっているなどの工夫が施されています。入力が終わったら、入力した範囲を選択して、コピー →データベース表の新規行に本章『コピペもただ貼りつけるだけじゃない! ~「形式を選択して貼り付け」を駆使する』で紹介している[行/列の入れ替え]で横方向のデータに変換すれば、データベースに追加できます。あとは、このデータベースから必要な値をそれぞれ個別のシートで作成した入力欄、表に VLOOKUP関数などで

転記する仕組みを整え、それぞれをコピー →「リンクされた図」として貼り付けてレイアウトすることで、必要な値が入力された書式ができあがります。この形式であれば、作りたい形で書式を作ることができるうえ、データベースにデータを蓄積していくことも容易になり、「データの再利用性がまったくない」という問題を解消することが可能になります。神 Excelのデータべース化には「パワークエリ」も使える「神 Excel」状シートの各セルの値をデータベース形式に整えるには、「パワークエリ」機能を使う方法もあります。くわしくは『 Excelパワーピボット 7つのステップでデータ集計・分析を「自動化」する本』(翔泳社)の著者、鷹尾祥さんのこちらのブログ記事をご覧ください。 https:// modernexcel 7. hatenablog. com/ entry/ GodExcelリスト入力で参照範囲を変更する手間をなくす「データの入力規則」機能の中でも、最も重要なのがリスト入力です。リスト入力とは、いわゆるプルダウンメニューのようなものを作れる機能です。入力ミスの回避、入力できる値を限定したい場合などに重宝します。このリスト入力について、ぜひ知っておきたいテクニックがあります。性別欄に男女いずれかを入力できるようにする方法性別など、選択肢の数が少ない場合は、次のように選択肢となる文字列を直接入力して設定することができます。これで、 A 2セルにて「男」と「女」から選んで入力できるリスト入力を設定できました。[元の値]ボックスの中にカンマで区切って入力した順に、リスト入力の選択肢として出てくるようになります。なお、区切るのはカンマ(,)です。日本語の読点(、)ではないので、気をつけてください。シート上にあらかじめ選択肢一覧を作っておき、それを参照するには以下のように、 C列に入力しておいた担当者名を選択肢として、 A 2セルにてリスト入力で入力するにはどうすればいいでしょうか。選択肢の増減がなく(つまり、メンテナンスの必要がなく)同一シート内に参照先を置いておきたい場合などは、以下のようにするのがかんたんです。これで、 A 2セルにセル範囲 C 2: C 4を元データとしたリスト入力を設定できました。このように、あらかじめ入力すべきセルをリスト入力に設定しておけば、あとはそこから選べばいいだけですから、入力自体はラクになりますし、誤字などのミスもなくなります。このようなリスト入力を多用する入力フォーマットにおいては、先ほどのようにリスト入力の「元の値」となる範囲、いわゆる「マスタ」を同一シートに用意するよりは、別のシートをマスタ専用として用意し、まとめておいたほうが管理しやすくなります。セルやセル範囲に自分の好きな名前をつける ~名前の定義さらに、[元の値]ボックスにおいて、選択肢となるデータ

データが入力されているセル範囲を指定する際、先ほどのように直接マウス選択でセル範囲を指定するのではなく、セル範囲につけた「名前」を使って指定する方法を覚えてください。なぜなら、 Excel 2003以前では、別シートのセルを[元の値]に使用するのは、先ほどのような直接マウス操作による範囲選択ではできないからです( Excel 2007以降ではできるようになっていますが)。 Excelでは、任意のセルやセル範囲に自分の好きな名前をつけることができます。この機能を「名前の定義」といいます。たとえば、先ほどの図でセル範囲 C 2: C 4に対して「担当者名マスタ」という名前をつけてみましょう。この機能を立ち上げる際に選択されているセルの値が自動的に[名前]ボックスに入ります。使いたい値がシート上のセルに入力されている場合は、そのセルを選択しておくとラクです。 ❺範囲 C 2: C 4セルに「担当者名マスタ」という名前がつく。定義した名前とその参照範囲を確認、編集する場合は、「名前の管理」を使います。[数式]タブから[名前の管理]をクリックすると、以下の画面が開き、どのような名前がどの範囲につけられているのかがわかります。名前を使ってリスト入力を設定する次に、この「名前」を使ってリスト入力を設定してみましょう。そのためには、リスト入力の設定の[元の値]ボックスにて[名前の貼り付け]という機能を使います。詳細は以下のとおりです。 ❶ A 2セルを選択して、[データ]タブ →[データの入力規則]をクリックする。 ❷[設定]タブ →[入力値の種類]で[リスト]を選択する。 ❸[元の値]ボックス内をクリックしたら F 3キーを押すと[名前の貼り付け]が立ち上がる。 ❹[担当者名マスタ]を選択して[ OK]をクリックする。このようにして、セル範囲に定義した名前を使ってリスト入力を設定することができます。選択肢が増減することがよくあるリスト入力の場合次に、たとえば C列の「担当者名マスタ」という項目の選択肢……現実には増えたり減ったりすることが多いものです。商品名などでも、商品改廃など増減があるものです。そのような際、「担当者名マスタ」という名前の範囲がこれまで設定してきたように C 2: C 4という固定的なものだったら、たとえば C 5セルに新しい担当者名を入力しても、 A 2セルのリスト入力の選択肢には反映されません。 C 5セルも範囲に含めるには、再度「元の値」に指定する範囲を再設定する必要があります。選択肢の増減が滅多にないなら、こうした作業でメンテナンスをするのでもたいした時間はかかりませんが、頻繁に「元の値」の範囲が増減するようだと大変です。この「元の値」の増減にリスト入力が自動的に対応してくれたら、そうした状況でも苦労はなくなります。そのためには、名前「担当者名マスタ」の参照範囲に次のような式を入力して設定します。 = OFFSET(担当者名! $ C $ 1, 1, 0, COUNTA(担当者名! $ C: $ C)-1, 1)ここでは OFFSET関数が使われています。重要な関数なので、しっかりと理解しておきましょう。ポイントは、以下の 2つです。・基準となるセルを決めて、そこから参照するセルを「ずらす」というイメージで理解する・基準としたセルからずらした先を起点にしてセル範囲を指定できる OFFSET関数は、次のような書式でできています。【書式】 = OFFSET(基準セル,ずらす行数,ずらす列数) OFFSET関数は、「第一引数で指定したセル(基準セル)から、第二引数で指定した数だけ上か下に、さらにそこから第三引数で指定した数だけ右か左にあるセルの値を持ってくる」という関数です。第二引数が正の数であれば基準より下、負の数であれば上の値を見にいきます。第三引数が正の数であれば基準セルより右、負の数であれば左の値を見にいきます。使用例を見てみましょう。次のシートでは、範囲 A 1: D 3に男女別・コース別の料金表が作られています。

男性に 1、女性に 2という数字がカッコ内に振られています。これはそれぞれ、 A 1セルを基準とすると、男性の料金は A 1セルの 1つ下の行、女性の料金は A 1セルの 2つ下の行にあることを意味していると考えてください。コースについては、初級に 1、中級に 2、上級に 3、という数字が割り振られています。これは、 A 1セルを基準とすると、初級は A 1セルの 1つ右、中級は A 1セルの 2つ右、上級は A 1セルの 3つ右にあることを意味していると考えてください。このとき、 B 5セルに男女いずれかの数字、 B 6セルに 3つのコースいずれかの数字を入力すると、 B 7セルにそれに応じた金額が出てくるようにするには、次の関数式を B 7セルに入力します。 = OFFSET( A 1, B 5, B 6)これは、 A 1セルを基準にして、 A 1セルから B 5セルに指定した数だけ下、 B 6セルに指定した数だけ右にずらした位置にあるセルの値を持ってくる式になっています。図では、第二引数にしている B 5セルには 1、第三引数に指定している B 6セルには 2が入力されています。したがって、 A 1セルから 1つ下、 2つ右……つまり C 2セルの値を持ってきています。これが、「第一引数で指定したセルを基準に、第二引数で指定した数だけ下、さらにそこから第三引数で指定した数だけ右にあるセルを参照する」という OFFSET関数の基本です。第二引数に指定した値が負の数であれば第一引数の基準セルより上のセル、第三引数にした値が負の数であれば第一引数の基準セルよりも左のセルの値を持ってこれます。ちなみに、これを応用すると、よく聞く質問の 1つである「 VLOOKUP関数にて、検索する列より左側の値をひっぱってくるにはどうしたらいいか」という問題も解決できます(第 4章『 VLOOKUP関数で検索列より左側の値を取得できるか』を参照)。範囲を指定するにはさらに、この OFFSET関数は、基準セルから第二引数分下に、第三引数分右にずらした先を起点にして、そこからさらに「範囲」を指定することができます。範囲を指定したい場合は、引数をさらに 2つ追加します。 = OFFSET(基準セル,ずらす行数,ずらす列数,高さ,幅)以下の表では、 B列に日別の売上が入力されています。 D 1セルに 1日からの累計売上を知りたい日数を入力すると、 G 1セルにその数字が出てくる仕組みになっています。この表では D 1セルの値は 2となっているので、 1日から 2日目までの累計売上高が G 1セルにて計算されています。 G 1セルには、次の関数式が入っています。 = SUM( OFFSET( B 1, 1, 0, D 1, 1))数値を合計する処理ですから、大枠はまず SUM関数です。 SUM関数は、カッコ内に指定したセル範囲の合計を出す関数でした。なので、この SUM関数のカッコ内に入っている OFFSET関数は、セル範囲を指定していることになります。この OFFSET関数の部分だけ取り出して、どのような範囲を指定しているかを確認しましょう。これは B 1セルを基準セルとして、そこから下に 1つ、右にゼロずらす……つまり右には動かしません。すると、基準セルからずらした先は B 2セルということになります。その B 2セルを範囲の起点として、第四引数で指定した行数(ここでは D 1セルの値は 2になっているので 2行)、第五引数で指定した 1列分の範囲(具体的には B 2: B 3)を指定していることになります。ここで理解すべき大事なイメージは、 「OFFSET関数の第四引数で指定する範囲の行数(高さ)を変えることによって、 OFFSET関数で指定できる範囲を変更できる」ということです。 OFFSET関数が指定する範囲は、「 D 1セルの値によって、縦に広がっていく」という可変対応ができるのです。 ・D 1セルの値を 3にする → B 2: B 4 ・D 1セルの値を 5にする → B 2: B 6これを応用すれば、リスト入力でも、「元の値」の範囲がデータが増えるのに応じて可変対応することで、選択肢が自動的に増えるようにできます。では、先ほど「担当者名マスタ」という名前の参照範囲として入力した式をもう一度見てみましょう。 = OFFSET(担当者名! $ C $ 1, 1, 0, COUNTA(担当者名! $ C: $ C)-1, 1) 1つずつ解読していきましょう。まず「担当者名」シートの C 1セルを基準セルとして、そこから 1つ下、右にゼロずらした先のセル、つまり C 2セルを起点に範囲を作ります。その範囲の行数を指定するために、 COUNTA関数が使われています。この COUNTA関数では、 C列全体のデータ件数から 1を引いています。 C列全体のデータ件数を数えると、 1行目の「担当者名マスタ」という項目名のセルも含んで数えてしまうので、そのセルのカウントを除外するためです。そして、範囲の幅を第五引数で 1と指定しています。第四引数の COUNTA関数が常に C列のデータ件数マイナス 1の数字を取るので、 C列に担当者名が追加されたら、自動的に「担当者名マスタ」という名前の範囲はその分拡張されることになります。これで、セル範囲の名前「担当者名マスタ」に入力された値と A 2セルのリスト入力の選択肢に出てくる値が一致することになります。

並べ替え・オートフィルタ・ピボットテーブルが正しく動作する条件を把握する・ある病院で、ガン検査結果のデータの並べ替えに失敗し、誤った結果を被験者に送ってしまったという不祥事の謝罪会見がテレビニュースで全国中継される事態に陥ってしまった・ある自治体で、ふるさと納税者とマイナンバーをひもづけたデータの並べ替えに失敗し、他人のマイナンバーを各納税者に通知してしまう不祥事が発生した・ピボットテーブルで集計したデータの範囲がまちがっていて、誤った売上情報を公開してしまった以上は、本章『「 Excelで仕事をする」とはそもそもどういうことか』で紹介した「データベース形式のルール」を守らなかったために、このような事態が発生してしまったという失敗事例です。並べ替え、オートフィルタ、ピボットテーブルなどのいわゆる「データベース機能」が正常に動くには、この「データベース形式のルール」を守ることが必須です。あらためて確認しておきましょう。具体的には次のような状態です。このようになっていればデータベース形式として認識され、並べ替えやオートフィルタをスムーズに使うことができます。ためしに、この表の範囲内のセルを 1つ選択してショートカット Ctrl + Aを押すと、次のように表範囲全体が選択されます。つまり、これはデータの一番下までをデータベース機能の対象範囲として認識しているということです。これは、次のように途中に空白行があるケースと比較するとわかりやすくなります。途中の行に空白がある場合、空白行の上の表範囲内のセルを選択して Ctrl + Aを押すとこうなります。空白行から下の部分が同じデータベースの範囲だと認識されず、並べ替えやオートフィルタなどの対象範囲から外れてしまうのです。並べ替えやオートフィルタにおいて「無視されるデータがある」などと思える場合は、途中で 1行まるまる空白の行でデータが分断されていないか確かめてみてください。並べ替えのかんたんな方法並べ替えに必要な条件を確認したところで、日付順に並べ替える場合を例に、並べ替えの具体的な方法を見ていきましょう。かんたんな方法と、丁寧な方法の 2通りがあります。まずは、かんたんな方法から見ていきましょう。 ❶「商品コード」フィールドのいずれかのセルを選択する。どこでもいいので、表内で並べ替えの基準としたい列のセルを選択します。 ❷[データ]タブ →[並べ替え]アイコンの左側にある[昇順]アイコンをクリックする。並べ替えの丁寧な方法並べ替えの基準が 1つのときはかんたんな方法でかまいませんが、基準が 2つ以上あるときなどは丁寧な方法を使います。手順は以下のとおりです。 ❶並べ替えを行いたい表の中のセルどれかをクリックする(表の中ならどのセルでも大丈夫)。 ❷[データ]タブ →[並べ替え]をクリックする。 ❸[最優先されるキー]で[商品コード]を選択する。 ❹[順序]で「昇順」を選択する。 ❺[先頭行をデータの見出しとして使用する]にチェックを入れる。 ❻[ OK]をクリックする。複数の並べ替え基準があるときは、[レベルの追加]をクリックして、条件を追加します。並べ替えがうまくいかない場合によくある 2つの原因データベース形式の条件を満たし、上記の手順で並べ替えを行ったとしても、並べ替えがうまくいかないことがあります。そのパターンと対処法は以下のとおりです。 ❶名前を五十音順にしたいがうまくいかない場合これは、セルに入っている名前のデータが正しいふりがなデータを含んでいないケースで起こります。キーボードから入力されたデータなら、入力されたとおりのふりがなデータを含んでいます。本来の読み方ではない入力でその漢字を入力した場合は、その漢字データは正しいふりがなデータを持っていません。また、テキストファイルや CSV、ネットなどからコピぺされた文字列などは、ふりがなデータを含んでいないケースがあるので、これも正しく並べ替えされません。この問題を回避するには、原則として「漢字のデータで並べ替えはしない。別途フリガナの列を用意して、そこを並べ替えの基準にする」という対策が必要になります。 ❷[先頭行をデータの見出しとして使用する]のチェックの有無の問題マウスなどで選択したセル範囲だけで並べ替えをしたい場合、[先頭行をデータの見出しとして使用する]にチェックが入っていると、その範囲の先頭の行が並べ替えの対象から外れてしまって、思いどおりの並べ替えにはなりません。逆に、先頭行があるデータで並べ替えをするときに、ここにチェックが入っていない状態で並べ替えをしても、項目行もいっしょに並べ替えられ、データがぐちゃぐちゃになってしまいます。もしも「かんたんな方法」で並べ替えをしておかしなことになったときは、 Ctrl + Zでいったん元に戻して、「丁寧な方法」で「先頭行をデータの見出しとして使用する」のチェックの有無を確認してみてください。

データの表示にひと工夫加える方法 ~ユーザー定義セルに入力したデータの表示の仕方をさまざまに設定することができるのが、[セルの書式設定]の「ユーザー定義」。これでどんなことができるかというと……・金額を自動的に千円単位の表示にできる・会社名を入力したら、自動的に「御中」が付くようにできる・時給バイトの給与計算などで、勤務時間も足したら 24時間以上になった場合の時間数を「 25: 00」といった表示にできる(普通の設定だと 24時間でいったん 0: 00に戻るので「 25: 00」は「 1: 00」と表示されてしまう)まずは、設定したいセルを選んで、 Ctrl + 1で[セルの書式設定]を起動しましょう。セルの書式設定をこのショートカットで開けることはぜひ知っておいてください(テンキーの 1では不可です)。[表示形式]タブの[分類]で[ユーザー定義]を選択すると、右側に「種類」という入力欄が出てきます。ここに入力する値によって、さまざまな設定ができるようになります。 1つずつ見ていきましょう。大きい金額を千円単位で表示するには売上資料などでは、金額を千円単位で表記することが多くあります。つまり、 1, 000, 000という数字なら「 1, 000」という表示になります。以下の表では、 A 1セルには「 1, 000」と表示されていますが、数式バーでは 1000000となっています。実際に入力されているのは 100万ですが、セルの表示のみ千円単位に変えているわけです。この設定をするには、表示形式の[種類]欄に次のように入力します。 #,###,「シャープカンマ、シャープ 3つカンマ」と覚えてください。すると、このように数式バーでは 1000000が入力されていますが、セルでの表示は「 1, 000」となっているのがわかります。もちろん、このような場合は、注釈として表の外側などに「単位:千円」といった表記が必要です。 50000という売上なのに、千円単位だからと 50という値をセルに入力するようなことのないようにしてください。また、数値を 100万円単位で表示したい場合は、表示形式 →[ユーザー定義]の[種類]欄に次のように入力して設定します。 #,###,,会社名を入力したセルに自動的に「御中」が付くようにするには請求書の宛名欄などでは、宛先に「御中」が自動的に付くように設定しておくと、入力忘れもなくなります。そのためには、表示形式 →[ユーザー定義]の[種類]欄に次のように入力して設定します。 @御中アットマークの後ろに入力した値が、セルに入力した値の後ろについて表示されるわけです。ちなみにここでは、アットマークの後ろに半角スペースを入れてから「御中」と入力しています。こうすることで、「株式会社すごい改善御中」というように、社名と御中の間に半角スペースを入れることができます。このように設定した A 1セルに会社名を入力すると、会社名のあとに「御中」の文字がつきます。ただし、これは表示のみを変えているだけです。このセルに入力されている値自体は、数式バーに見えているとおり「株式会社すごい改善」のみであることを理解しておいてください。足したら 24時間以上になった場合の時間数を「 25: 00」などのように表示にするには Excelで時間を計算する際は、少々注意が必要です。まず基本として、時間は半角数字で「 9: 00」という形式で入力すると時刻データとして認識されます。勤務時間などの経過時間は、終了時刻から開始時刻を引くことで計算できます。問題は、時間を合計する場合です。以下の表の D 7セルでは、 D 2セルから D 6セルを合計する SUM関数を入力しています。合計は 9時間 × 5ですから、 45時間となるはずです。しかし、 D 7セルには「 21: 00」と表示されています。なぜ、 45時間になるはずの計算が、 21時間になってしまうのでしょうか?これは、 Excelで計算された時刻は、 0: 00から 23: 59まではそのとおりに表示されるのですが、時間合計が 24時間を超えると、 24時間の時点で表示が「 0: 00」に戻ってしまうためです。これは表示だけの問題ですから、算出結果の値そのものはきちんと 45時間という時間になっています。しかし、これでは見た目には計算ミスとしか映りません。合計時間どおりの表示にするには、表示形式 →[ユーザー定義]の[種類]欄に次のように入力して設定します。 [ h]: mmこれで、合計時間どおりの表示に変わります。

ほかにも、表示形式 →[ユーザー定義]の[種類]欄の設定で表示形式を変えることができます。 ・00 → 数字の 1が「 01」に ・000 → 数字の 1が「 001」にコピペもただ貼りつけるだけじゃない! ~「形式を選択して貼り付け」を駆使するいわゆる「コピペ」にも、 Excelではただ貼り付けるだけではなく、さまざまな処理をラクにできる機能があります。それが「形式を選択して貼り付け」です。通常、コピペといえば、 Ctrl + Cでコピー、 Ctrl + Vで貼り付けが行われます(もし右クリックメニューからコピペをしている場合は、すぐにこのショートカットを覚えてください)。しかし、貼り付けるときに右クリックメニューから[形式を選択して貼り付け]を選択すると、次の画面が立ち上がり、「書式はコピーしたくない」とか「表の縦と横を入れ替えたい」といったときに役に立ちます。この中から、実務においてよく使われる有用なものをご紹介します。値関数を多用した Excelファイルは、容量が重くなってしまい、メール添付で送る際などに支障をきたす場合があります。そんなときは、セルに入力された式をなくてしまい、しかしその結果である「値」だけはセルに残すことで、ファイルを軽くすることができます。これが「値」で貼り付ける、ということです。俗に「値貼り付け」とか「式を抜く」とも呼ばれる操作です。ここでは、シート全体から式を抜くため、シート全体をコピー →値貼り付けという手順をご紹介します。セルを別のセルにコピーする際、普通にコピペするとその書式(罫線やセル、文字の色など)もコピー先に反映されてしまいます。しかし、値貼り付けならば、書式はコピーせず、値だけをコピペすることができます。演算(加算、減算、乗算、除算)たとえば以下の表で、「 B列と C列の数字が実際の 1000分の 1の数字になってしまっているので、 B列と C列の数字を全部まとめて 1000倍したい」という状況になったとしましょう。このような際に[形式を選択して貼り付け]機能の[演算]オプションの使い方を知っておくと便利です。

このように、すでに入力されている数値に対して何かの数字を加減乗除したい場合は、上記の要領で行うことができます。行と列を入れ替えるたとえば、「以下の表の縦横を入れ替えろ」と言われたら、どうすればいいでしょうか。そんなときのために、 Excelには「縦に並んでるデータを横並びに」「横に並んでるデータを縦並びに」変換してくれる機能があります。それが[行/列の入れ替え]です。これで、任意の場所に表の縦横を入れ替えた表を作ることができます。また、これを応用して、「縦に並んでるデータを横並びに」や「横に並んでるデータを縦並びに」するのも一瞬でできます。たとえば、 A列の 1行目から 10行目に縦にデータが並んでいるとき、それを横方向に並び替えるのにも[行/列の入れ替え]が使えます。なお、この[行/列の入れ替え]機能では、貼り付け先をコピー元の範囲の始点と同じセルにすることはできません。その点のみ、注意してください。参照しているセルの値を変えても式の結果が変わら

変わらないときは以下の表では、 A 3セルに A 1セルと A 2セルの値を合計する SUM関数が入力されています。 400と 300の合計ですから、 700という数字が表示されています。ここで、 A 2セルの値を 400に変更してみましょう。 Enterを押せば、 A 3セルの値は 400と 400の足し算なので 800になるはず……ですが、なりません。このように、何らかの数式を入力しているセルにおいて、その式が参照しているセルの値を変更しても数式の結果に反映されない現象が起こることがあります。これは、 Excelには「計算方法の設定」というものがあるためです。計算方法の設定には「自動」と「手動」があって、普段は「自動」になっているのですが、「手動」になっていると、上記のような現象が起こります。つまり、計算が「自動」でなされない状態なのです。では、どのように「手動」で行うのかですが、これは F 9キーを押すことで「再計算」という処理が行われ、計算式に参照したセルの変更が反映されます。しかし多くの場合、そんな煩わしい設定にしているケースはほとんど見かけません。問題は、普段は「自動」になっているのに、なぜかいつのまにか「手動」に変わってしまっていることです。理由が気になるかもしれませんが、その原因は何かを調べて防止しようというより、単純に「自動に戻す」という対処法を知っておけば大丈夫です。 ❷[手動]にチェックがついていたら、[自動]をクリックする。めんどうなデータ処理を瞬時に終わらすカンマ区切りのデータをセルごとに分割する次のようなカンマ区切りのデータは、カンマごとに各セルにデータを分割しなければ、 Excelで扱うことはできません。そのために知っておきたいのが、「データ区切り」という機能です。使い方は以下のとおりです。これで、カンマごとに各セルに分割して入力されます。複数の空白セルに同じ値を一発で入力するには「表内の空白セル全部に同じ文字を一発で入力したい」

そのような面倒な作業をラクに済ませるのに必要なのが、「指定したタイプのセルを一括選択できる」方法です。 Excelには、「ジャンプ」という機能があります。これを使って、面倒なケースを瞬殺する技をマスターしましょう。たとえば、以下の表では、 B列の担当者名がところどころ抜けています。このとき、「空白セルにはその 1つ上のセルと同じ値を入力する」という処理をすることになりました。空白セルを 1つ 1つ選択しては 1つ上のセルをコピーする……というのは大変です。そんなときに「表内の空白セルを一括選択」できて、さらにその選択した複数のセルに同じ値を「一括入力」できたら、この作業は一瞬で終わるわけです。その方法は次のとおりです。同じパターンのデータの修正や削除は何個でも一発で ~検索と置換「同じ誤字を全部まとめて修正したい」「同じ文字を全部まとめて削除したい」そのようなケースで 1つ 1つ修正していたら、いくら時間があっても足りません。そうした作業は Excelに一瞬で終わらせてもらって、我々人間はその先の仕事に進まなければなりません。そのためには、「検索と置換」という機能を使います。たとえば、以下の表の B列、担当者欄にて、「氷室」という名前が、じつは「布袋」のまちがいだったとしましょう。このような際に、 1つ 1つ修正するのは面倒ですから、まとめて「氷室」という値を「布袋」という値に置き換えてしまいましょう。

同じ文字を全部まとめて削除したいときは[検索と置換]は、[検索する文字列]に入力した文字列を[置換後の文字列]に置き換える機能ですが、[置換後の文字列]を空欄にしておくと[検索する文字列]を「空白」に置き換える……つまり削除することができます。そしてこの置換は、じつは数式を構成する文字列にも使うことができるのです。次の表では、 D列の構成比のセルに、分母を絶対参照にした割り算の式が入っています。 D 3セルには以下の式が入力されています。 = C 3/ $ C $ 12 D 3セルに入力した式を D 12セルまでコピーし、分母が D 12セルからずれないように割り算しているのです。このセル範囲 D 3: D 12から、分母につけられた $マークを外すには、次のように操作します。このように、[検索と置換]は、対象とする範囲を選択して行うとその範囲の中だけで置換を行いますが、対象範囲を選択しないとシート全体を対象に置換を行ってしまうので、注意してください。より快適に操作するために知っておきたいこと複数ウィンドウで Excelを開いて作業を効率化( Excel 2010まで) Wordや PowerPointでは、複数のファイルを別々のウィンドウで開くことができます。しかし Excelでは、 Excel 2010まで、なぜか同じ 1つのウィンドウの中で複数ファイルを開く形になります。 2つのファイルの中身を同時に見ながら作業したい場合などに、これはなかなか不便です。別々のウィンドウで複数のファイルをそれぞれ開くには、次のように操作します。なぜか重くなったファイルを軽くするには見た目にはさほど大量でもないデータなのに、ファイルサイズが大きくなっている場合、目に見えないゴミデータが入っている場合があります。データ量と比べて、どう考えてもファイルの容量が異常に重くなっている場合は、ファイル内の各シートにて「最後のセル」の場所を確認することで異常を確認できます。「最後のセル」とは、そのシートで使用されている範囲の最も右下端のセルのことです。たとえば、以下のシートであれば、データが入力されている範囲の右下端のセルである E 15セルが「最後のセル」ということになります。この「最後のセル」がどのセルになっているかを確認するには、ジャンプ機能を使います。もしくはショートカット Ctrl + Endでも同様の操作ができますが、ここではジャンプ機能を起動する方法を説明します。

すると、たしかに見た目にもシート上で使用されている範囲の「最後のセル」である E 15セルが選択されます。これが正常な状態で、目に見えないゴミデータが入っていない状態です。一方、ゴミデータが入っているときは、次のような状態になります。先ほどと同じ表があるシートにて同様の操作をした結果ですが、選択されたセルは見た目の使用範囲のはるか下の行数のセル(ここでは G列 65531行目のセル)になってしまっています。このとき、何らかの操作の結果、本来の使用範囲である 15行目より下の範囲に目に見えないデータが残ってしまっていることが考えられます。このようなケースでは、それら余計なデータを削除することで、ファイル容量を軽くできます。手順は以下のとおりです。以上が終わったら、必ず[上書き保存]を行いましょう。上書き保存を行うことで、ファイル容量を軽くすることができます。この現象は、右側のスクロールバーの大きさでも確認することができます。本節前出の「最後のセルが E 15セルの表」と、本節前出の「最後のセルである E 15セルが選択された」のウィンドウ右側のスクロールバーの大きさを見比べてみてください。後者のほうが正常な状態です。データがそんなに多くないわけですから、スクロールする幅も小さくていいわけで、ほとんどスクロールできないくらいにスクロールバーが大きくなっています。一方、前者のほうが随分と小さくなっています。これは、スクロールできる幅を大きくしているわけです。実際の使用範囲は 15行目までで、そんなに大きく下のほうにスクロールする必要がないのに、スクロールバーが小さくなっているときは、シートの下部方向に余計なデータが入っていることが考えられるのです。その際には、上記の手順でゴミデータの有無を確認してください。大きな表をスクロールしても見出しが見えるようにしておく縦横に大きな表を扱うときに、下方向や右方向にスクロールすると項目名のセルが見えなくなって不便なことがあります。それでは作業も効率的ではありません。そこで、「ウィンドウ枠の固定」という機能を使って、スクロールしても項目名のセルが常に見えるようにしておきましょう。いちいちスクロールを繰り返す必要がなくなり、大切な時間をセーブし、かつストレスも減らすことができます。手順は以下のとおりです。 ❶固定の起点となるセルを選択する。【例】シートの 3行目までを固定して表示しておきたいときは、 4行目を行ごと選択 ❷の表では、下方向にスクロールする場合は 5行目までを固定、右方向にスクロールする場合は B列までを固定しておけばいいことになります。この場合、固定の起点となる C 6セルを選択します。 ❷[表示]タブ →[ウィンドウ枠の固定] →[ウィンドウ枠の固定]をクリックする。注意点として、ウィンドウ枠の設定を行う際は、「 A 1」セルがウィンドウ上で見えている状態で設定するようにしてください。

フォーマットを壊さないための措置 ~シートの保護いろんな関数を張り巡らして、さまざまな計算や書類作成を自動化できるように作った Excelシート。しかし、せっかく作ったそのファイルも、まちがって式を消してしまったり、削除してはいけないセルやシートを削除してしまったら、元も子もありません。特に、社内ネットワーク上の共有フォルダなどに保存していて、複数人が入力を行うようなファイルでは、だれかがその仕組みを壊してしまうことが非常にありがちです。そのような理由から、本来複数のメンバーで 1つの Excelファイルを共用することはあまり好ましくありません。しかしながら、現実として、そうしたファイルを運用する必要性が出てくることは少なくありません。そのような際にはどのように運用すればいいかを考えておく必要があります。シート全体を保護したい場合まず、[シートの保護]機能を使って、せっかく入力した関数を消してしまわないように守るテクニックを知っておきましょう。シート上のすべてのセルを変更不可にするには、次のように操作します。 ❷必要に応じてパスワードを入力して(省略可)、[ OK]をクリックする。このとき、[このシートのすべてのユーザーに許可する操作]というオプションで、さまざまな設定ができます。たとえば、[ロックされたセル範囲の選択]からチェックを外すと、セルの選択すらできなくなります。こうしておくと、「変更不可」という作成者側のメッセージがより強く伝わるものです。また、このオプションではオートフィルタの使用可否などさまざまな設定ができるので、ひととおり目をとおすようにしてください。ここで大事なことを覚えておいてください。[シートの保護]は、[セルの書式設定] →[保護]タブにおいて[ロック]を有効にしてあるセルのみ有効になります。 Excelではあらかじめ、すべてのセルにて[ロック]が有効になっています。任意のセルを選択し、ショートカット Ctrl + 1で[セルの書式設定]を起動 →[保護]タブをクリックすると、次の画面になります。すでに[ロック]にチェックがついているので、そのままシートの保護をかければ、そのセルは変更不可になります。シートの一部のセルのみ変更不可にしておきたい場合もう 1つの[表示しない]にチェックを入れてシートの保護をかけると、そのセルに入力された式は数式バーに表示されなくなります。実務的に多いのは、「一部のセルのみ変更可」または逆に「一部のセルのみ変更不可」にしたい場合です。たとえば、次のようなラーメン屋さんの売上管理表があったとしましょう。 A列には商品名、 B列に単価、 D列には単価 ×数量をかけ算する数式があらかじめ入力されています。そのため、この表には C列の数量のみ入力すればいいわけです。ここで、誤って B列の単価や D列の計算式が入っているセルを消してしまったり内容を変更してしまうことのないように、 C列にしか入力できないように設定しておくと、ミスや事故を防げます。ここでは、変更不可のセルは選択もできないようにしてみましょう。 ❸[校閲]タブ →[シートの保護]をクリックする。

この操作で、もうこのシートでは C 2: C 6以外のセルは、入力や変更はおろか、クリックしても選択すらできなくなります。まちがって何かを消してしまったり、違うセルに入力してしまったりするミスが起こりようがなくなるわけです。逆に、一部のセルのみ変更不可にしたい場合は、以下の手順を踏みます。 ❶シート全体を選択 →[セルの書式設定] →[保護] →[ロック]から一度チェックを外す。 ❷変更不可にしたいセルのみ、再度[セルの書式設定]にて「ロック」をかける。 ❸シートの保護をかける。印刷にまつわる諸問題を解決するには複数ページある場合、見出し行だけ全ページに印刷したいときは行数が多い名簿や顧客リストなどの Excelシートを印刷する際、普通にやってしまうと 1枚目には先頭行の項目行が印刷されていますが、 2枚目以降からは項目行が印刷されません。そのままだと、 2枚目以降の表がわかりづらくなってしまいます。そのようなときのために、 2枚目以降にも自動的にデータ先頭の項目行を印刷するように設定しましょう。印刷結果が画面と異なる問題に対処するには 「WYSIWYG」という言葉をご存じでしょうか。これは「 What You See Is What You Get(見ているものが得られるもの)」の略語で、コンピュータのディスプレイに表示されている状態と印刷結果などを一致させる技術のことをいいます。しかし、残念ながら Excelはこの「 WYSIWYG」にはなっていません。つまり、画面で見えている状態と、印刷した結果が異なることがあるのです。一番多いのは、セルに入力した文字が切れてしまう状態です。 Excelのシート上ではすべてきちんと表示されていても、いざ印刷すると切れてしまっていて困るケースがよくあります。結局、「セルの幅を十分に余裕を持って広くとる」などのアナログな方法が最短の解決策になります。しかし何より問題なのは、印刷結果が印刷するまでわからないことです。これについては、 Excelを Excelのまま印刷するのではなく、ファイル形式を PDFに変えて印刷するという対処が有効になります。 Excel 2007では別途アドインのインストールが必要でしたが、 Excel 2010からは標準で PDF出力ができるようになっています。 PDFであれば、画面で見た状態と印刷結果が異なることもないので、印刷前により確実に確認できるようになります。また、[表示]タブの[ページレイアウト]をクリックした画面であれば、ほぼ確実に印刷される状態を確認することができます。

5大グラフの使い方を理解する Excelは数字を表にして整理するものですが、数字の表ではわかりにくい内容、伝わりづらい状況があります。そんなときに、ビジュアルで直感的に理解してもらうために作るのがグラフです。一般的にビジネス資料で使われるグラフは、棒グラフ、折れ線グラフ、円グラフ、散布図、バブルチャートの「 5大グラフ」で、それぞれ得意とする表現があります。ここで各グラフの基本をかんたんに押さえておきましょう。棒グラフと折れ線グラフ ~比較と推移たとえば、「会社の売上が右肩上がりに伸びている」という状況を説明したいとします。これは売上の推移の表現でもあり、一方では期間ごとの大小比較でもあるといえます。このようなケースで変化をわかりやすく表現するのが、棒グラフと折れ線グラフです。次の 2つのグラフは、どちらも売上が右肩上がりで上昇していることがよくわかります。矢印や数字の記入を加えることで、メッセージをより強調することができます。どちらも同じ内容を表現できますが、このように 1つの対象の要素の推移を表現する場合は、どちらかといえば棒グラフがよく使われます。折れ線グラフは点で数字の変化を表現するのみである一方、棒グラフは数字を積み重ねた結果としての「量」や「大きさ」のイメージも表現することが可能になり、プレゼンテーションでの視覚的なインパクトを与えることができるのがその理由です。一方、たとえば「 A社と B社の売上推移を比較して見たい」など、複数の対象の要素の推移を表現したい場合は、折れ線グラフのほうがわかりやすくなります。なお、棒グラフは大きく分けて縦棒グラフ、横棒グラフの 2種類があり、それぞれに積み上げ棒グラフ、 100%積み上げ棒グラフという種類があります。縦棒グラフと横棒グラフの使い分けについてはほとんど好みの問題ですが、項目の文字数が長い場合などには横棒グラフのほうがスマートになります。積み上げ棒グラフは、数字の内訳を表現するのに適しています。また、 100%積み上げ棒グラフは「構成比の比較」に使われます(本節後出を参照)。円グラフ ~内訳構成比数字の「内訳」や「構成比」を表すのに多用されるのが円グラフです。

円グラフは、構成比が大きいものから順に時計回りに配置するのが基本です。元データも、上図のように降順に並べ替えてあります。構成比の「推移」や「比較」を表現する際は、円グラフよりも、棒グラフの一種である「 100%積み上げ棒グラフ」のほうが表現しやすくなります。散布図 ~ 2つの数字の相関「アポイントの獲得数と売上は比例するのか」「気温が高い日はビールがたくさん売れるのか」「サイトへのアクセス数と売上は関係あるのか」そんな「 2つの数字の相関関係」を調べるのに使われるのが「散布図」です。グラフ上に散りばめられた点がどのような状態になっているかを観察し、次の基準で 2つの数字に相関関係がある・ないと推測します。正の相関がある「横軸の数字が大きいものは、縦軸の数字も大きくなる」という傾向を表しています。たとえば、「夏の平均気温が高いほうがビールの売れ行きも上がる」といったような関係が正の相関にあてはまります。負の相関がある「横軸の数字が大きいほど、縦軸の数字が小さくなっていく」という反比例的な傾向を表しています。たとえば、「社内での会議に要する総時間が長ければ長いほど、売上は小さくなっていく」といったような関係が負の相関にあてはまります。相関はない 2つの数字の間にまったく相関関係がない状態です。ここで「推測」という表現を使ったのは、たとえ相関関係がある状態の散布図になっても、それは単なる偶然だったり、じつは無関係だったりということもあるからです。グラフを見る際は、常に少し懐疑的な姿勢が必要です。バブルチャート ~ 3つの数字の関連散布図はグラフ上に点を散りばめただけでしたが、その各点にさらに「大きさ」を持たせることによって「 3つの数字の関連」を表せるのがバブルチャートです。次のバブルチャートは、各営業マンの「アポイント獲得数」「売上成績」「平均受注単価」の 3つを表したバブルチャートの事例です。このバブルチャートからは、「アポイント獲得数が少なくても売上成績が高い社員は平均受注単価が大きい」という情報が読み取れます。グラフづくりに最低限必要な知識 Excelでは極めて直感的にグラフを作成できるので、大まかなメニューさえ押さえておけば、細かい操作法をあらかじめ覚える必要はありません。本当に最低限必要な知識だけ押さえておきましょう。バージョンによってタブ画面が異なることに注意本章では、 Excelに関する操作の解説を Office 365の画面、名称を使っておこないます。特に、作成されたグラフをクリックするとタブに現れるグラフに関するメニューは、 Excel 2010以降の各バージョンでは次のように異なるのでご留意ください。 Excel 2010「グラフツール」の下に「デザイン」「レイアウト」「書式」の 3つが表示。 Excel 2013、 Excel 2016「グラフツール」の下に「デザイン」「書式」の 2つが表示。 Excel 2010までの「レイアウト」タブでおこなわれていたグラフ要素に関する操作は、「デザイン」タブの「グラフ要素の追加」にて可能です。さらに、グラフをクリックすると、グラフ右上に次の 3

つのボタンが表示されるようになりました。・グラフ要素・グラフスタイル・グラフフィルター Excel 2019、 Office 365以降「グラフツール」という表示はなくなり、「グラフのデザイン」と「書式」の 2つが表示。本章に出てくる「グラフのデザイン」タブは、 Excel 2016以前では「デザイン」タブに該当します。データソースを用意するグラフを作成するには、まずシート上にグラフの材料となる表、「データソース」を用意します。たとえば、次の図は、ある会社の第 1期から第 5期までの売上表と、それをデータソースとして作ったグラフです。データソース A 2: F 3は、次の「軸ラベル」「系列名」「系列値」の 3つのパートからから成り立っており、それぞれ次の範囲に該当します。・軸ラベル → B 2: F 2・系列名 → A 3・系列値 → B 3: F 3それぞれが、グラフのどこに、どのように反映されるかを、このあと見ていきます。グラフ作成の具体的な手順は、次の 2ステップです。 ❶データソースである範囲(ここでは A 2: F 3)を選択する。 ❷「挿入」タブの「グラフ」から作りたいグラフ種類のアイコンをクリックしていく。上記のグラフの場合、「縦棒グラフ」をクリック →「 2-D縦棒」から「集合縦棒」をクリックするだけで作れます。 column標準グラフの設定を変えるデータソースの範囲を選択した状態でショートカット Alt + F 1を押すだけでもグラフができます。この Alt + F 1は「標準グラフ」に設定されているグラフを作るショートカットで、初期設定では縦棒グラフに設定されています。この「標準グラフ」を変更するには、次のようにします。「挿入」タブの「グラフ」グループにある「おすすめグラフ」をクリック →「すべてのグラフ」タブをクリック →左側に並んでいるグラフの種類をクリックし、右側に出る細分化された各種グラフのいずれかを右クリック →「標準グラフに設定」という吹き出しをクリック「系列名」「系列値」「軸ラベル」を理解するとグラフづくりがスムーズになる次に、グラフ上に表示される各系列が何を意味するかを説明する「凡例」を出してみましょう。このようなグラフ要素の有無は、「グラフ要素」ボタンで設定します。グラフをクリックすると、グラフの右上に十字のマーク「グラフ要素」ボタンが出ます( Excel 2013以降のみ)。この「グラフ要素」ボタンをクリックすると出てくる各種のグラフ要素……たとえば「グラフタイトル」や「軸ラベル」などの有無は、ここで設定できます。各項目にカーソルを合わせると、右側に右向きの三角形が出てきます。そこにカーソルを合わせると、さらに詳細な選択肢が出てきます。 columnリボンの「グラフ要素の追加」には「グラフ要素」ボタンにはないメニューもグラフ要素に関するこのような設定は、グラフをクリックするとリボンに出てくる「グラフのデザイン」タブ →「グラフ要素の追加」をクリックして出てくる各メニューでも同様の操作ができます。この「グラフ要素の追加」には、「線」など、「グラフ要素」ボタンにはないメニューも含まれています。今回は「凡例」にカーソルを合わせ、さらに位置として「上」を選ぶと、次のように「売上高(単位:千円)」という表示の凡例が出てきます。この凡例に出てくる項目のことを「系列名」と呼び、その名称にはデータソースの A 3セル、「系列名」の値が使われています。そして、グラフの横軸目盛りに出てくる「第 1期」「第 2期」などの部分を「横(項目)軸」と呼び、データソースの B 2: F 2、つまり「軸ラベル」の範囲の値が使われています。そして、 B 3: F 3の「系列値」の値が棒グラフとして表されているわけです。この「系列名」「系列値」「軸ラベル」がデータソースのどこにあたるかを改めて確認できるのが、[データソースの選択]画面です。グラフを右クリックすると出てくるメニューから[データの選択]を選ぶと、次のような[データソースの選択]という画面が出てきます。左下側に「凡例項目(系列)」という欄があります。ここ

ここに出てくる項目を「系列名」と呼び、これらが凡例に出てくる「系列名」に使われます。「編集」ボタンをクリックすると、「系列名」と「系列値」にどの範囲が使われているかがわかります。そして、その右側には「横(項目)軸ラベル」という欄があり、その中に並んでいる項目をまとめて「軸ラベル」と呼ぶわけです。同じく「編集」ボタンをクリックすると、軸ラベルにはどの範囲が使われているかがわかります。「系列名」「系列値」「軸ラベル」を意識してデータソースを用意することで、イメージどおりのグラフをスムーズに作ることが可能になります。グラフタイトルや軸ラベルでセル参照を使う先ほどのグラフでは、グラフタイトルは A 1セルの値を参照する方法で入力しています。グラフタイトルや軸ラベルの文字列は、直接入力するだけでなく、セル参照もできることを知っておくと大変ラクになります。やり方はとてもかんたんです。グラフタイトルや軸ラベルのボックスをクリック →数式バーにイコール( =)を入力 →参照したいセルをクリックして Enterこれで、セルの値を変更したら、連動してグラフタイトルも変わるようになります。「見やすいグラフ」にするためのコツグラフを見た人のスムーズな理解を助けるために、ビジュアル面でできる工夫を紹介します。この説明を通して、さまざまなグラフのカスタマイズ方法を理解してください。凡例をなくして、データラベルで系列名を表示する先ほどは「系列とは何か」を説明するために凡例を出しましたが、凡例は使わないほうが理解しやすいグラフになるケースは多いです。たとえば次の折れ線グラフでは、 A社と B社の売上推移を示していますが、どちらの系列が A社なのか B社なのか、凡例で確認する必要があります。このグラフは系列が 2つなのでまだいいですが、系列数が増えてくると、どれがどの線だか大変わかりづらくなってしまうわけです。なので、グラフ上で各系列の数値や系列名を表示する「データラベル」を使って、各折れ線の右端に系列名を表示してみましょう。すべての系列でこの作業をおこない、データラベルの系列名のみを表示して凡例を消すと、次のようになります。凡例を見つつ、「どの線がどの会社かな……」と確認しながら見ていくよりは、はるかに読みやすいグラフになっています。目盛線を消す見た目的にスッキリさせたほうがわかりやすくなる場合は、目盛線を消すのも 1つの方法です。目盛線上をクリックすると、次のように目盛線の両脇に青いポイントが出て、選択状態になります。この状態で Deleteを押すと、目盛線が消せます。同じことが、次の方法でも実現できます。 ・[グラフ要素]ボタンをクリック →「目盛線」からチェックを外す ・[グラフのデザイン]をクリック →[グラフ要素の追加]

追加]アイコンをクリックして出てくるメニューから操作するこのように、同じグラフの操作でも、いくつかの方法があります。グラフに基準線を引く「グラフ上で表される各数字が、平均や目標などの一定の基準を超えているか」などを確認したいという目的で、グラフに次の赤線のような基準線を引きたいケースがあります。 1回限りのグラフ作成なら、グラフ上にオートシェイプで直線を引けばいい話なのですが、このようなグラフを繰り返し作るなどの場合はもっと効率化を考えます。基準線を引くという機能は、 Excelグラフの基本機能にはありません。「横一直線の折れ線グラフを追加して、基準線に見せかける」という、ちょっと強引なやり方にはなります。たとえば月次の売上を表す棒グラフに、 100万円のところで基準線を入れたいとします。これだけで、基準線が作れます。ここでは、もう少しこだわってみましょう。上の図では、基準線の左右が若干短いですね。この基準線が端まで来ている状態にしていきます。すると、このように「基準線」系列が左右端まで伸びます。

散布図にデータラベルを表示する散布図では、プロットされた各点がだれの点なのかわかるように、データラベルを表示してみましょう。 ❹[ Y値]からチェックを外す。これで、各担当者名を表す元データ A列の値が表示されます。グラフに出てくる系列の順番が思うようにいかない場合はどうするか「グラフに出てくる系列の順番が思うようにいかない」ということがよくあります。たとえば、次のように商品別の売上データを縦棒グラフにしたとしましょう。これを横棒グラフにすると、次のように上から C、 B、 Aという順番に並んでしまい、表とは逆の順番になってしまいます。同じデータで積み上げ縦棒グラフを作った場合も、やはり上から C、 B、 Aと、表とは逆の順番になってしまいます。これは、表とグラフではそれぞれ「基点」となる場所が異なるために起きる問題です。まず、表の基点は「左上」になります。そこから項目が下方向に順番に並んでいます。一方、「グラフの基点」は「左下」になります。表の基点からの系列の並び順が、そのままグラフの基点からの系列の並び順に反映されるため、表での系列の並び順と、グラフでの系列の並び順が逆になってしまうわけです。では、どうするか。手っとり早く済ませたい場合は、次のような方法があります。横棒グラフの上下の順番を逆転したい場合縦軸上でダブルクリック →[軸の書式設定]で[軸を反転する]にチェックを入れる積み上げ縦棒グラフで系列の順番を入れ替えたい場合グラフを右クリック →[データソースの選択]画面の[凡例項目(系列)]にて上下移動させたい系列を選択 →上下方向ボタンをクリックただ、定期的に作成・更新するような場合、毎回この作業をするのは面倒です。作りたいグラフに合わせて元データを用意するのが得策です。

より高度なグラフの作り方パレート図を作る ~ 2軸グラフと 100%積み上げ横棒グラフ「売上の 8割は、全顧客のうち上位 2割の顧客層からもたらされている」「経費の 8割は、 2割の社員によって使われている」といった、一部の構成要素が全体の大きなシェアを占めている状態を表す経験則が「パレートの法則」( 80: 20の法則)です。この状態を表すのが、「パレート図」と呼ばれる次のようなグラフです。これは 2軸グラフといって、左側の第 1軸に加えて、右側に第 2軸を持つグラフです。複合グラフとも呼ばれます。このパレート図を通して、作り方を確認してみましょう。元データでは、上図の左側の表のように、降順のデータと累計構成比を出しておきます。 ❶元データの範囲(ここでは A 3: D 13)を選択する。 ❷[挿入]タブの[グラフ]グループから[複合グラフの挿入]アイコンをクリックする。 ❸[組み合わせ]をクリック →[集合縦棒-第 2軸の折れ線]を選択する。すると、先ほどのようなパレート図がかんたんにできてしまいます。ただ、凡例に「構成比」系列が入っているので、これを外します。手っ取り早い方法としては、グラフをクリックすると出てくる[グラフフィルター]ボタンをクリック →[構成比]のチェックを外します。本章『グラフづくりに最低限必要な知識』で紹介したように、[データの選択]画面の[凡例項目(系列)]にて[構成比]のチェックを外す方法でもかまいません。「一部の何かが売上の大部分を占めている」という状況を直感的に表現するために、本章『 5大グラフの使い方を理解する』のような 100%積み上げ横棒グラフを使うこともあります。状況に応じてグラフを使い分けることになります。参照範囲の増減にグラフを自動対応させる次のように、毎月の売上推移を見るグラフが作りたいとします。この時、元データに新しい月のデータが追加されたら、自動的にグラフに反映できるとラクです。そのためには、グラフの各系列を定義する SERIES関数を使いこなす必要があります。上図のグラフと元データを例に説明します。まず、グラフ上で系列を 1つクリックすると、上図のように、数式バーに次のような式が出てきます(上図の画像は「 sample」というシートで作成)。 = SERIES( sample! $ B $ 1, sample! $ A $ 2: $ A $ 10, sample! $ B $ 2: $ B $ 10, 1)同時に、元データの範囲が色つきの線で囲まれます。・赤く色がついたセル → 系列名・紫色の線で囲まれた範囲 → 横軸項目名の範囲・青色の線で囲まれた範囲 → 値の範囲これらは、上記の SERIES関数の各引数とそれぞれ対応しています。読み解いてみましょう。カッコの中には、引数が 4つあります。 = SERIES(系列名,軸ラベルの範囲,系列値の範囲,プロット順)これに従って上記の式を読み解くと、こうなります。 sampleシートの B 1セルを系列名とし、 sampleシートの A 2セルから A 11セルを軸ラベルの範囲とし、 sampleシートの B 2セルから B 11セルを系列値の範囲とし、グラフ上での並び順は 1番目に来るこの SERIES関数の「軸ラベルの範囲」と「系列値の範囲」が、元データにデータが追加されたら自動的に広がるように設定します。第 7章『リスト入力で参照範囲を変更する手間をなくす』でも紹介した「名前の定義」をここでも活用します。 ❶ A 1セルをクリック →[数式]タブの[名前の定義] →[新しい名前]画面を表示する。 ❷[名前]ボックスにすでにクリックしてあった A 1セルの値である「月」と入力されているので、[参照範囲]ボックスに次の数式を入力する。 = OFFSET( sample! $ A $ 1, 1, 0, COUNTA( sample! $ A: $ A)-1, 1)これで、「月」という名前の範囲ができました。同様に、「売上高」という名前の定義もおこないます。 ❸ B 1セルをクリック →[数式]タブの[名前の定義] →[新しい名前]画面を表示する。 ❹[名前]ボックスにすでにクリックしてあった B 1セルの値である「売上高」と入力されているので、[参照範囲]ボックスに次の数式を入力する。 = OFFSET( sample! $ B $ 1, 1, 0, COUNTA( sample! $ B: $ B)-1, 1)

これで、「売上高」という名前の定義ができました。次に、これらをグラフの各系列の SERIES関数に組み込みます。 ❻[系列の編集]画面の[系列値]にあらかじめ「 = sample! $ B $ 2: $ B $ 11」と入力されているので、次の部分を消去する。 $ B $ 2: $ B $ 11 ❼ F 3 →[名前の貼り付け] →[売上高]を選択して[ OK]をクリックすると、[系列値]に「 = sample!売上高」と入力された状態になるので、[ OK]をクリックする。 ❽いったん「データソースの選択」画面に戻るので、[横(項目)軸ラベル]でも同様に[編集]をクリックする。 ❾[軸ラベルの範囲]に「 = sample! $ A $ 2: $ A $ 11」と入っているので、次の部分を消去する。 $ A $ 2: $ A $ 11 ❿ F 3 →[名前の貼り付け] →[月]を選択して[ OK]をクリックすると、「 = sample!月」と入力されているので、[ OK]をクリックする。これで、元データの追加にグラフが自動対応するようになりました。ためしに 10月のデータを追加してみると、自動的にグラフに反映されます。この画面では、グラフ内の系列を 1つクリックして数式バーに次の関数を表示させているところに注目してください。 = SERIES( sample! $ B $ 1, sample. xlsm!月, sample. xlsm!売上高, 1)軸ラベルの範囲には「月」、系列値の範囲に「売上高」と名前がついて、データソースの増減に自動対応できるようにしていることがわかります。

データ分析の基本とはここまでにご紹介してきた Excelのテクニックを駆使して、目の前の Excel作業を効率化するだけでは、まだ仕事の成果、ひいてはあなたのビジネスパーソンとしての価値を上げることにはつながりません。 Excelはあくまでも道具です。「この道具をうまく使いこなして、どう仕事の成果につなげるか?」という観点なしに、いくら Excelの関数や機能ばかりマスターしても意味はありません。成果につながる資料を、正確に、かつ短時間で仕上げる能力が必要なのです。 Excelで行うことのメインは「表を作ること」です。では、どのような表を作れば価値ある仕事になるのか。人の役に立つのか。利益につながるのか。キャッシュフローの改善につながるのか……そうした成果を意識して資料を作らなければ、時間と労力のムダにしかなりません。そこまで含めて考えながら効率的に仕事をすること、それが本当に「仕事で Excelを使いこなす」ということなのです。最後の章では、そのために必要な考え方をお伝えします。分析の基本は数字を「分けて」「比べる」こと「先月の売上は 3000万円でした」経営会議でこのように、「先月の売上」という数字を 1つだけ発表されて終わられたらどうでしょうか。「お、おう。で……?」となるはずです。ならなければいけません。「数字はわかった。で、その数字はどういう数字なんだ?」と発表した人に質問し、その人が答えられないようであれば、ビジネスデータ分析の基本を学ばなければなりません。じつは、ここに大きな課題があります。社内にさまざまなデータを蓄積しているのに、それがうまく活用されていない現場は無数にあります。せっかくのデータを活用し、収益を伸ばすために現状分析をして、目標設定を行い、計画を立案しようにも、どんなデータを、どのように使えばいいのか、だれもわかっていないから、何から手をつけたらいいのかがわからないのです。数字の分析の基本は、「分けて、比べる」です。まず、数字をある程度の細かさまで分解します。たとえば「売上」という数字ならば、以下のような切り口で分けることが考えられます。・顧客(年齢層)別・地域別・支社別・商品別・担当者別次に、その分解した数字を何かと比べます。「ある基準と比べて、その基準を上回っていたか下回っていたか」という指標を用いないと、数字が良かったのか、悪かったのかを評価することができません。ここでの模範解答例は、たとえば以下のような説明になります。「先月の売上は 3000万、これは前年同月比で 112%と伸びており、目標に対しても達成率 108%でクリアできています」「商品別の内訳としては、 Aが全体の 70%を占めており、だいぶこの商品に依存した構成比になっております」「そこで、他商品の比率を上げることで、より安定的な収益構造を目指す必要があります」売上から変動費や固定費を引いた「限界利益」や「営業利益」の検証、売上金額でなく売上件数という着眼点からの分析なども重要です。このような説明は、何もビジネスの知識や経験が豊富になければできないわけではありません。仕事で扱う数字の基本をいくつか押さえておけば、あとはかんたんな割り算と引き算だけで、だれにでもできることです。ビジネスで数字を分析する際の 3つの基本指標ただ、いきなり「ビジネスデータ分析をしろ」と言われても、数字をどのように分解して、何と比べればいいかという基本を知らなければ、ただ Excel上で数字をこねくりまわして格闘するばかりで、時間がかかるわりにはたいしたアウトプットにつながりません。ここできちんとビジネスデータ分析の 3つの基本指標を身につけてください。・前年比(昨年よりも増えたか、減ったか)・予実比(目標に届いたか、届いていないか)・構成比(その数字の内訳は、どんな比率になっているか)いずれも、かんたんな割り算で計算できるものばかりです。前年比 ~売上は順調に伸びてるのか、落ちているのか【算出式】前年比 =当年の数字 ÷前年の数字企業が売上実績を評価する際の第一の指標は、前年比です。つまり、昨年と比べて売上が増えたか、減ったかという数値です。「昨対比」とも呼ばれます。・昨年の売上が 100万円、今年の売上が 120万円なら、前年比 120%で「前年比クリア」となる・昨年の売上が 100万円、今年の売上が 90万円なら、前年比 90%で「前年を割った」などと表現されるこの指標は 100%を超えることが望ましいのは言うまでもありません。売上が前年を下回っていた場合は、さらにその数字を細分化した要素ごとに前年比を調べるなどして、売上が下がった要因を探ります。もちろん、市場の変化による減少など、はっきりした原因がわからないケースもありますが、「ある支社の大口取引先が倒産したのが全体に影響した」など、自社の問題ではないと判断できるケースもありえます。いずれにせよ、「売上が減少傾向である」という問題のある状況だという現状認識が可能になります。そうした分析がすべて、この前年比というシンプルな割り算でできてしまうのです。前年比で大切なのは「同じ時期、同じ期間で前年と比較する」ことです。ビジネスには季節変動というものがあります。四季の変化や年間行事の影響が大きい日本では、同じ商品でも季節によって売れ行きが変わり、季節によって売れ筋商品も変わります。そのような影響がある中では、たとえば以下のように考える工夫が必要です。・単月の実績を検証する場合 →「前年同月比」を出す ・3ヶ月ごとの実績を検証する場合 →「前年同期比」を出す「先月よりも売上が伸びたか」という「前月比」を見るケースもあるのですが、たとえば「 9月の遊園地の入園者数が前月比 40%と、大幅にダウンした」といっても、夏休み期間中の 8月と比べれば大幅に減るのはわかりきっていることです。それよりも、前年の 9月と比較してもし減っているならば、入場者数の減少傾向にいち早く気づくことができます。そして、次の 10月に向けて対策を打つ、という行動につながるのです。予実比 ~目標を達成できたかどうか【算出式】予実比 =実績 ÷予算(目標値)予実比というのは、「予算」と「実績」の比です。ここでの予算とは、目標を意味します。つまり、予実比は「目標額を上回ったか、下回ったか」を示す指標です。「予算比」「目標達成率」「目標進捗率」などともいわれます。この予算という言葉、「自社が使えるお金」という意味

で使っている文化の企業では通じないことがあります。しかし、「予実管理」という言葉は経営・ビジネスの基本用語ですから、予算という単語に「目標」という意味があるのは知っておきたいところです。構成比 ~数字の内訳はどんな比率になっているか【算出式】構成比 =部分 ÷全体全社売上高など、全体の合計数字は、分解してその内訳を出す必要があります。前述したように、以下のようなさまざまな切り分け方が考えられます。・顧客(年齢層)別・地域別・支社別・商品別・担当者別このような基準で分解した各構成要素が、全体に対してどれくらいの割合を占めているか、という比率が構成比です。「シェア」「社内構成比」「内部構成比」とも呼ばれます。各要素の貢献度や偏重度、依存度を見ることができます。「数字で語る」とは、あいまいな形容詞や副詞による表現をパーセンテージで表現するということたとえば、次のような担当者別売上一覧。このように実数を出しただけでは、担当者間の大小比較がなんとなくできるだけで、極めて曖昧な判断しかできません。つまりこのままだと、「内山さんが圧倒的にたくさん売っています」「松本さんの売上が非常に少ないです」という抽象的な形容詞・副詞でしか説明ができないのです。「数字で語ると説得力が増す」とはよく言われることですが、「各部員の売上高」という実数を読み上げても意味がありません。ここで大事な基本は、「実数は、パーセンテージ(比率、割合)を使って表現することで、はじめて説得力を持つ」ということです。この表に、各担当者の構成比を加えてみましょう。すると、各部員間の占める割合における偏りが見えてきます。言葉での説明においても、次のように説得力や、聞く側のイメージの明確さが断然変わってきます。 【Before】内山さんが圧倒的にたくさん売っています。 ↓ 【After】内山さんの売上構成比は全体の 43%を占めており、約半分を占めています。「圧倒的にたくさん」という表現は非常に稚拙ですが、「全体の 43%を占める」という数値の比率表現にするだけで、途端にビジネスレベルの会話に引き上がります。もちろん、表現を変えただけでは仕事になりません。「その事実がわかった、だからどうする」という次の提案や行動の根拠として活かしてはじめて意味が出てくることも忘れてはなりません。「どんな目的を持って表を作るのか?」を必ず意識するこれらを駆使して実際に売上分析を行っている資料が以下になります。これは某企業の全国支社別の売上について、前年比、予実比、そして各支社の全国に占める割合である構成比を出した表です。指標として、前年比だけでなく、実数差を示す「前年差」を出しています。また、前年比と予実比を同時に見る意味、構成比を出しておくことの意味がきちんとあります。大切なのは、「自分が作る表では何を言いたいのか?」「どんな目的を持って表を作るのか?」という意思が明確にあるかどうかです。なぜ、前年比だけでなく「前年差」を出すのかまず、前年比だけでなく、実数の差分である前年差を出す意味は何でしょうか。たとえば、酒税区分「ビール」について、首都圏と沖縄の前年比を見比べてみましょう。首都圏の前年比は 107%、沖縄の前年比は 132%です。首都圏の前年比 107%という数字は、前年より伸びていることを示していますから、十分いい数字といえます。しかし、沖縄の 132%と比べてしまうと、「沖縄のほうが首都圏よりも高い成長傾向が伺える」といった見解に至る可能性があります。また、「沖縄の営業マンたちのほうが首都圏の営業マンたちよりもがんばって、去年よりも高い成長を実現した」という見解に至ることも考えられます。このとき、前年比でなく、前年との実数差を表す「前年差」という項目を設けておくと、また違った見方ができるようになります。たしかに、沖縄はがんばって数字を伸ばしたから、このような高い前年比を実現したかもしれません。しかし、前年比のような伸長率を表す指標は、分母が小さいと割と大幅に増えたように見えるものです。そこで、「首都圏と沖縄の伸長度合を比べると、沖縄のほうが優れている」と単純に考えず、前年差という実数差で見ることで「首都圏も大きな数字を積み増しており、全社における貢献度は高い」ことを補足的に説明するために、ここでは前年差という項目

項目を設けているのです。数字はパーセンテージで表現するのが大切なのですが、逆に「パーセンテージは実数を伴って説明されるべき」でもあるのです。たとえば「利益率」という指標は確かに大切なのですが、各企業を比較する際に利益率だけで比較するのではなく、同時に「利益額」という実数での比較をしないと正しい判断ができなくなるということです。前年比と予実比を並べる理由次に、前年比と予実比を並べているのにも明確な理由があります。首都圏の前年比と予実比を見比べてみましょう。前年比は 107%で前年を上回っていますが、予実比は目標に対して 86%と大幅に未達という結果になっています。ここで疑うべきは、「この目標値(予算)は本当に適正な数字だったか?」ということです。「目標値が無謀に高すぎなかったか?」という問題提起が考えられます。この予算(目標)を達成できたかどうかを、営業部長または営業部門全体の評価指標に使っている企業もあります。そのような評価指標を採用するのであれば当然、適正な目標設定がなされる必要があります。到底達成不可能な目標を課され、達成できなかったら評価が下がる……人間は感情の生き物ですから、それでは社員のモチベーションを下げるリスクが高まります。そのようなケースにおける検証方法の 1つとして、前年比と予実比を比較する方法があります。つまり、「前年比 107%という売上を作ったのに、その実績が目標値に遠く及ばないということは、その目標値の設定は高すぎたんじゃないのか?」と議論する余地があるわけです。そのとき、ただ「目標が高すぎたんだ」と言っても、説得力がありません。前年比という指標と並べることで、「前年比 107%という結果にも関わらず、遠く及ばないその目標値は、いったいどのような算出根拠で決めたのか」ということで議論の余地が生まれ、今後のより適正な目標設定につながる可能性が高まります。構成比はなんのために載せるのかそして構成比です。これは原則、そんなに変わるものではありません。巨大市場を抱える首都圏や都市部の構成比が高いのは当然です。ここで構成比を載せている理由は、普段よりも構成比がいきなり大きくなったり小さくなったりしている現象がないかを観察するためです。通常はさほど構成比が大きくないエリアの構成比が通常よりもいきなり高くなっていたら、「そのエリアで何か起きているのではないか、大きなチャンスが潜んでいるのではないか」「そのエリアの担当者が何か仕掛けたのではないか」と調べてみることで、新しい発見につながります。数字は実数とパーセンテージの両方で見ることが大事です。「実数だけ」「パーセンテージだけ」では、見落としや現状誤認が発生します。材料データを一瞬で完成品の表に変換するテクニック先ほどの表の全体像は、次のようになっています。この表のデータは、本書のサポートページからダウンロードできます。 http:// gihyo. jp/ book/ 2020/ 978-4-297-11143-4/ supportそして、この表は同じブック内の[データ加工]シートにある次のデータを材料にして作られています。このデータは、 5つの項目でできています。各列の項目名のセルには、それぞれ以下の項目が設定されています。 ・A列 → 販売年月を表す 6桁数値 ・B列 → 小売店県名 ・C列 → 商品コード ・D列 → 商品名 ・E列 → 売上金額つまりこのデータは、ある期間における、月別・県別・商品別の売上データだとわかります。しかし、せっかく蓄積されたこのデータを眺めているだけでは、個別の事実はわかっても、全体の傾向や実績はわかりません。では、「このデータを元に、売上状況を分析せよ」と言われたら、何から手をつければいいでしょうか?そのスタートラインとして、まず前年比、予実比、構成比という 3つの基本指標をすぐに思い出せると、分析作業の立ち上がりスピードが格段に違ってきます。あらたな集計基準を元データに追加する ~データ変換の工夫完成表の構成をもう一度確認してみましょう。縦軸には「酒税区分」と「支社名」があります。横軸には

には四半期ごとに 2018年と 2019年という、年度を意味する項目が設定されています。ところが、元データにはそのような項目がありません。じつはここで、以下のようなデータの変換が必要になるのです。・商品名 → 酒税区分・県名 → 支社名・販売年月 → 年度、四半期具体的には、元データに、作業列として、それぞれ変換したデータを追加していくことになります。最終的には、元データに次のようにデータを追加します。 F列の「酒税区分」には、 C列の商品コードに応じた酒税区分が入力されています。また G列の「支社名」には、 B列の県名に応じた支社名が入力されています。 2行目のデータでいえば、それぞれ、以下の変換を行っています。・愛知県 → 中部 ・27210786 → 発泡酒この変換をかんたんに行うには、あらかじめ変換対応表(変換マスタ)を別途先に作っておく必要があります。たとえば、別のシートに、次のように変換対応表を作っておきます。下ごしらえとして、あらかじめこのような変換対応表を先に作っておけば、あとは VLOOKUP関数ですべて変換することができます。変換して追加するデータを入力する関数を 1つずつ見てみましょう。変換マスタを作ったシートの名前を「変換マスタ」としている場合の関数式です。 ・F列(酒税区分) → = VLOOKUP( C 2,変換マスタ! A: C, 3, 0) ・G列(支社) → = VLOOKUP( B 2,変換マスタ! E: F, 2, 0) ・H列(年度) → = LEFT( A 2, 4) ・I列(月) → = VALUE( RIGHT( A 2, 2)) ※RIGHT関数だけでは結果が「 01」などのような文字列になってしまい、 J列で行う VLOOKUP関数の第一引数として使う際にエラーを起こすため、 VALUE関数で数値化しています。 ・J列(四半期) → = VLOOKUP( I 2,変換マスタ! H: I, 2, 0) ・K列( KEY) → = F 2& G 2& H 2& J 2※集計表に入力する SUMIF関数の第一引数(検索範囲)に使用します。 2行目にこれらの関数を入れたら、あとはデータの最下端行までコピー(ダブルクリックで一発)するだけで、データの変換がかんたんに行えてしまいます。元データにない項目は、関数により自分で追加することで、思いどおり自在に集計できるようになります。これで、材料となるデータが整います。ピボットテーブルへの依存による効率ダウンに注意 Excelには、データベース形式のデータをかんたんに集計できるツールとして、ピボットテーブルというものがあります。実際の使用例で、何ができるかのイメージを持ってください。ここでは、ピボットテーブルのオプション →[表示]タブにて[従来のピボットテーブルレイアウトを使用する(グリッド内でのフィールドのドラッグが可能)]にチェックを入れた状態の画面で説明しています。使い勝手としては、ここにチェックを入れて使うのがおすすめです。このように、さまざまな集計表をかんたんに作ることができるのがピボットテーブルです。たしかに強力な機能で、その強力さゆえに「表作成の定番ツール」と認識されて多用されるのですが、ここに大きな落とし穴があります。結論を言えば、

「定期的に繰り返される資料作成などのルーティンワークにピボットテーブルを使うと、効率を著しく落とす」ことを知っておいてください。よくやってしまいがちなのが、ひたすらピボットテーブルで集計 →表にコピペ、という作業を繰り返してしまうことですが、その方法は極めて非効率かつコピペのミスが発生して大変危険です。一度フォーマットを作っておけば、何度でも使いまわせるそのようなケースでは、材料データから関数で集計するフォーマットを作成するのが最良の方法になります。一度そのフォーマットを作ってしまえば、あとは材料データを所定の場所に貼りつけるだけで表を完成できるためです。この表では、まず最初に J 6セルに以下の集計式を 1回だけ入力します。 = SUMIF(データ加工! $ K: $ K, $ A 6& $ B 6& J $ 5& J $ 4,データ加工! $ E: $ E)第二引数では、以下の 4つのセルの値を結合しています。 ・A 6セル「ビール」 ・B 6セル「北海道」 ・J 5セル「 2018」 ・J 4セル「 1 Q」 J 5セルに実際に入力されているのは「 2018」という数値のみです。同じく、 K 5セルに入力されているのも「 2019」という数値のみです。しかし、セル上では「 2018年」「 2019年」というように「年」という文字がついています。これは、[セルの書式設定] →[表示形式]の[ユーザー定義]にて、[種類]の入力ボックスに次のように入力して、表示上においてのみ「年」という文字を表示させているためです。 0″年”結果として、先ほどの関数の第二引数は「ビール北海道 20181 Q」という文字列を作り出しています。第一引数は「データ加工」シートの K列を指定していますが、この列にも酒税区分、支社名、年度、四半期名を結合した文字列が作られています。つまり、この式は、 ・「データ加工」シートの K列が ・「ビール北海道 20181 Q」という文字列のとき ・「データ加工」シートの E列の売上数値を合計するという処理を行っています。この J 6セルの式を、そのまま J 6セルから K 14セルまでコピーすれば、それぞれの年度、支社における売上が集計されます。ここで、最初の J 6セルの式を範囲 J 6: K 14までそのままコピーしたあと、たとえば K 9セルを選択して、 F 2キーを押してみると、次のようになります。第二引数のところで 4つのセルを参照している SUMIF関数ですが、 A 9セル、 K 4セルの 2つは空白のセルを参照しているように見えます。ここでは、ちょっとした隠し技を使ってあります。次の図は、 A列のセルの文字色をすべて黒にした状態です。じつは、各酒税区分の「ビール」「発泡酒」という名称が、 A列の空白に見えていたセルにも、すべて文字色を白にした状態で入力してあるわけです。もちろん、これらの文字は SUMIF関数で参照するために入力してあるのですが、すべてのセルに表示があると表が見づらくなるので、 1つだけ残して、あとは文字色を白くして見えなくしてあるのです。 4行目にも、同様の仕掛けがしてあります。あとは SUM関数で合計を出し、前年比のセルには当年 ÷前年の割り算式を入れれば、前年比が出ます。その際、前年比が入るセルにはあらかじめ、「数値が 100%より小さい場合は赤字・太字にする」という条件付き書式を設定しておけば、次のように自動的に算出結果を判定して書式が変わります。あとは、以下のような手順でどんどん表の各セルに数式を入れていけば、表ができあがります。

こうして、最初に一度自動集計フォーマットを作っておけば、何度も使いまわすことができ、似たような集計作業を何度もしなくてよくなるのです。この仕組みを作っておけば、「データ加工」シートの所定の場所に元データを貼り付けるだけで、あとは関数が自動的に集計を行い、表が一瞬で完成します。その作業時間の短縮効果は、じつに 2時間の作業が 1分になるほどです。これをピボットテーブルを多用する方法など使っていたら、日が暮れてしまい、必死の作業の末にできあがったその資料はミスだらけで使い物にならない可能性が大きいのです。この資料のくわしい作成手順を理解し、実際に作成する演習は、弊社の Excelセミナーでは必ず行っております。ぜひ挑戦してみてください。最小の労力で最大の成果を出す 80: 20分析(パレート分析)その経費削減努力、本当に意味がありますか?売上を上げる。経費を下げる。どちらも利益を上げるためには大切なことですが、闇雲にがんばればいいというものではありません。力を入れるべき対象をまちがえると、手間ばかりかかるわりには成果が少ない、「労多くして実り少ない」結果となってしまいます。そうなると、生産性を下げるだけでなく、むしろ余計な時間コスト、つまり時間のムダを増やしてしまいます。さらには、社員のモチベーションが下がる事例も多くあります。たとえば、経費削減。多くの企業で「ムダなコストを減らそう」と努力していること自体は素晴らしいことです。ただし、その努力にも一定の労力や時間がかかっていることを忘れてはいけません。コストカットのためにかかった時間コストが、そのコストカット効果による削減分を上回っていては、本末転倒です。そのような「意味のない経費削減の努力」をすることがあってはなりません。今まで私が見てきた事例としては、次のようなものがあります。・ポストイットは半分に切って使え・コピー用紙は裏紙を使え・席を 10分以上離れるときはパソコンをシャットダウンしろ・メモ用紙はコピーの裏紙を切って使えけっこうな手間と時間がかかる作業のわりには、じつはこれらの経費削減努力はたいした経費削減額、つまり新たな利益を生み出しません。これらの作業にかかった時間分の人件費を考えると、むしろ赤字にさえなっているかもしれません。このようなコストカットのための作業はだいたい退屈で、生産性も低く、社員のやる気をなくす結果につながります。コストカットにおいては「チリも積もれば山になる」という表現がよくいわれます。「では、はたしてその作業は本当に積もったら山になるチリなのか?」それを見極める必要があるのです。パレートの法則とはビジネスでよく使われる考え方に「パレートの法則」というものがあります。「 80: 20の法則」ともいわれます。これは「売上の 80%は、全顧客のうち 20%の顧客からの売上で構成されている」「経費の 80%は、全社員のうち 20%の社員が使った経費で構成されている」という、ひと言でいえば「一部の構成要素が全体に大きな影響を与えている」という仮説です。具体的には、次のようなグラフで表現するとわかりやすくなります。これは、某社の顧客別売上構成比をグラフ化したものです。顧客を Aグループと Bグループに分け、それぞれのグループごとの顧客数(グラフ内では件数)と売上金額の比率を表しています。このグラフからは、件数シェアでは 26%にすぎない Aグループの顧客が、売上全体の 80%を担っていることが一目瞭然でわかります。この 26%の顧客からの売上を失った場合、または減った場合、全社売上に対する影響は経営を揺るがすレベルであることが読み取れるのです。したがって、この上位 26%の流出防止、継続的な取引を維持するための戦略を取る必要があるなどの意思決定、判断に活用されます。パレート分析のグラフに至る 3つの分析手法このグラフに至るには、次の 3つの分析手法を順に行います。 ❶ランキング分析まずはシンプルに、顧客をたとえば購入金額などの大きい順に並べ替えるだけです。 Excelの機能では「並べ替え」機能によりかんたんに行うことができます。これだけで、重要な顧客をリストの上部に並べることができます。たとえば、新商品の提案を行う際に、顧客に順に電話をかけていくとします。顧客名簿が五十音順に並んでいた場合、以下のどちらの手段を実行するかで、営業の効率は当然大きく変わってきます。・そのまま上から順番に電話をかけていく・一度購入金額の大きい順(降順)にデータを並べ替え、上位顧客から順に電話をかけていく「重要な顧客から順にアプローチしていく」という当然の手順を、 Excelの「並べ替え」機能が支援してくれるのです。 ❷ ABC分析顧客別売上データを降順に並べたら、次にそれぞれの顧客の購入金額について、全体構成比を出します。後出の表では、 C 1セルに全顧客の購入金額計が入っていますから、これを分母に、各顧客の購入金額を割り算して構成比

を出します。 D 4セルに次の式を入れて、最下端行までコピーします。 = C 4/ $ C $ 1次に、その構成比を足しあげ、累積構成比を出します。これで、たとえば「上位 3社のみで全体の 50%を占めており、その上位 3社が極めて重要な顧客である」ことがわかります。その重要度の分類として、「顧客をいくつかのグループに分ける」という形で分析する手法が ABC分析です。ここでは、累計構成比が 80%までの顧客を A、それ以降の顧客を Bランクと設定するとします。そのような分類は、 IF関数で行うことができます。 F 4セルに次の式を入力して、最下端行までコピーすることで、 Aランクと Bランクを分類することができます。 = IF( E 4 < 80%,” A”,” B”) ❸パレート分析このように Aランクの顧客と Bランクの顧客に分類できたら、次はそれぞれの「件数」と「合計金額」を出します。表は次の形になります。 「Aと Bがそれぞれいくつあるか」は、 COUNTIF関数で出します。 「Aと Bのそれぞれの売上合計はいくらか」は、 SUMIF関数で出します。実数を出したら、構成比を出します。すると、 Aは件数では全体の 26%ですが、売上に占める構成比は 80%であることがわかります。一方の Bは、件数こそ全体の 74%ですが、売上構成比では 20%にすぎないことがわかります。これをグラフにすると、先に挙げた「顧客別売上構成比」のようなグラフになります。もう一目瞭然ですね。この会社においては、まず Aグループの顧客を死守しなければなりません。もちろん、 Bグループの顧客を無視していいわけではありませんが、優先順位としてはやはり Aグループを重視するのがセオリーです。戦略的には、 「Aグループの顧客に提供する優遇策を Bグループの顧客層にも開示することで、 Bグループの購買意欲、 Aグループへの昇格意欲を刺激する」という方法も考えらます。こうした戦略立案の根拠、きっかけになる分析が、こんなかんたんな Excelだけでできてしまうのです。経費についても同様です。全体の大部分を占めている小数要素を抽出して、そこにメスを入れなければ、効果は出てきません。ポストイットを半分に切ったり、コピー用紙の裏紙を使うことに時間を割くよりも、「全体の 80%を占めている上位項目は何か」をあぶりだしてください。すると「社長のハイヤー代がけっこうな割合を占めている」 「『役員の交際費』と称した毎月のキャバクラ代を削減したら、経費は 20%減らせる」など、本当にメスを入れるべき対象が見つかってきます。労多くして実りない作業や努力に時間とエネルギーを割くことのないよう、何を対象に、どうするべきかを見誤らないために、 Excelの基本を理解するだけで使えるこうした分析手法をぜひ活用してください。「お金のブロックパズル」で会社のお金の流れを理解する「売上目標」を掲げている会社は非常に多いですが、ビジネスで意識すべき数字は「売上」だけではありません。「利益」も大事です。そして、利益とは、大雑把に言うと「売上から経費を引いた数字」です。 100万円を売り上げても、 100万円の経費がかかったら、利益はゼロです。利益を増やすには、以下のどちらか、あるいは両方を実践するのが基本戦略になります(ただ、現実のビジネスでは、必ずしもそうならないケースも多いことは理解しておいてください。経費を下げた結果売上が減ったり、経費を上げることで利益が増える結果になることもあるのです)。・売上を増やす・経費を下げるでは、売上を上げるために何をするか。経費を下げるために何をするか。ここで優先順位をまちがえないための手段の 1つとして、次の「お金のブロックパズル」で、会社のお金の流れを理解してください。 (https:// jcfca. com/ media/ kiziitiran/ 692. html)商品やサービスを提供した対価として、顧客からお金が入ってきます。これが売上です ①。仕入れ原価や材料費、外注費など売上と比例して変わる

費用が、売上から引かれます。この費用を「変動費」といいます ②。 ①の売上から ②の変動費を引いた儲け分が「限界利益」です ③。家賃や人件費、その他の販管費など、変動費以外の費用が「固定費」です ④。この固定費を大きく 2つに分けると、人件費 ⑤と「その他の固定費」 ⑥になります。この固定費を限界利益から引いた残りが「利益」です ⑦。これらの用語は、損益計算書に出てくる科目名とは別の概念です。たとえば、「利益」には本来は営業利益、経常利益、当期税引後利益などが出てきますが、ここでは単純化して説明しています。パレート分析をどう使うかこの 7つのお金の種類の中で、どのお金についてパレート分析を用いればいいでしょうか。たとえば「固定費の削減」は、どこの会社でも努力されていることです。「では、固定費のうち、どの経費から手をつけるべきか?」を出すために、パレート分析を行うのです。固定費を増やさずに給料を上げたいなら、人件費以外の「その他の固定費」を減らすことが考えられます。その場合も「その他の固定費」のどこにメスを入れるかが重要になります。そのような際に、削減効果が大きく見込める対象、つまり全体の 80%を占めている 20%の費目はどれかをあぶり出し、そこから手をつけるのです。変動費についても、仕入れ原価の大部分を占めている少数の業者や商品があれば、そこに対してわずかな値下げを実現するだけで、大幅な原価の減少 =粗利の増加が見込める可能性もあります。のべつまくなしに、取引業者すべてに片っ端から無理な値引き要請をしていくより、はるかに賢明な判断ができるはずです。もちろん売上についても、顧客別や商品別などで ABC分析、パレート分析を行うことで、重点顧客や稼ぎ頭の商品が見えてきます。平均値は嘘をつく最後に、 1つお伝えしたいことがあります。あらゆる本やセミナーで、重要基本関数として、「平均値」を出す AVERAGE関数が紹介されています。しかし、弊社の Excel研修ではこれを扱いません。なぜか。それは、数値データを用いた資料作成において、安易に「平均値」というものを使うべきではないと考えているからです。「平均値は嘘をつく」まずはそれを覚えておいてください。私たちは、昔からあらゆる場面で平均値というものになじんできました。テストの平均点。平均年収。そういった指標を聞いては、それを上回った、下回った、と一喜一憂します。平均値とは、全体の数字の合計を、全体の個数で割った値です。なんとなく、「全体における中心的な値」だと感じますよね。しかし、平均値は実際の現実と乖離した印象を私たちに与えるリスクがあるのです。たとえば、ある地域で住宅販売をしようと考えた工務店が、その地域で売れる価格帯を調べようと、その地域の年収調査を行いました。結果は、 600万円。なので、この工務店は、この地域では「年収 600万円の人が多数派」と判断し、年収 600万円前後の人をターゲットにした家づくりをしようと決めました。ところが、じつはこの地域には極端な格差がありました。「年収 900万円の人々」と「年収 300万円の人々」に二分化していたのです。たしかに、足して 2で割れば、平均年収は 600万円になります。しかし実際には、年収 600万円の人などそこにはいなかったわけです。また、企業の「平均年収」という指標。これを判断材料にする際にも注意が必要です。一見高く見える平均年収も、一部役員の高額な報酬が平均値をつり上げており、大多数の社員の年収は平均年収より大幅に少ないのが実態である可能性もあります。このように、平均値は、実態とは乖離した認識を与えるリスクがあることに注意してください。統計学では、この問題に対して、出した平均値の元となる各数値のバラつき具合を見る「標準偏差」というものを教えています。ただ、それがプレゼンテーションで説明されたとして、聞いた人が直感的に理解できて、実際のビジネスの現場での行動につながるだけの説得力を持つとは限りません。その点への留意が必要です。資料に「平均値」を用いている場合、その平均値はなぜ出したのかをお伺いすると、「何となく」「前任者が出していたから」という答えが返ってくることが多いです。明確な意図と意思を持って資料を作らないと、そういうことになるのです。自分の大切な時間と労力を割く仕事です。「その仕事によって、どんな成果が生まれるのか?」を強く意識してください。惰性で資料を作成している場合ではないのです。仕事に必要で大切な 3つの要素である「主体性」と「責任感」と「全体観」を失うことなく、 Excelを武器にして、仕事力を大幅に上げていただきたいと思っています。おわりにデスクワークの現場はまだまだカイゼンできるトヨタ生産方式の確立によって「カイゼン」という言葉が世界共通語となるほど、工場など生産現場では非常に細かい単位で業務改善の努力が進められています。秒単位、ミリ単位、ネジ 1個単位……そんな極限の小さなこだわりを積み重ねて大きなカイゼン効果を生み出してきた生産現場の努力には敬意を表するべきです。一方、デスクワークが中心のオフィス業務においてはどうでしょうか。工場でなされているのと同じレベルで、ムダをなくし生産性を上げる努力がなされていると言えるでしょうか。毎月同じ資料を作るのに、丸 1日かかっている。毎月請求書を発行するのに、 3日もかかっている。毎月社員の勤怠集計をするのに、 1週間残業が続いている。しかも、手作業で工数が多いから、ミスが頻発している。そのような状況を特に問題とも思わず、当たり前の労力として放置している事業所にこれまでいくつも出会ってきました。そして、そのような事業者の皆様に Excelの指導を通じて関わり、実現してきたことは、およそ 10倍から 1000倍のスピードアップと生産性の向上です。 1日がかりの作業が 3分に短縮され、資料のあちこちで起きていたミスの発生が完全にゼロになりました。最初にほんの少し時間をかけて Excelの基礎を知っておくだけで、膨大な時間と労力が節約できる。その時間と労力を、本来なすべき生産性と創造性ある仕事に割くことができる。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次