• ベストアンサー

エクセルでの勤怠管理

googoo-takokainaの回答

回答No.2

A1セルに 平成18年9月 と文字で入力されているとします。 西暦の年を B1セルにセットします。 計算式は =VALUE(MID(A1,3,2))+1989 です。 内容はA1セルの左から3つめの文字から2つを取り出し数字にして1989を足すという意味です。 月をC1セルにセットします。 計算式は =VALUE(MID(A1,SEARCH("年",A1,1)+1,LEN(A1)-SEARCH("年",A1,1)-1)) です 内容は年の取り出しと基本は同じですが1桁の場合と2桁の場合があるので式が複雑になっています。 これで 年と月が数字としてB1セルとC1セルに取り出されました。 これを使って当月の1日をD1セルにセットします。 計算式は =DATE(B1,C1,1) です。 B1セル、C1セルをまとめてD1セルにすることも可能で 計算式は =DATE(VALUE(MID(A1,3,2))+1989,VALUE(MID(A1,SEARCH("年",A1,1)+1,LEN(A1)-SEARCH("年",A1,1)-1)),1) と長くなるので分割しました。 この当月1日の日付を使って必要な日を求めていきます。 前月の25日を求める計算式は =DATE(YEAR(D4-31),MONTH(D4-31),25) です 仮に25を20にすれば前月の20日が取り出せます。 当月の20日を取り出す式は =DATE(YEAR(D4),MONTH(D4),20) です。 仮に20を24にすれば当月の24日が取り出せます。 月末はその月によって違うので翌月の1日から1を引きます。 よって当月の月末を取り出す式は =DATE(YEAR(D4+31),MONTH(D4+31),1)-1 です。 これらを適当なセルに入れておけば色々使えると思います。 例えば 9/1~9/30 と表示させたかったら 当月の1日を入れたセルがD4セルで当月の月末を入れたセルがA3セルだとしたら =MONTH(D4)&"/"&DAY(D4)&"~"&MONTH(A3)&"/"&DAY(A3) です。

maku3
質問者

お礼

ありがとうございました、うまくいきました。 応用させていただき、いい資料をつくってみたいと思います。

