- ベストアンサー
エクセル2003で、時給計算表を作っているのですが、年・月・日をそれぞ
エクセル2003で、時給計算表を作っているのですが、年・月・日をそれぞれ別で所得するようにして 締め日から、翌月の締め日前日までの縦カレンダーを表示させるには、 どのようにすれば宜しいでしょうか? 2月などの31日までない月の表示方法を応用しようとしたのですが上手くいきませんでした。 どうぞ宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
たとえば26日から翌25日として,考え方はごくシンプルに,締め日より大きい日付は""にします。 A1に年,たとえば2010 A2に月,たとえば4 A3に =IF(DATE($A$1,$A$2-1,25+ROW(A1))>DATE($A$1,$A$2,25),"",DATE($A$1,$A$2-1,25+ROW(A1))) で適宜日付の書式を入れておきます。
その他の回答 (5)
- shinkami
- ベストアンサー率43% (179/411)
ANo.3です >今回の作業がエクセル初挑戦なので 初挑戦が時給計算表(日付、時間)の操作少しきついようですが これにじっくり取り組むことで多くのことを学べます。 ファイト!!! 前回分かりにくい説明がありましたので補足しておきます。 A3=A2+1 は セルA3 の式が =A2+1 B2=IF($A$1>=A2,A2,"") は セルB2の式が =IF($A$1>=A2,A2,"") といったように= の左のセルに =以降の式をコピーします。 ・エクセルで取り扱う日付は1900年1月1日より経過日数でこれ以前は取り扱っていません。 日付欄の表示形式を数値にするとご理解いただけます。 表示形式を変えることにより 年月日、年月日曜日、年月、月、日、曜日 の表示が可能です。 時間も日付軸です。 即ち 1[時間]=1/24[日] 残業時間を1ヶ月分合計すると24時間以上は日に繰り上がり表示形式が hh:mm では 繰り上がった部分が表示されません、繰り上がりを止めて表示するには [hh]:mm 日当=時給*時間*24 ・$:A列3行目のセル位置を A3 と表記しますが この式を他のセルにコピーすると 位置関係を保ったままですが、$ を追加することで位置が固定します $A$1(行位置、列位置とも固定)を $A1(列位置固定)、A$1(行列固定) $は文字を直接入力できますが、数式欄のセル位置にカーソルを合せて F4を押下する毎に $の付き方が変わります。 ・関数入力はfxから入るのが普通です。Fx→関数選択→ガイドに従う 今回の式は開始日が29日~月末には対応していません これに対応するにはもう一工夫が必要です。
お礼
お返事が遅くなってしまって申し訳ございません。 分かりづらい質問をしてしまいましたのに、補足や説明までしてくださって ありがとうございます! その後、いただいたご回答を確認する間もなく必死に説明サイトなどを見ていたのですが 基本的な知識が足りていないと、改めて実感致しました。 shinkamiさんが教えてくださった内容も頭に入れつつ、 改めてきちんと状況説明のできている質問を投稿させていただこうと思います。 またshinkamiさんのお目に止まるようなことがありましたら宜しくお願い致します。 ご回答くださいまして本当にありがとうございました!
- hallo-2007
- ベストアンサー率41% (888/2115)
質問を勘違いしていたらすみません。 A B 1 年 2010 2 月 2 3締め日 16 4日付 5=DATE(B1,B2,B3) 6=IF(A$6+ROW(A1)>=DATE(B$1,B$2+1,B$3),"--",A$6+ROW(A1)) A6を下へコピィしてみてください。 2月16日から3月15日の日付が表示されると思います。
お礼
ご回答ありがとうございます! 返事が遅くなってしまって申し訳ありません。 締め日から締め日前日までの表示は、皆さんのご回答で何とか表示することができました。 私が思っていたよりもいろんな書き方があって驚いております。 hallo-2007さんが教えてくださった方法も、構造とともに勉強して 今後に活用させていただきます! ありがとうございました!
- keithin
- ベストアンサー率66% (5278/7941)
追加のご質問ですが,何をなさりたいのか状況がよく判りません。 >日付と同じように、出勤時間なども締め日までの表示にする BC列に出勤時刻と退社時刻となっていますが,それは普通「毎日手で記入していく」ものでは無いかと思います。 なので「締め日までの表示」もなにもBC列は最初は空っぽで何も表示が無い状態から使い始め,毎日出勤のたびに記入していき,締め日の25日の行まで来たらそこで記入を終えて一ヶ月をしめるのではないでしょうか。 それで。 そういう事ではなしに何か「1月分上から下まで表示だけ出して置けばよい」内容でしたら。 たとえばA列に日付を表示し,B列にその「曜日」を表示したいような事でしたら, B3: =IF(A3="","",TEXT(A3,"aaa")) =IF(A3="","",IF(COUNTIF(祝祭日一覧,A3),"祝",TEXT(A3,"aaa"))) などのようにして,A列の表示の有無で表示したりしなかったりするので十分です。
お礼
返事が遅くなってしまって申し訳ございません。 質問の内容が分かりづらいものになってしまっていて、すみませんでした。 改めて自分で読んでみたのですが、意味が分からなくて撃沈致しました…。 質問をさせていただいてから数日過ぎてしまっておりますし、 他にも分からない部分が出てきてしまったので、 キチンをした文章にしたものとまとめて新規でご質問させていただこうと思います。 お時間を取ってくださいましたのに、申し訳ございませんでした。 記入を省く方法もあるということが分かって勉強になりました。 今後もいろいろなことに朝鮮しようと思っておりますので、活用させていただきます! 本当にありがとうございました!
- shinkami
- ベストアンサー率43% (179/411)
>締め日から、翌月の締め日前日までの 開始日から締め日でよろしいですな A列を仮日付、1行目項目名、2行目からデータ行とし、B列以降がデータ列 セルA2に開始日 A3=A2+1 とし32行目までコピー セルA1に次式で締め日を求めます =A2+31-DAY(A2+31)+DAY(A2)-1 少し変ですが12月~1月にも対応しています。 セルB2に実日付を求めます B2=IF($A$1>=A2,A2,"") とし32行目までコピー 最後にA列を非表示にします。
お礼
ご回答ありがとうございます! Shinkamiさんが書いてくださったものと、似ているものを検索時に発見していたのですが上手くいかず、 再度お書きくださった通りにやってみたのですが上手くできませんでした>< 今回の作業がエクセル初挑戦なので、まだまだ勉強不足なっようです。 これから少しずつ勉強しようと思っておりますので、 またshinkamiさんの書いてくださった方法も試させていただきます! 本当にありがとうございました!
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 実際の表がどのような配置か判らないので、勝手に↓のように表を作ってみました。 尚、EDATE関数を使用していますので、当方使用のExcel2003以前のバージョンでは メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があります。 画像のA5セル(セルの書式設定から表示形式はユーザー定義から d としておきます。)に =IF(DATE($A$1,$A$2,$D$2-1+ROW(A1))<EDATE(DATE($A$1,$A$2,$D$2),1),DATE($A$1,$A$2,$D$2-1+ROW(A1)),"") (エラー処理はしていません。) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。 以上、参考になれば良いのですが 的外れならごめんなさいね。m(__)m
お礼
ご回答ありがとうございます>< 折角、画像まで添付してくださったのにアドオンを追加しておりませんでした。 只今CD-ROMが見当たらず、すぐに試すことができないのですが 分析ツールが使えるようになりましたら試させていただきます! 本当にありがとうございました><
お礼
ご回答ありがとうございます!>< お書きくださった方法を早速試してみまましたら、上手く表示することができました! 本当にありがとうございました! 引き続き補足にて質問させていただいてしまいました。 宜しければまたご教授いただけると助かります。
補足
keithinさんが書いてくださいました通りに記入させていただき、下記のような状態になっております。 こちらについて引き続きご回答いただけると助かります>< ----A----B----C---- 1 日付 出勤時間 退社時間 2 日付 出勤時間 退社時間 3 日付 出勤時間 退社時間 4 日付 出勤時間 退社時間 5 日付 出勤時間 退社時間 このような状態になっている場合に、月を例えば4月から8月に変更した場合 日付と同じように、出勤時間なども締め日までの表示にするにはどうすれば宜しいでしょうか? 追加での質問、すみません。 どうぞ宜しくお願い致します。