ホーム > ソフトウェア > 別表管理

別表管理

2010 年 11 月 8 日

勤怠をEXCELで自作した表で管理している人も少なくないはず。勿論、社内システムのひとつとして用意された勤怠管理システムはありますが、個人的に管理…したくなっちゃいますよね。そういう風に自分本位で何か「ものづくり」をしているときこそ、スキルが上がるときだと思ってます。

前置きが長くなりましたけど、「INDIRECT」と「SUMIF」を組み合わせて使えたので備忘録。

これはごくごく普通の表です。僕が本当に会社で使っている表とは項目の数もスタイルも全然違います(会社では明朝使いだし)が、最低限このくらいの情報が勤怠管理の表として必要だと思います。ここで例えば【土曜日だけ】の就業時間が欲しかったら、どうしますか?

そりゃ[SUMIF]を使うだろJK、ですね。

式は【=SUMIF(C3:C13,”土”,G3:G13)】です。

  • 表の中で「土」と書かれた範囲(ここではC3:C13)
  • 表の中で土曜日の就業時間が書かれた(ここではG3:G13)

これらを指定すればOKです。

SUMIFは別に難易度が高い関数でも何でもないので、これ以上の説明は省略。これに「INDIRECT」を付けて使えるんだ!ってのを備忘録として残しておくのが今回の目的なので、さっさと本題に移ります。

各シートでひと月分の勤怠を管理することができるようになったら、次はそれを集計したくなるのが人間の性。この月は全部でどれくらい働いたんだろうとか、この月は土日にどれくらい働いたんだろうとか。

就業時間(合計)」の導出はINDIRECTの基本だと思います。おさらいがてら関数を書いておくと、【=INDIRECT(“‘”&シート名&”‘”&”!G14″)】が答えです。今回はシート名をB列に書いてますので、もっとうまく書くなら、【=INDIRECT(“‘”&B3&”‘”&”!G14″)】が正解。セルの位置を画像に含めていないので、G14が何なのか分からないですね。G14は「2010-10」シートで就業時間の合計が書かれたセルです。INDIRECTを使い、別シートのセルを参照しています。

次が肝。「就業時間(土曜のみ)」の導出です。SUMIFとINDIRECTを組み合わせます。少し前に書いたばかりですが、INDIRECTを使うことで別シートのセルを参照することができます。ですので、土曜のみの就業時間を求めるための式は以下の通り。

長いです。SUMIF関数で検索範囲と計算の対象範囲を指定しますよね。↑式は難しそうに見えますが、ここを全部INDIRECTで置き換えただけです。カンタン!でも、便利!

そして、次からはセルのポジション(行番号と列番号)までちゃんと画像に含めます。。。

カテゴリー: ソフトウェア
コメントは受け付けていません。