Excel業務改善コンサルタントの小野です。
ある方からこんなご質問を受けました。
Excelファイルで人事管理をしています。
前月のシートと今月のシートを比較し、変更のあった人だけ抽出することはできますか?
答えは「Excelのマクロで作らなくてもシンプルな計算式でできます!」です。
たとえば、こんな人だけ抽出したいとき・・・
「今月退職した人」
「アルバイトから正社員になった人」
「部署が変わった人」
などなど
こんなご相談、よく聞きます。
実際、こうするといいですよ~とよくアドバイスします。
マクロは何でも叶える魔法の道具ではありません
Excelは答えが一つではありません。
どうやって求めるものを導き出すかは人によって違います。
だからExcelの知識が偏っている人や実務経験のないPCインストラクタに質問すると、
マクロを作らないとダメですね~~~ とか
これはExcelでは無理。Accessでやらないと! など
変なアドバイスをされる恐れがあります。
あとは やたらとマイナーな関数をいくつも使いたがる人とか・・・
ちょっとした一工夫で簡単に比較できます
Excelのシートを作るとき、常に考えなければいけないことは
その作業が今回限りか定期的に行うことなのか です。
それによって気を付けるポイントが変わりますし作り方が違ってきます。
この例は1回限りの作業ではありません。
先月と今月を比較するという作業は毎月行う作業です。
この例で注意するポイントは次の3つ。
- Excelのどの機能を使えばいいか考える
- 楽に、簡単に、間違いなくできる方法を考える
- 計算式はシンプルに!
誰でも使える簡単便利なフィルターを使います
フィルターって便利ですよね~~~
わたしもひんぱんに使います。
今回、フィルターで簡単に抽出できるようにするためには、該当者かどうかが分類できればいい訳です。
具体的に「今月の退職者を抽出する」という内容で解説していきますね。
当たり前の話ですが「退職日に日付が入っている人が退職者」ですよね。
では佐藤さんと鈴木さん、両方が該当するでしょうか?
答えは「No」ですよね。
今月が2016年6月なら佐藤さんだけ、今月が2016年7月なら該当者なしです。
そこは計算式に一工夫が必要です。
この場合、退職日の欄に日付が入力されているかどうかで判断するのではなく、入力されている場合はその日付の年月がいつなのかで判断する必要があります。
今月のデータの横に、計算式を入れる項目を追加します。
G列は退職日の日付を見て当月年月なら「該当」と表示させる計算式を作成します。
Year関数とMonth関数をつなげて「年月」だけ抜き出し、当月かどうかを判断します。
退職日の欄が入力されている時だけが対象になりますので、うまくIF関数を使って計算式を作ります。
あらかじめ計算式を作っておけば、毎月の作業は前月と当月の明細データをコピペするだけ。
あとはフィルターでG列を「該当」だけ表示し抽出します。
もしこれをマクロで作ろうとすると、マクロの作り方を理解するところから始めなければいけません。
何よりマクロを作るためにはExcelの機能や関数を熟知していないと、有効なマクロは作れません。
Excelで出来ることを自動化するのがマクロですから。
というわけで、ビジネス現場では、だれでも知っている機能を使い、できる限りシンプルな計算式で作ることが、一番現実的です。
サンプルファイルがほしい方はご連絡ください。
ご相談やご質問がありましたら、Excel業務改善コンサルタントの小野 眸までご連絡ください。
E-mail:contact★pcgaku.com ★を@に打ち替えてお送りくださいね。