関連するQ&A

  • EXCELで、締日を出す方法

    A1 入社日 A2 工場名 A3 締日 A5 6ヵ月後の締日 A6 1年後の締日 A7 1年6ヵ月後 ・   ~ A24 10年後の締日 A2の工場名は、データ→入力規制→リストで選択予定 A3の締日は、工場を選択すると、20日、25日、末日の3種類から  選ばれる。(VLOOKUP等で…) A5~A24に、半年ごとの日付を表示させたい。                                 希望:A3で選ばれた締日によって、半年ごとの日付が変わる様にした    い。(A5~A24の同じセル内で)    締日までに入社した月を、1ヶ月とします。    2006/11/10入社なら、    半年後は、25日締なら2007/4/25。末日締なら、2007/4/30。    1年後は、25日締なら2007/10/25。末日締なら、2007/10/31。 お分かりいただけるでしょうか? よろしくお願いします。

  • Excel2003日付指定で数値を返す

        A       B       C       D      E 1   コード    日付   枚数   金額     締め 2   1525     7/05      3     4800     5 3   2555     7/11      5     3900     15 4  1524      7/16      2    2980      20 日付で1日~5日は締め5日 6日~10日は締め10日 11日~15日は締め15日 16日~20日は締め20日 21日~25日は締め25日 26日~31日は締め末日 と 日付によって締めが変わってきます、入力された日付で締め日を自動入力出来ればと IF関数を使ってやってみたのですがうまく行きません、どうぞ宜しくお願いいたします。

  • EXCELで空白行を作りたい

    締日(20日)で勤務表を作りたいので教えてください。各月によって月末が30日だったり31日だったりしますが、日付(締日でも作成日でも)を入力したら自動で行を詰めることなく翌月1日を同じ行から表示を開始したい。出来れば、その日が土・日ならばその行に色も付けたいのですが・・。 わかりにくくてすみません。 A列  A列 21  21 22  22 ・ ・ 30  30 31 1    1 2    2

  • エクセル日付での質問

    エクセルにて以下の形を作りたいのですがどのようにしたらいいのでしょう?? セル1=「平成17年2月8日」←今日の日付(=today())を使用してます。 それを参照させセル2へ「No050208-01」を日付へ連動して自動入力したい。※最後の「-01」は任意で入力できればベストですが、時間等が参照されてもOKです。 さらにセル3へ「有効期限 平成17年2月末日」と上記日付を参照し自動入力したいわけです。 もうお分かりの通り「見積り書」です。 ・作成日時(現在日時) ・見積り書No ・有効期限(作成日時の末日) を全て自動入力したいです。 宜しくお願いします。

  • Excelで勤怠カレンダーを作る

    Excelで勤怠カレンダーを作っております。 毎月日付の入力面倒で、もっと簡単にできないか考えております。 下記WEBSITEのやり方を考えておりますが、15日が締め日なので、 一番上に1日でなく、16日を記載したいのですが、このWEBSITEの方法の応用もしくは他の方法ないでしょうか? 月だけを入力すれば、変更できるようにしたいと考えております。

  • エクセルでタイムカードを入力しての勤怠管理 関数&マクロ 

    本を購入して読んでみたのですが、よくわからなかったので教えて下さい。 定時は9:00-18:00です。  1.次の場合どのような関数をいれればいいでしょうか?   出勤時間(C6)を 退出時間(E6)へ入力    7:00に出社しても9:00からしかカウントしません。   9:05までなら遅刻とせず、9:00出社としてカウント 9:05を過ぎると30分単位で時間をカウント(9:06出勤なら9:30から) 2.パートさんが曜日によって勤務時間が変わります。その場合どのよう   に関数をいれればいいでしょうか?   月・水・金 9:00-18:00    火・木 8:00-17:00    曜日によって1.の質問の9:00からのカウントを、8:00からのカウント   というような選択をしたい場合 3.次の場合のマクロをどのように作成すればいいでしょう。   (今回はじめてマクロに挑戦します。そもそも根本的な考え方が    おかしいかもしれません。ご指導よろしくお願いします。)     1名(タイムカード1枚)で1シート 社員30名の1カ月分を    1ファイルで管理しようと思います。   A.マクロ用のシートにタイムカードの管理期間、たとえば11/1-30すると     以下が自動的に入力されるマクロ    ・全社員の勤怠表の日付(A6):(A35)まで自動的に日付が入力(A36)     は空欄表示    ・全社員の勤怠表の曜日(B6):(B35)まで自動的に日付が入力(B36)     は空欄表示   B.マクロ用のシートにあるクリアボタンを押すと以下がデータクリアされる     マクロ     ・全社員の勤怠表の出勤時間(C6):(C36)と退社時間(E6):(E36)が 自動的にデータ削除される。 質問が分かりづらいとは思いますがよろしくお願いします。

  • Excelで勤怠カレンダーを作る(再掲載)

    WEBSITEをつけそびれので、再掲載します。 Excelで勤怠カレンダーを作っております。 毎月日付の入力面倒で、もっと簡単にできないか考えております。 下記WEBSITEのやり方を考えておりますが、15日が締め日なので、 一番上に1日でなく、16日を記載したいのですが、このWEBSITEの方法の応用もしくは他の方法ないでしょうか? https://forest.watch.impress.co.jp/docs/serial/exceltips/1229690.html 月だけを入力すれば、変更できるようにしたいと考えております。 また中国やタイなど国ごとの祝日に合わせたカレンダーにする方法はございますか? (土日祝日は赤く表記もしくは、日付の横にセルを作成して''Holiday''などと記載したい)

  • エクセルで勤怠管理票を作成する際に、15分きざみで

    エクセルで勤怠管理票を作成する際に、15分きざみで 1. 出勤10:25と入力すると、隣の列に開始10:30となるように 2. 退勤19:35と入力すると、隣の列に終了19:30となるようにするには どのような計算式を使えばよいでしょうか?

  • エクセルでの勤怠計算

    15分単位での給与計算で、出勤10:02退出16:05の場合10:00~16:00 というようにするために、 A1を出勤、B1を外出、C1を再入、D1を退社と入力するようにしました。 【出勤・外出・再入】 46~00分は0分 1~15分は15分 16~30分は30分 31~45分は45分 【退出】 0~14分は0分 15~29分は15分 30~44分は30分 45~59分は45分 にしたいのですが、FLOORとCEILINGを使ってできそうだとは思うのですが、 どんな式にすればうまくいくか教えていただけないでしょうか? 休みの日などで時間を入力しない日は0:00とでないようにできたら と思っています。 過去ログなどを拝見して考えているうちにこんがらがってわからなく なってしまいました。 教えていただけたらと思います。 よろしくお願いいたします。

  • エクセル 2月など31日が無い場合の・・・

    現在、納入日を入力すると締め日に対して今月か翌月かを振り分けられるようにしてあります。(このサイトの力をお借りして作成しました。) 2月分の入力をすると、31日が無いので月末締めの客先の場合、翌月になってしまいました。2月や4月など、31日が無い月に対応するにはどうすればよいのでしょうか? 説明下手なので、画像添付します。 画像説明 納入日が2/17で締め日が31日。2010/2/28にしたい。 宜しくお願いいたします。