• ベストアンサー

出勤日を数える関数

カレンダー 1234567 89・・・・ という月曜から日曜までを1週間横長にしたものをエクセルで作成してあります これを使うことが前提です。 1、1か月のうち、土日祝は休みなので   それをのぞいた日を集計 2、1か月のうち、出勤した日を集計 この二つを出したいと思っています。 また、一か月は16日~翌15日までです。 関数だけでできないでしょうか 別の場所に式をいれてもかまいません。 表の枠や文字に色をつけてもかまいません。 マクロはつかえないですし、使わない方向でお願いします。 可能な場合はコメントお願いいたします。

noname#228654
noname#228654

質問者が選んだベストアンサー

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.6

回答No.4の追加です。 補足を要請したのですが未だに補足がありませんので回答No.4に添付の画像のようなものとして勝手解釈の算出方法を提言します。 >1、1か月のうち、土日祝は休みなので、それをのぞいた日を集計 該当月の月曜日~金曜日(祝日を含む)の日数は次の数式で算出できます。 =COUNT(A4:E9) 祝日の日数はカレンダーの行毎に祝日一覧の列からSUMPRODUCT関数とCOUNTIF関数の組み合わせで集計します。 第1週目の数式は次のようになります。 =SUMPRODUCT((K$1:K$20=DATE(A$1,C$1,A4:E4))*(A4:E4>15)+(K$1:K$20=EOMONTH(DATE(A$1,C$1,1),0)+A4:E4)) 1ヶ月分は最大で第6週までになりますのでしてへオートフィルで下へコピーします。 作業用の列でI4:I10へ第1~6週の祝日が算出されるものとして土日祝日を除いた日数は次のようになります。 =COUNT(A4:E9)-SUM(I4:I10) >2、1か月のうち、出勤した日を集計 >表の枠や文字に色をつけてもかまいません。 Excelに標準で組み込まれた関数にはセルの文字色や罫線の種類等を検出できるものがありませんので集計できません。 但し、マクロ関数を使うことでセルの塗りつぶしの色を検出できる方法があるようです。 しかし、使い方がExcel初心者には理解できないと思いますので割愛させていただきます。(要請があれば追加で回答します)

noname#228654
質問者

お礼

ありがとうございます。

noname#228654
質問者

補足

どちらか一つの集計ができただけでもよかったです。

その他の回答 (5)

回答No.5

〉カレンダー形式に表示した 補足ありがとうございます。 エクセルのカレンダー形式を把握されているということで、失礼しました。 以下、カレンダー形式で表示できているという前提で回答します。 エクセルには、表示に、日付関数があり、関数の分類に、カレンダー関数があります。 曜日を関数で求めたいなら、書式を日付で設定し直して、日付を入れ直してください。 http://proengineer.internous.co.jp/content/columnfeature/7422 表示形式で曜日を表示する方法です。 他に、デイ関数で曜日を求めることもできます。 数えるならこっちが向いていると思います。

noname#228654
質問者

お礼

ありがとうございます。

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

>これを使うことが前提です。 年月の情報は何処に記載されていますか? また、当月16日から翌月15日としても曜日との位置関係は正しく入力されていますか? >関数だけでできないでしょうか できますよ。 数式については実際に使用している表を列記号(A、B、C等)と行番号(1、2、3等)を含めて提示してください。 例(添付画像の通り) A1=2017、B1="年"、C1=9、D1="月度” A2="勤務表" A3="月"、B3="火"、C3="水"、D3="木"、E3="金"、F3="土"、G3="日" A4=""、B4=""、C4=""、D4=""、E4=""、F4=16、G4=17 A5=18、B5=19、C5=20、・・中略・・F6=30、G6=1 A7=2、B7=3、・・中略・・E8=13、F8=14、G8=15 数式を提示すれば何も考えずに丸写しで利用するのでしょうから表の提示を待って数式を考えます。

noname#228654
質問者

お礼

ありがとうございます。

noname#228654
質問者

補足

関数を使いたいのは、集計です カレンダーを作成したいのではないです

回答No.3

日付が入っているのではなく、数字が入っているだけのものがある、ということですか? それだと、あなたの中ではカレンダーですが、エクセルにとっては単なる数字か文字の羅列したものです。 この認識であっていますか? だとしたら、曜日にする手段がないので、除外する数字か文字の羅列を別に付くって、カウントイフで数えることになると思います。

