エクセルの練習問題を出す【練習問題】と、読者様のご質問にお答えする【教えて!エクセル関数】を毎週お送りします。表計算もおっかなびっくりの初心者から、エクセルデータベース作成もサクサク上級者まで!
さて、提出数は出ましたが、休みの日数がバラバラなので、数だけでは
誰がよく提出しているかの目安にはなりません。
下手に
「○○さんは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日に戻した
場合の結果です。
エクセルの練習問題を出す【練習問題】と、読者様のご質問にお答えする【教えて!エクセル関数】を毎週お送りします。表計算もおっかなびっくりの初心者から、エクセルデータベース作成もサクサク上級者まで!