Excel(エクセル)関数の練習問題仕事ですぐ使える!役立つ!Excel(エクセル)関数の使い方・裏技を練習問題で楽しく身につけよう!

無料メルマガ【Excel(エクセル)関数の練習問題】

エクセルの練習問題を出す【練習問題】と、読者様のご質問にお答えする【教えて!エクセル関数】を毎週お送りします。表計算もおっかなびっくりの初心者から、エクセルデータベース作成もサクサク上級者まで!

メールアドレス: Powered Byまぐまぐ

No.43 Excel上級編:日報の提出率を計算してみる

出題

さて、提出数は出ましたが、休みの日数がバラバラなので、数だけでは
誰がよく提出しているかの目安にはなりません。

下手に
「○○さんは10回提出しているのに、××さんは9回よ!」
なんて言ってしまうと、××さんから
「私は今月休暇を2日とってますが…」
とツッコミが入ってしまいます。

そこで、かおりさんは提出率を計算してみようと思いつきました。
さて、どうすればいいのでしょうか??


解答

今回使う関数は…
MIN関数
DAY関数
TODAY関数
DATEVALUE関数
COUNTIF関数
です。

いっぱいあって大変そうですが、大丈夫です(^^;;

早速やってみましょう。

提出率=提出数÷提出すべき日数×100(%) ですね。
提出数は既に計算済みですから、提出すべき日数を出して、割り算を
すれば良いことになります。

では、提出すべき日数はどうやって計算すればいいのでしょうか?
月初から今日までで「休」じゃない日数、つまり
月初から今日までの日数 -(マイナス) 「休」の日数 を計算すれば
いいことになります。

実際にやってみましょう。
福田さんの提出率欄の隣に、提出すべき日数を計算するスペースを
作ってみました。

「=MIN(DAY(TODAY()),DAY(DATEVALUE(A1&AE1)))」と入力して下さい。
まず、DAY(TODAY())は、今日の年月日の「日」だけを取り出した数字を
あらわします。例えば、今日が9月15日なら「15」です。
DAY(DATEVALUE(A1&AE1))は、A1とAE1を繋げて日付文字列にして、そこから
「日」だけを取り出した数字を表します。A1は「9月」AE1は「30日」ですから、
結局DAY(DATEVALUE(A1&AE1))とは、「9月30日」の日付部分の数字、「30」と
いうことになります。
そして、MINでこの2つの数字を比較し、小さいほうだけ返して貰っています。

すると、当然「15」と「30」では「15」のほうが小さいので、結果は「15」に
なります。

月初から、今日までの日数は「15」、ではここから休みの日を引く(マイナスする)と
日報を提出すべき日数になりますね。
これで、「福田さんが日報を提出すべき日数」を計算する式は「=MIN(DAY(TODAY()),
DAY(DATEVALUE(A1&AE1)))-COUNTIF(B4:AE4,"休")」だとわかりました。

いよいよ提出率を計算してみましょう。
福田さんの提出率の欄に「=AF4/AH4」と入力してエンターキーを
押してみてください。

8÷10の計算結果、0.8が表示されました。

セルの書式設定を「パーセンテージ」にすると、「80%」になりますね^^

後は全員分オートフィルしましょう。

※ちなみに、ここまでの計算結果はPCの日付を9月15日に戻した
場合の結果です。

無料メルマガ【Excel(エクセル)関数の練習問題】

エクセルの練習問題を出す【練習問題】と、読者様のご質問にお答えする【教えて!エクセル関数】を毎週お送りします。表計算もおっかなびっくりの初心者から、エクセルデータベース作成もサクサク上級者まで!

メールアドレス: まぐまぐ