• ベストアンサー

労働勤務表の有休を自動計算したいんですが・・・

このカテゴリでいいのか、PC用語もわかりません(><)勤務表の管理をしているのですが、もっと便利に使いたいので質問させて頂きました。有休の場合の自動計算の仕方がわかりません。一人一人、一日の労働時間はさまざまです。左の縦列Aに名前があり、Bに基本の労働時間、Cからはその日の労働時間(タイムカードを元に入力)なのですが、有休の場合は時間を入力するところ(C列から)に 有 と入力するのですが、有×B(有休×基本の労働時間)を、一番下の合計時間の上あたりに自動計算できるように作りたいのですが、頭かかえてます。この説明で理解してもらえるか心配ですが、よろしくお願いします。。。

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

  • ベストアンサー
  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.2

そのような処理を行なう一番簡単な解決方法は、私が既に示したような、 「各人の有給数*各人の基準時間」の小計を各人ごとに用意し、最後に それらをsum()で合計することです。 VBAでやるという案もありますが、ちょっと荷が重いかもしれません。 もし、どうしても単一セルでやりたければ、 =SUM(COUNTIF(C2:I2,"有")*B2,COUNTIF(C3:I3,"有")*B3) のようにすることで、可能です。   ↓ ちょっとごちゃごちゃしているので見やすいように整形すると下記の内容になります。 =SUM(    COUNTIF(C2:I2,"有")*B2 ,    COUNTIF(C3:I3,"有")*B3   ) 解決のためのヒントは差し上げられますが、それを元に活用するよう、 アイデアを練るのはあなたしかできません。 私が提示したサンプルを元に対応策を考えてみてください。 もし、私の提示した方法がどうしても対応できない事情があれば、その理由と、 私が#1で示したような画面例をご用意ください。

banikosan
質問者

お礼

ありがとうございます☆できました(^○^)/♪初質問で不安いっぱいでしたが、素早い回答で丁寧に教えて頂きとても感謝致します。ありがとうございました!

その他の回答 (1)

  • RAPTsong
  • ベストアンサー率42% (74/175)
回答No.1

countif関数を使います。      [ A ] [ B ] [ C ] [ D ]  [ E ] [ F ] [ G ]  [ H ] [ I ]  [ J ] [ K ] [ 1 ] 名前 基本  1日  2日  3日  4日  5日  6日  7日  合計 有給計 [ 2 ] 阿部   8   8   8    有   8   8    有    8   40  16 [ 3 ] 馬場   6   6   0     6   6   有   有   有   18  18 こんな感じででしょうか? J2 には「 =SUM(C2:I2)」、K2 には「 =COUNTIF(C2:I2,"有")*B2」 J3 には「 =SUM(C3:I3)」、K3 には「 =COUNTIF(C3:I3,"有")*B3」 という風にすればOKです。

banikosan
質問者

補足

理解して頂きありがとうございます☆作ってもらった表であってます。しかし説明不足でした。合計は、もちろん「J]にも1人1人の労働時間合計があるのですが、「C」の[ 5 ]に1日の全員の労働時間合計があり(SUM)の方は自動計算できてます。「C」の[ 4 ]に有休計をいれたいのですが、(例)安部さんの3日に 有 と打ち込むと自動的に「E」の[ 4 ]に 8 とでるようにしたいのです。その場合でも同様、関数のCOUNTIFを使用するんですよね?=COUNTIFの後は手打ちで範囲を打ち込んだらいいのでしょうか?SUMの場合、点線のような囲いがでてきて決定させればいいですが・・・バカすぎてすみません。よろしくお願いします。

関連するQ&A