noname#228654
質問者

お礼

ありがとうございます。

noname#228654
質問者

補足

カレンダー形式に表示した、というだけです。 印刷をすればかれんだーになるというだけです。 数字が入っているだけの表です。 曜日にする手段というのはどういうものでしょうか。 下の2行がわかりません。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

すみません。 記載の通りカレンダーはすでにできているのでしたら、どのようなカレンダーなのかによって、セルに記入する数式は異なります。 =NETWORKDAYS(A1,B1,休日) はカレンダーの作成方法ではなく日数計算の数式です。

noname#228654
質問者

お礼

ありがとうございます。

noname#228654
質問者

補足

カレンダーは、式がはいっているものを作成していましたが、 長すぎて編集ができないので、 そのまま上から数字を入力しました。 123と順番に手入力しています。 私が勝手に想像している計算式では 文字に色をつけるなどして、 本人の出勤日の赤だけを集計 総出勤日は、赤と休んでいる緑(土日祝をのぞく)を集計というものでした。 が、できそうにありませんでした。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

その会社専用の休日が有る場合は、まずは会社専用の休日を含むカレンダーを作ることをお勧めします。 一か月が16日~翌15日まででしたら、 A1セルに開始日(例えば2017/9/16)、B1セルに終了日(例えば2017/10/15)、土日以外の休日のリストを「休日」という名前で定義し、C1セルに営業日数を表示させる場合です。 C1セルに =NETWORKDAYS(A1,B1,休日) なお、NETWORKDAYS関数が[関数の挿入]ダイアログなどに表示されないという場合、メニュー[ツール]-[アドイン]をクリックして[アドイン]ダイアログを表示させ、[分析ツール]チェックボックスをONにしてください。 以下参考(土日祝日の計算結果の検算にご利用ください) http://keisan.casio.jp/has10/SpecExec.cgi?path=01200000.%82%B1%82%E6%82%DD%82%CC%8Cv%8EZ%2F02000000.%93%FA%82%C9%82%BF%81E%97j%93%FA%2F11000100.%89c%8B%C6%93%FA%90%94%8Cv%8EZ%2Fdefault.xml

noname#228654
質問者

お礼

ありがとうございます。

noname#228654
質問者

補足

すみません。 ちょっと意味がわからなくて。 記載の通りカレンダーはすでにできています。 これは、カレンダーの作成方法ではないでしょうか? 必要なのは、日数計算です。

