MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Excel - 日付関数のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Excel - 日付関数
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Excelの日付/時刻関数は、日付や時刻データの操作、計算、表示を行うための重要な機能である。<br> 日付の取得、日数計算、営業日計算、期間集計、時刻の操作等、時間に関する様々な処理を実現することができる。<br> <br> 主な機能として、現在日時の取得 (TODAY、NOW)、日付の作成 (DATE、TIME)、日付要素の抽出 (YEAR、MONTH、DAY等)、曜日・週番号 (WEEKDAY、WEEKNUM)、日付計算 (DATEDIF、EDATE等)、営業日計算 (WORKDAY、NETWORKDAYS)等がある。<br> <br> これらの関数は、勤怠管理、スケジュール作成、期間計算、年齢計算、営業日管理等の業務シーンで活用される。<br> <br><br> == 日付と時刻の基礎 == ==== Excelの日付・時刻のシリアル値 ==== Excelでは、日付と時刻を数値 (シリアル値) として内部的に管理している。<br> <br> 日付のシリアル値:<br> * 1900年1月1日を <code>1</code> とする。 * 以降、1日ごとに1ずつ増加する。 * 例: 2024年1月1日 = 45292 <br> 時刻のシリアル値:<br> * 0:00:00 (午前0時) を <code>0</code> とする。 * 23:59:59 (午後11時59分59秒) を「0.999988426...」とする。 * 例: 12:00:00 (正午) = 0.5 <br> 日付と時刻の組み合わせ:<br> * 整数部が日付、小数部が時刻を表す。 * 例: 2024年1月1日 12:00:00 = 45292.5 <br> <u>※注意</u><br> <u>日付や時刻の表示形式は、セルの書式設定で変更できる。</u><br> <u>内部的には数値のため、四則演算が可能である。</u><br> <br><br> == 現在の日付・時刻を取得する関数 == ==== TODAY関数 ==== 現在の日付を返す関数である。<br> <br> 構文:<br> =TODAY() <br> 使用例:<br> * 今日の日付を表示 *: =TODAY() * 今日から7日後の日付 *: =TODAY()+7 * 今日から30日前の日付 *: =TODAY()-30 * 今日が2024年12月25日より前か判定 *: =TODAY()<DATE(2024,12,25) <br> <u>※注意</u><br> <u>引数は不要である。</u><br> <u>ファイルを開く、または、再計算するたびに更新される。</u><br> <u>時刻情報は含まれない。(シリアル値の小数部は0)</u><br> <br> ==== NOW関数 ==== 現在の日付と時刻を返す関数である。<br> <br> 構文:<br> =NOW() <br> 使用例:<br> * 現在の日付と時刻を表示 *: =NOW() * 現在から1時間後 *: =NOW()+1/24 * 現在から30分後 *: =NOW()+30/1440 * 現在の日付のみを取得 *: =INT(NOW()) <br> <u>※注意</u><br> <u>引数は不要である。</u><br> <u>ファイルを開くたびに、または再計算されるたびに更新される。</u><br> <u>日付と時刻の両方が含まれる。</u><br> <br> ==== TODAY関数とNOW関数の違い ==== TODAY関数とNOW関数の主な違いは、時刻情報の有無である。<br> <br> 比較:<br> * TODAY関数 *: 日付のみ (例: 2024/12/6) * NOW関数 *: 日付と時刻 (例: 2024/12/6 14:30:00) <br> 用途:<br> * TODAY関数 *: 日付の比較、日数計算に使用 * NOW関数 *: タイムスタンプ、経過時間の計算に使用 <br><br> == 日付を作成する関数 == ==== DATE関数 ==== 年、月、日を指定して日付を作成する関数である。<br> <br> 構文:<br> =DATE(年, 月, 日) <br> 引数の説明:<br> * 年 *: 年を表す数値 (1900〜9999) * 月 *: 月を表す数値 (1〜12) * 日 *: 日を表す数値 (1〜31) <br> 使用例:<br> * 2024年12月25日を作成 *: =DATE(2024, 12, 25) * セルの値から日付を作成 *: =DATE(A1, B1, C1) * 年と月を指定して月初日を作成 *: =DATE(2024, 12, 1) * 年と月を指定して月末日を作成 *: =DATE(2024, 12+1, 1)-1 <br> <u>※注意</u><br> <u>月に13以上を指定すると、翌年に繰り越される。</u><br> <u>日に0や負の数を指定すると、前の月に戻る。</u><br> <u>これを利用して柔軟な日付計算が可能。</u><br> <br> 応用例:<br> * 月末日の取得 *: =DATE(A1, B1+1, 0) * 3ヶ月後の同日 *: =DATE(YEAR(A1), MONTH(A1)+3, DAY(A1)) <br> ==== TIME関数 ==== 時、分、秒を指定して時刻を作成する関数である。<br> <br> 構文:<br> =TIME(時, 分, 秒) <br> 引数の説明:<br> * 時 *: 時を表す数値 (0〜23) * 分 *: 分を表す数値 (0〜59) * 秒 *: 秒を表す数値 (0〜59) <br> 使用例:<br> * 14時30分を作成 *: =TIME(14, 30, 0) * 23時59分59秒を作成 *: =TIME(23, 59, 59) * セルの値から時刻を作成 *: =TIME(A1, B1, C1) <br> <u>※注意</u><br> <u>時に24以上を指定すると、日付が加算される。</u><br> <u>分や秒に60以上を指定すると、上位の単位に繰り越される。</u><br> <u>時刻のシリアル値 (0〜1未満の小数) が返される。</u><br> <br> 応用例:<br> * 勤務開始時刻と日付を組み合わせ *: =DATE(2024,12,6)+TIME(9,0,0) * 90分を時刻として表現 *: =TIME(0, 90, 0) *: 結果: 1:30:00 <br><br> == 日付要素を抽出する関数 == ==== YEAR関数 / MONTH関数 / DAY関数 ==== 日付から年、月、日を抽出する関数である。<br> <br> 構文:<br> =YEAR(シリアル値) =MONTH(シリアル値) =DAY(シリアル値) <br> 引数の説明:<br> * シリアル値 *: 日付を表すシリアル値またはセル参照 <br> 使用例:<br> * 2024年12月6日から年を抽出 *: =YEAR(DATE(2024,12,6)) *: 結果: 2024 * A1セルの日付から月を抽出 *: =MONTH(A1) * 今日の日付を取得 *: =DAY(TODAY()) <br> 応用例:<br> * 年月を「2024年12月」形式で表示 *: =YEAR(A1)&"年"&MONTH(A1)&"月" * 誕生日から年齢を計算 *: =YEAR(TODAY())-YEAR(A1) <br> ==== HOUR関数 / MINUTE関数 / SECOND関数 ==== 時刻から時、分、秒を抽出する関数である。<br> <br> 構文:<br> =HOUR(シリアル値) =MINUTE(シリアル値) =SECOND(シリアル値) <br> 引数の説明:<br> * シリアル値 *: 時刻を表すシリアル値またはセル参照 <br> 使用例:<br> * 14:30:45から時を抽出 *: =HOUR(TIME(14,30,45)) *: 結果: 14 * A1セルの時刻から分を抽出 *: =MINUTE(A1) * 現在時刻から秒を取得 *: =SECOND(NOW()) <br> 応用例:<br> * 時刻を「14時30分」形式で表示 *: =HOUR(A1)&"時"&MINUTE(A1)&"分" * 深夜勤務の判定 *: =IF(HOUR(A1)>=22, "深夜", "通常") <br><br> == 曜日・週番号に関する関数 == ==== WEEKDAY関数 ==== 日付の曜日を数値で返す関数である。<br> <br> 構文:<br> =WEEKDAY(シリアル値, [種類]) <br> 引数の説明:<br> * シリアル値 *: 日付を表すシリアル値またはセル参照 * 種類 *: 戻り値の種類を指定 (省略時は1) <br> 種類の指定:<br> * 1 または省略 *: 1(日曜)〜7(土曜) * 2 *: 1(月曜)〜7(日曜) * 3 *: 0(月曜)〜6(日曜) * 11 *: 1(月曜)〜7(日曜) ※2と同じ * 12 *: 1(火曜)〜7(月曜) * 13 *: 1(水曜)〜7(火曜) * 14 *: 1(木曜)〜7(水曜) * 15 *: 1(金曜)〜7(木曜) * 16 *: 1(土曜)〜7(金曜) * 17 *: 1(日曜)〜7(土曜) ※1と同じ <br> 使用例:<br> * 今日の曜日番号を取得 (1=日曜) *: =WEEKDAY(TODAY()) * 月曜日を1とする番号 *: =WEEKDAY(TODAY(), 2) * A1セルの日付が日曜日か判定 *: =IF(WEEKDAY(A1)=1, "休日", "平日") <br> 応用例:<br> * 曜日名を表示 *: =TEXT(A1, "aaa") *: または *: =CHOOSE(WEEKDAY(A1), "日", "月", "火", "水", "木", "金", "土") * 土日の判定 *: =IF(OR(WEEKDAY(A1)=1, WEEKDAY(A1)=7), "休日", "平日") *: または *: =IF(WEEKDAY(A1, 2)>=6, "休日", "平日") <br> ==== WEEKNUM関数 ==== 日付がその年の第何週目かを返す関数である。<br> <br> 構文:<br> =WEEKNUM(シリアル値, [週の基準]) <br> 引数の説明:<br> * シリアル値 *: 日付を表すシリアル値またはセル参照 * 週の基準 *: 週の始まりを指定 (1=日曜始まり、2=月曜始まり等) <br> 週の基準の指定:<br> * 1 または省略 *: 日曜日を週の始まりとする * 2 *: 月曜日を週の始まりとする * 11〜17 *: WEEKDAY関数の種類11〜17に対応 * 21 *: ISO 8601形式 (月曜始まり) <br> 使用例:<br> * 今日が今年の第何週か *: =WEEKNUM(TODAY()) * 月曜始まりで週番号を取得 *: =WEEKNUM(TODAY(), 2) * A1の日付の週番号 *: =WEEKNUM(A1, 21) <br> 応用例:<br> * 週番号で集計 *: =SUMIF(週番号列, 指定週, 金額列) <br> ==== ISOWEEKNUM関数 ==== ISO 8601形式の週番号を返す関数である。<br> <br> 構文:<br> =ISOWEEKNUM(シリアル値) <br> 使用例:<br> * ISO週番号を取得 *: =ISOWEEKNUM(TODAY()) <br> <u>※注意</u><br> <u>Excel 2013以降で使用可能。</u><br> <u>=WEEKNUM(日付, 21) と同じ結果を返す。</u><br> <br><br> == 日付計算関数 == ==== DATEDIF関数 ==== 2つの日付の期間を計算する関数である。<br> <br> 構文:<br> =DATEDIF(開始日, 終了日, 単位) <br> 引数の説明:<br> * 開始日 *: 期間の開始日 * 終了日 *: 期間の終了日 * 単位 *: 計算する単位を指定 <br> 単位の指定:<br> * "Y" *: 満年数 * "M" *: 満月数 * "D" *: 満日数 * "MD" *: 日数 (月と年を無視) * "YM" *: 月数 (年を無視) * "YD" *: 日数 (年を無視) <br> 使用例:<br> * 2つの日付の満年数 *: =DATEDIF(DATE(2000,1,1), TODAY(), "Y") * 2つの日付の満月数 *: =DATEDIF(A1, B1, "M") * 2つの日付の満日数 *: =DATEDIF(A1, B1, "D") * 年齢の計算 (年と月) *: =DATEDIF(A1, TODAY(), "Y")&"年"&DATEDIF(A1, TODAY(), "YM")&"ヶ月" <br> <u>※注意</u><br> <u>関数ヘルプには表示されないが、使用可能な関数である。</u><br> <u>開始日が終了日より後の場合はエラーになる。</u><br> <u>"MD"単位は一部のケースで正しくない結果を返す場合がある。</u><br> <br> 応用例:<br> * 正確な年齢計算 *: =DATEDIF(生年月日, TODAY(), "Y") * 勤続年数 *: =DATEDIF(入社日, TODAY(), "Y")&"年"&DATEDIF(入社日, TODAY(), "YM")&"ヶ月" * 残日数の計算 *: =DATEDIF(TODAY(), 期限日, "D") <br> ==== DAYS関数 ==== 2つの日付の日数差を返す関数である。<br> <br> 構文:<br> =DAYS(終了日, 開始日) <br> 使用例:<br> * 2つの日付の日数差 *: =DAYS(B1, A1) * 今日から期限日までの日数 *: =DAYS(期限日, TODAY()) * 経過日数 *: =DAYS(TODAY(), 開始日) <br> <u>※注意</u><br> <u>Excel 2013以降で使用可能。</u><br> <u>単純な引き算 (=B1-A1) でも同じ結果が得られる。</u><br> <br> ==== EDATE関数 ==== 指定した月数だけ前後の日付を返す関数である。<br> <br> 構文:<br> =EDATE(開始日, 月) <br> 引数の説明:<br> * 開始日 *: 基準となる日付 * 月 *: 加算する月数 (負の数も可能) <br> 使用例:<br> * 3ヶ月後の日付 *: =EDATE(TODAY(), 3) * 6ヶ月前の日付 *: =EDATE(TODAY(), -6) * A1の1年後 (12ヶ月後) *: =EDATE(A1, 12) <br> 応用例:<br> * 契約期限日の計算 *: =EDATE(契約開始日, 契約月数) * 定期的な支払日の計算 *: =EDATE(初回支払日, 回数-1) <br> ==== EOMONTH関数 ==== 指定した月数だけ前後の月末日を返す関数である。<br> <br> 構文:<br> =EOMONTH(開始日, 月) <br> 引数の説明:<br> * 開始日 *: 基準となる日付 * 月 *: 加算する月数 (負の数も可能) <br> 使用例:<br> * 今月の月末日 *: =EOMONTH(TODAY(), 0) * 来月の月末日 *: =EOMONTH(TODAY(), 1) * 前月の月末日 *: =EOMONTH(TODAY(), -1) * A1の3ヶ月後の月末 *: =EOMONTH(A1, 3) <br> 応用例:<br> * 月初日の取得 *: =EOMONTH(TODAY(), -1)+1 * 締め日の計算 *: =EOMONTH(A1, 0) <br><br> == 営業日計算関数 == ==== WORKDAY関数 ==== 指定した営業日数だけ前後の日付を返す関数である。<br> 土日を休日として計算する。<br> <br> 構文:<br> =WORKDAY(開始日, 日数, [祝日]) <br> 引数の説明:<br> * 開始日 *: 基準となる日付 * 日数 *: 営業日数 (負の数も可能) * 祝日 *: 除外する祝日のリスト (範囲またはセル参照) <br> 使用例:<br> * 今日から10営業日後 *: =WORKDAY(TODAY(), 10) * 5営業日前の日付 *: =WORKDAY(TODAY(), -5) * 祝日を考慮した20営業日後 *: =WORKDAY(A1, 20, 祝日リスト) <br> <u>※注意</u><br> <u>土日が休日として扱われる。</u><br> <u>祝日を考慮する場合は、祝日リストを用意する必要がある。</u><br> <br> 応用例:<br> * 納期計算 *: =WORKDAY(受注日, リードタイム, 祝日リスト) * 支払期限 *: =WORKDAY(締め日, 支払サイト) <br> ==== WORKDAY.INTL関数 ==== 週末の曜日を指定できる営業日計算関数である。<br> <br> 構文:<br> =WORKDAY.INTL(開始日, 日数, [週末], [祝日]) <br> 引数の説明:<br> * 開始日 *: 基準となる日付 * 日数 *: 営業日数 (負の数も可能) * 週末 *: 週末とする曜日を指定 (省略時は土日) * 祝日 *: 除外する祝日のリスト <br> 週末の指定:<br> * 1 または省略 *: 土日 * 2 *: 日月 * 3 *: 月火 * 7 *: 金土 * 11 *: 日のみ * 12 *: 月のみ * 17 *: 土のみ * "0000011" *: 文字列で指定 (月火水木金が営業日、土日が休日) <br> 使用例:<br> * 日月が休日の場合の10営業日後 *: =WORKDAY.INTL(TODAY(), 10, 2) * 日曜のみが休日の場合 *: =WORKDAY.INTL(TODAY(), 10, 11) * カスタムの休日設定 *: =WORKDAY.INTL(TODAY(), 10, "0000011") <br> <u>※注意</u><br> <u>Excel 2010以降で使用可能。</u><br> <u>週末を柔軟に設定できる点がWORKDAY関数との違い。</u><br> <br> ==== NETWORKDAYS関数 ==== 2つの日付の間の営業日数を計算する関数である。<br> 土日を休日として計算する。<br> <br> 構文:<br> =NETWORKDAYS(開始日, 終了日, [祝日]) <br> 引数の説明:<br> * 開始日 *: 期間の開始日 * 終了日 *: 期間の終了日 * 祝日 *: 除外する祝日のリスト <br> 使用例:<br> * 2つの日付の営業日数 *: =NETWORKDAYS(A1, B1) * 今月の営業日数 *: =NETWORKDAYS(月初日, 月末日, 祝日リスト) * プロジェクト期間の営業日数 *: =NETWORKDAYS(開始日, 終了日, 祝日リスト) <br> 応用例:<br> * 実働日数の計算 *: =NETWORKDAYS(入社日, TODAY(), 祝日リスト) * 月次レポート用の営業日数 *: =NETWORKDAYS(EOMONTH(TODAY(),-1)+1, EOMONTH(TODAY(),0), 祝日リスト) <br> ==== NETWORKDAYS.INTL関数 ==== 週末の曜日を指定できる営業日数計算関数である。<br> <br> 構文:<br> =NETWORKDAYS.INTL(開始日, 終了日, [週末], [祝日]) <br> 引数の説明:<br> * 開始日 *: 期間の開始日 * 終了日 *: 期間の終了日 * 週末 *: 週末とする曜日を指定 (WORKDAY.INTLと同じ) * 祝日 *: 除外する祝日のリスト <br> 使用例:<br> * 日月休みの営業日数 *: =NETWORKDAYS.INTL(A1, B1, 2) * カスタム週末での営業日数 *: =NETWORKDAYS.INTL(A1, B1, "0000011", 祝日リスト) <br> <u>※注意</u><br> <u>Excel 2010以降で使用可能。</u><br> <br><br> == その他の日付関連関数 == ==== YEARFRAC関数 ==== 2つの日付の間の年数を小数で返す関数である。<br> <br> 構文:<br> =YEARFRAC(開始日, 終了日, [基準]) <br> 引数の説明:<br> * 開始日 *: 期間の開始日 * 終了日 *: 期間の終了日 * 基準 *: 計算方法を指定 (省略時は0) <br> 基準の指定:<br> * 0 または省略 *: 30/360 (米国方式) * 1 *: 実際の日数/実際の日数 * 2 *: 実際の日数/360 * 3 *: 実際の日数/365 * 4 *: 30/360 (欧州方式) <br> 使用例:<br> * 2つの日付の経過年数 *: =YEARFRAC(A1, B1) * 実際の日数ベースでの年数 *: =YEARFRAC(A1, B1, 1) * 利息計算用の年数 *: =YEARFRAC(開始日, 終了日, 1) <br> 応用例:<br> * 小数付きの勤続年数 *: =YEARFRAC(入社日, TODAY()) * 金融計算での期間 *: =元本*金利*YEARFRAC(開始日, 終了日, 1) <br> ==== DATEVALUE関数 ==== 文字列形式の日付を日付シリアル値に変換する関数である。<br> <br> 構文:<br> =DATEVALUE(日付文字列) <br> 使用例:<br> * "2024/12/25"を日付に変換 *: =DATEVALUE("2024/12/25") * "2024年12月25日"を日付に変換 *: =DATEVALUE("2024年12月25日") * セル内の文字列を日付に変換 *: =DATEVALUE(A1) <br> <u>※注意</u><br> <u>認識できない形式の場合は #VALUE! エラーになる。</u><br> <u>日付として認識できる文字列形式は、地域設定に依存する。</u><br> <br> ==== TIMEVALUE関数 ==== 文字列形式の時刻を時刻シリアル値に変換する関数である。<br> <br> 構文:<br> =TIMEVALUE(時刻文字列) <br> 使用例:<br> * "14:30:00"を時刻に変換 *: =TIMEVALUE("14:30:00") * "2:30 PM"を時刻に変換 *: =TIMEVALUE("2:30 PM") * セル内の文字列を時刻に変換 *: =TIMEVALUE(A1) <br> <u>※注意</u><br> <u>認識できない形式の場合は #VALUE! エラーになる。</u><br> <u>時刻部分のみが返される (0〜1未満の小数)。</u><br> <br> ==== TEXT関数 (日付表示) ==== 日付や時刻を指定した書式で文字列に変換する関数である。<br> <br> 構文:<br> =TEXT(値, 表示形式) <br> 日付の表示形式:<br> * "yyyy" *: 4桁の年 (例: 2024) * "yy" *: 2桁の年 (例: 24) * "mm" *: 2桁の月 (例: 12) * "m" *: 1桁の月 (例: 1) * "dd" *: 2桁の日 (例: 06) * "d" *: 1桁の日 (例: 6) * "aaa" *: 曜日の省略形 (例: 金) * "aaaa" *: 曜日の正式名 (例: 金曜日) * "ddd" *: 英語の曜日省略形 (例: Fri) * "dddd" *: 英語の曜日正式名 (例: Friday) <br> 使用例:<br> * 日付を"2024年12月06日"形式で表示 *: =TEXT(TODAY(), "yyyy年mm月dd日") * 曜日を表示 *: =TEXT(TODAY(), "aaa") * "2024/12/06 (金)"形式で表示 *: =TEXT(TODAY(), "yyyy/mm/dd (aaa)") * 西暦の下2桁と月 *: =TEXT(TODAY(), "yy/mm") <br> 時刻の表示形式:<br> * "hh" *: 2桁の時 (例: 14) * "h" *: 1桁の時 (例: 2) * "mm" *: 2桁の分 (例: 30) * "ss" *: 2桁の秒 (例: 45) * "AM/PM" *: 午前/午後 <br> 使用例:<br> * 時刻を"14:30:00"形式で表示 *: =TEXT(NOW(), "hh:mm:ss") * 12時間形式で表示 *: =TEXT(NOW(), "h:mm AM/PM") <br><br> == 実用的な使用例 == ==== 年齢計算 ==== 生年月日から年齢を計算する例。<br> <br> * 満年齢を計算 *: =DATEDIF(生年月日, TODAY(), "Y") * 年齢を「30歳」形式で表示 *: =DATEDIF(A1, TODAY(), "Y")&"歳" * 年齢を「30歳5ヶ月」形式で表示 *: =DATEDIF(A1, TODAY(), "Y")&"歳"&DATEDIF(A1, TODAY(), "YM")&"ヶ月" <br> ==== 勤続年数の計算 ==== 入社日から勤続年数を計算する例。<br> <br> * 満年数を計算 *: =DATEDIF(入社日, TODAY(), "Y") * 勤続年数を「5年3ヶ月」形式で表示 *: =DATEDIF(A1, TODAY(), "Y")&"年"&DATEDIF(A1, TODAY(), "YM")&"ヶ月" * 勤続日数を計算 *: =TODAY()-入社日 *: または *: =DAYS(TODAY(), 入社日) <br> ==== 期限管理 ==== 期限までの残日数や経過日数を計算する例。<br> <br> * 期限までの残日数 *: =期限日-TODAY() *: または *: =DAYS(期限日, TODAY()) * 期限切れの判定 *: =IF(TODAY()>期限日, "期限切れ", "有効") * 期限まで3日以内の警告 *: =IF(DAYS(期限日, TODAY())<=3, "要注意", "") <br> ==== 月次処理 ==== 月初日、月末日、前月末等を取得する例。<br> <br> * 今月の月初日 *: =EOMONTH(TODAY(), -1)+1 *: または *: =DATE(YEAR(TODAY()), MONTH(TODAY()), 1) * 今月の月末日 *: =EOMONTH(TODAY(), 0) * 前月末 *: =EOMONTH(TODAY(), -1) * 翌月初日 *: =EOMONTH(TODAY(), 0)+1 <br> ==== 営業日計算 ==== 営業日ベースでの日数や日付を計算する例。<br> <br> * 今月の営業日数 *: =NETWORKDAYS(DATE(YEAR(TODAY()), MONTH(TODAY()), 1), EOMONTH(TODAY(), 0), 祝日リスト) * 納期計算 (10営業日後) *: =WORKDAY(TODAY(), 10, 祝日リスト) * 実働日数 *: =NETWORKDAYS(開始日, 終了日, 祝日リスト) <br> ==== 曜日判定 ==== 曜日に応じた処理を行う例。<br> <br> * 土日の判定 *: =IF(WEEKDAY(A1, 2)>=6, "休日", "平日") *: または *: =IF(OR(WEEKDAY(A1)=1, WEEKDAY(A1)=7), "休日", "平日") * 曜日名を表示 *: =TEXT(A1, "aaa") *: または *: =CHOOSE(WEEKDAY(A1), "日", "月", "火", "水", "木", "金", "土") * 週末割増料金の計算 *: =IF(WEEKDAY(A1, 2)>=6, B1*1.2, B1) <br> ==== 時刻計算 ==== 勤務時間や経過時間を計算する例。<br> <br> * 勤務時間の計算 (時間単位) *: =(終業時刻-始業時刻)*24 * 勤務時間の表示 (時:分形式) *: =TEXT(終業時刻-始業時刻, "h:mm") * 深夜勤務時間の計算 *: =IF(HOUR(終業時刻)>=22, (終業時刻-TIME(22,0,0))*24, 0) * 休憩時間を除いた勤務時間 *: =(終業時刻-始業時刻-休憩時間)*24 <br> ==== 締め日処理 ==== 月の途中を締め日とする場合の処理例。<br> <br> 締め日が25日の場合:<br> * 当月の締め日 *: =DATE(YEAR(TODAY()), MONTH(TODAY()), 25) * 前回の締め日 *: =IF(DAY(TODAY())>=25, DATE(YEAR(TODAY()), MONTH(TODAY()), 25), DATE(YEAR(TODAY()), MONTH(TODAY())-1, 25)) * 次回の締め日 *: =IF(DAY(TODAY())<25, DATE(YEAR(TODAY()), MONTH(TODAY()), 25), DATE(YEAR(TODAY()), MONTH(TODAY())+1, 25)) <br> ==== 期間の重複判定 ==== 2つの期間が重複しているかを判定する例。<br> <br> * 期間A (A1:B1) と期間B (C1:D1) の重複判定 *: =AND(A1<=D1, C1<=B1) * 重複している日数 *: =MAX(0, MIN(B1, D1)-MAX(A1, C1)+1) <br> ==== カレンダーの作成 ==== カレンダー表示用の数式例。<br> <br> * 月の1日の曜日番号 *: =WEEKDAY(DATE(年, 月, 1)) * カレンダーの1行1列目の日付 *: =DATE(年, 月, 1)-WEEKDAY(DATE(年, 月, 1))+1 * 条件付き書式で土日に色付け *: =WEEKDAY(セル, 2)>=6 <br> ==== 四半期の判定 ==== 日付から四半期を判定する例。<br> <br> * 月から四半期を取得 *: =ROUNDUP(MONTH(A1)/3, 0) * "Q1"形式で表示 *: ="Q"&ROUNDUP(MONTH(A1)/3, 0) * 四半期の開始月 *: =DATE(YEAR(A1), (ROUNDUP(MONTH(A1)/3, 0)-1)*3+1, 1) <br> ==== 生年月日の妥当性チェック ==== 入力された日付の妥当性を確認する例。<br> <br> * 未来の日付でないかどうかを確認 *: =IF(A1>TODAY(), "エラー: 未来の日付", "OK") * 100歳以上でないかどうかを確認 *: =IF(DATEDIF(A1, TODAY(), "Y")>100, "エラー: 無効な日付", "OK") * 日付形式かどうかを確認 *: =IF(ISNUMBER(A1), "OK", "エラー: 日付を入力してください") <br> ==== タイムスタンプの記録 ==== データ入力時の日時を記録する例。<br> <br> * 現在の日時を記録 (再計算で更新される) *: =NOW() * 固定のタイムスタンプ (ショートカット) *: Ctrl + ; (日付) *: Ctrl + : (時刻) * 条件付きでタイムスタンプを記録 (VBAが必要) *: Worksheet_Changeイベントを使用 <br> ==== 経過時間の計算 ==== 開始時刻から経過時間を計算する例。<br> <br> * 経過時間 (時間単位) *: =(NOW()-開始時刻)*24 * 経過時間の表示 (時:分:秒形式) *: =TEXT(NOW()-開始時刻, "h:mm:ss") * 経過日数と時間 *: =INT(NOW()-開始日時)&"日"&TEXT(NOW()-開始日時, "h時間m分") <br><br> __FORCETOC__ [[カテゴリ:その他]]
Excel - 日付関数
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse