• ベストアンサー

曜日別に出勤を管理したい

1ヶ月事の出勤表を作成したいのですが、 月水金or火木土 などの曜日で出勤する人がいます。 その曜日に出勤していれば 勤務した時間 例)6 などを表示したいです。          月 火 水 木 金 土 名前A 月水金 6    6    6  月曜日出勤なので 6 という条件をしたいです。 上記でわかっていただけるかがわかりませんが・・・宜しくお願いします。

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

  • ベストアンサー
  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.4

ANo.1のjo-zenです。内容がこちらの推測と違っていたようなので、補足します。 A2以下に氏名、B2以下に「月水金」などの出勤日の曜日の文字列、C1~I1に、月、火、水、木、金、土、日、という風に入っているとして、C2に   =IF(ISERROR(FIND(C$1,$B2,1))=FALSE,6,"") と入力してあげて、それをD2~I2にコピー、C2:I2を選択して下にコピーしてあげればいいかと思います。C1「月」などの文字が、B2に含まれるかどうかを判別し、含まれれば「6」を表示、含まれなければ空白にするようにしています。 FIND関数は、   FIND(検索文字,対象文字列,開始位置) の形です。開始位置を1にすれば、もし含まれれば先頭から何文字目かという数字を返します。含まなければエラー値を返しますから、ISERROR関数で制御しているのです。 6以外の数字の場合もあるとのことですが、これが時間を表すのであれば、別セルに時間を入れておかなければ実現できません。   =IF(ISERROR(FIND(C$1,$B2,1))=FALSE,6,"") の6のところを、参照するセル、例えばE2などと変えてあげればいいかと思います。もちろん、E2には6とか3とか8といった数字を入れておかなければいけません。

babara1979
質問者

お礼

2回もありがとうございます! 凄くわかりやすい説明ですねぇ・・。 印刷して大事にしようと思います♪ 本当にありがとうございます!

その他の回答 (3)

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.3

表がA1から作成されているとして C2セル("月"列の1行目)で、B2に入力された"月水金"の文字から"月"が入力されているかを調べるには =FIND(C1,B2) とします。 結果は"月"が入っていれば1("月水金"の1文字目)、入っていなければ#VALUEエラーが返ります。 そこで式を =IF(ISERROR(FIND(C$1,$B2)),"",6) とし、あとは他のセルにコピーすれば完成です。 ※ISERROR関数は計算結果がエラーかどうかを評価するものです。$はコピー用に複合参照に変更しました。

babara1979
質問者

お礼

ありがとうございます。 FINDって色々な事に使えそうですね。 ・・・凄く勉強になりました!! $の位置も気をつけないといけませんね。

  • LN-TF
  • ベストアンサー率53% (320/596)
回答No.2

ご質問では可也察し読みをせないと、お答え出来ません。 先ず、Excelでの作業でしょうか?(これは重要です) 次に元のデータはどのようの状態でしょうか。 例)Aさん月水金 Bさん火水金 Cさん月木土 Dさん月火水木金 と云う感じでしょうか? いつも「6」で良いのですか?(「3」とか「8」とかは無いですか) そして作りたいのは、 A   B     C D E F G H           月 火 水 木 金 土 Aさん 月水金   6   6   6 Bさん 火水金     6 6   6 Cさん 月木土   6     6   6 Dさん 月火水木金 6 6 6 6 6 6 この場合先ず、氏名と出勤曜日を分けて入れます。 例えばC3ならば次式を入れます。 =IF(AND(SEARCH("*月*",B3)>0,SEARCH("*月*",B3)<8),6,"") これでは如何でしょうか?

babara1979
質問者

お礼

ありがとうございます。 言葉が足りずすみませんでした。 これです!!!!! いつも「6」ではなくて「3」「8」もあります・・。 まさしく私の表示したいのはコレです! ほんとにありがとうございます!!

  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

1ヶ月「毎(ごと)」の出勤表から、曜日毎の出勤時間を別表に集計したいということですか??? 使われているソフトはExcelでしょうか。WEEKDAY関数などを使って、各日の曜日を「1~7の数字」に変換してあげれば、集計は簡単です。 例えば、「曜日を数字に変換したものがD3:D33に入っていて、勤務時間がG3:G33に入っているとすれば、  =SUMIF(D3:D33,曜日を変換した数字,G3:G33) で求まります。「曜日を変換した数字」の1~7は個別に指定してもいいですし、何ならかの方法でセル参照させてあげてもいいかと思います。やりかたはいろいろありますし。

babara1979
質問者

補足

集計ではなく・・・ 出勤した日(曜日)に数字を表示させたいのです。 お願いします。

関連するQ&A