関連するQ&A

  • 日曜日の出勤について

    土日祝休みでないところって結構あると思います. 土曜日位は仕事の人はかなりいそうですが、法定休日である 日曜日に出勤することってありますか?

  • 週3日勤務するなら何曜日を出勤日にしますか?

    週3日勤務するなら何曜日を出勤日にしますか? (自由に出勤日を選べるとしてお聞きしています) 土日祝はお休みです。 アンケートのご協力頂けると有難いです。 よろしくお願いします。

  • エクセルで回数を指定して出勤表を作りたい

     エクセルを使って,出勤表を作りたいと思っています。1月ごとのカレンダーで,3班体制なので,ある日は1班。次の日は2班というようにしたいのです。  曜日に関しては,土日祝以外になります。  1番問題なのは,平日をすべて出勤するのではなくて,各月ごとに,班毎の出勤回数を指定したいのです。  そこで,どこかのセルにその月の出勤回数を6なら6と入力することで,自動的にカレンダーに1班,2版,3班と入力されるようにしたいのです。  どの日を未出勤日にするか等の指定はありません。  得るにはいった数値でそれに合わせた回数を自動入力させる方法があれば教えてください。

  • 【Excel2010】出勤日のみ表示したい

    勤務時間管理表にて、現状、土日はweekday関数で翌出勤日が表示されるようにしてありますが、平日の祝日はそのセルに日付を手入力しています。祝日のある月はその作業が面倒でどうにかならないかと常々思っております。 休日&振替日一覧は作成してありますので、条件付き書式で土曜日は青文字、日曜日と休日は赤文字になるよう設定して会社休日が紛れ込んでいないか確認できるようにしてあります。 この一覧表を利用して出勤日のみを表示させる関数はありませんか?

  • 出勤簿について

    うちの会社の出勤簿はタイムカードではなく、紙の出勤簿に毎日出勤後に押印し末締め(入社当時は20日締め)で提出するタイプです。 で、入社日(おそらく有給休暇の関係で)を記入する欄があるのですが、そこで疑問です。 採用通知書、辞令、健康保険は3月22日となっています。 しかし実際に仕事をしはじめた(出勤簿をつけはじめた、給料が発生しだした)のは3月14日です。 非常勤として労働契約はしておらず14日から18日までの5日分常勤としての基本給の日割りを頂きました。(19~21は土日祝で22日の月曜日に辞令を頂く。) この場合出勤簿をつけはじめた(給料が発生しだした)のが3月14日からですので、出勤簿の入社日は3月14日でよいのでしょうか? 一般的に入社=採用日?それとも入社=初出勤日?

  • excelで日付の関数・・・

    すごく初心者的な質問ですみません。 excelで日付関数を使いこなせなくて困っています。色々ネットで調べたり、本を見たりしましたが、出来なくて。。。 ある列に入力した日付(例えば2004/2/19とか・・)の 10日後の日にちを別のセルに出したいのです。 それはいとも簡単にできるんですが(当り前か??) その10日後ってゆうのが曲者で、10日後が、土日祝にあたる場合は月曜日若しくは祝日の翌日の日にちが入るように指定したいのです! ちなみにWORKDAY 関数だと、10日間カウントするにも土日祝を抜いて計算 してしまいますよね??? 皆さんならどうやって処理されますか???? 明日、処理したいのですみませんが早めにご回答お願いいたします!

  • 休日出勤

    休日出勤で、土日出勤の際、代休で、平日休めるなら、月曜日〜金曜日迄の何曜日を休みたいですか?理由もお願い致します。

  • 祝日に出勤するよう会社に言われたんですけど

    お世話になります! 来る7月19日(月:祝)に出勤するよう上司に言われました。 もともと社内カレンダーでは休みになっている日です。 出勤は構わないのですが、代休を22日に取るようにと命令あり。 代休は構いませんが、私としては26日に取りたいのです。 22日代休確定なら出勤したくありません。 これって断ることは出来るのでしょうか? 代休も与えた上での命令だから従わなければいけないのでしょうか? 法的な解釈でご回答下さい。 お願いします。

  • エクセルで特定のセルをマクロで色づけする

    お世話になります。 出勤チェックを集計するためのファイルを作っています。 説明がわかりにくいかもしれず申し訳ありません。 添付画像のカレンダーシートから年月を選択。 集計シートの日付は、カレンダーシートから取得した年月日を リンク貼り付けし、表示形式を日付と曜日にしています。 例えば、2011年9月と選択した場合、 日付の1日のところは、(画像でセル番号が抜けましたが、B4です) =DATE(カレンダーシート!C4,カレンダーシート!C5,1) 曜日のところは、=B4 となっています。 この状態で、土日の休日は、集計シートの朝、帰りのセルを空欄にしたいのです。 (出勤日計算を、”朝”の数でcount関数で出しているため) 単純に、IF文で曜日が土日なら空欄にする方法は、 中に入っている数式が日付なので、できません。 何か良い方法をアドバイスいただければありがたいです。 なお、できるだけ、マクロやVBAなしで関数のみで実現できると助かります。 よろしくお願い申し上げます。

  • 初出勤日を間違えました

    先週、パートの面接に行き採用の連絡を頂きました。 その際に○日から出勤で・・・ということで電話で連絡を頂いたのですが、 電話を切ってからカレンダーを確認すると中途半端な日だったので、 自分が聞き間違えをしたのかもと思い、数時間後に持参品の確認の電話をする感じで、 あらためて「来週の月曜日からですよね?」みたいな感じで聞き、「そうです」と返事を頂いたので、 月曜日に出社して、待合室で待っていると奥のほうから「え~明日からなのに」という声が聞こえ、 担当者の方が出てきました。「明日からなんですけど」と言われ、「来週からと聞いていたのですみません」と謝って帰ってきましたが、自分が情けなくて恥ずかしいです。 本当の出社日にどんな顔をして行けばいいのか・・・社会人として失格ですよね。

専門家に質問してみよう