エクセル関数応用
エクセルの日付と時刻のまとめ

Excel関数の解説、関数サンプルと高等テクニック
最終更新日:2019-03-06

エクセルの日付と時刻のまとめ


エクセル 日付 まとめ VBA

エクセルに入力するデータとしては、数値、文字、日付時刻などがありますが、日付時刻はかなり特殊なものとなっています。
日付時刻の扱いは独特であり、
エクセルのワークシートだけでなくマクロVBAでも他のプログラミング言語でも扱いが面倒なものです、
ここでは日付時刻についての関数や応用方法についてまとめています。


日付時刻の基本ワークシート関数

日付時刻のシリアル値
・日付のシリアル値 ・時刻のシリアル値 ・サイト内の日付時刻関連の参考ページ

DATE関数(年,月,日を日付に)
・DATE関数の書式 ・DATE関数の使用例 ・サイト内の日付時刻関連ページ

DATEVALUE関数(日付を表す文字列を日付に)
・DATEVALUE関数の書式 ・DATEVALUE関数の使用例 ・サイト内の日付時刻関連ページ

YEAR関数(日付を年に)
・YEAR関数の書式 ・YEAR関数の使用例 ・サイト内の日付時刻関連ページ

MONTH関数(日付を月に)
・MONTH関数の書式 ・MONTH関数の使用例 ・サイト内の日付時刻関連ページ

DAY関数(日付を日に)
・DAY関数の書式 ・DAY関数の使用例 ・サイト内の日付時刻関連ページ

TIME関数(時,分,秒を時刻に)
・TIME関数の書式 ・TIME関数の使用例 ・サイト内の日付時刻関連ページ

TIMEVALUE関数(時刻を表す文字列を時刻に)
・TIMEVALUE関数の書式 ・TIMEVALUE関数の使用例 ・サイト内の日付時刻関連ページ

HOUR関数(時刻を時に)
・HOUR関数の書式 ・HOUR関数の使用例 ・サイト内の日付時刻関連ページ

MINUTE関数(時刻を分に)
・MINUTE関数の書式 ・MINUTE関数の使用例 ・サイト内の日付時刻関連ページ

SECOND関数(時刻を秒に)
・SECOND関数の書式 ・SECOND関数の使用例 ・サイト内の日付時刻関連ページ

TODAY関数(現在の日付)
現在の日付に対応する値を返します。セルにTODAY関数を入力すると、セルの表示形式は自動的に日付形式に設定されます。TODAY関数の書式 TODAY() ※引数はありません。TODAY関数は、エクセルで再計算が行われない限り、関数を入力した日付のままになります。

NOW関数(現在の日付と時刻)
現在の日付と時刻に対応するシリアル値を返します。セルにNOW関数を入力すると、セルの表示形式は自動的に時刻形式に設定されます。NOW関数の書式 NOW() ※引数はありません。NOW関数は、エクセルで再計算が行われない限り、関数を入力した日付時刻のままになります。

WORKDAY関数(稼動日数だけ前後の日付)
・WORKDAY関数の書式 ・WORKDAY.INTL関数の書式 ・WORKDAY関数、WORKDAY.INTL関数の使用例

NETWORKDAYS関数(稼動日の日数)
・NETWORKDAYS関数の書式 ・NETWORKDAYS.INTL関数の書式 ・NETWORKDAYS関数、NETWORKDAYS.INTL関数の使用例

DATEDIF関数(年齢・勤続年数)
・DATEDIF関数の書式 ・DATEDIF関数の使用例 ・DATEDIF関数の注意点

EDATE関数(月数だけ前後の日付)
・EDATE関数の書式 ・EDATE関数の使用例 ・EDATE関数の応用例

EOMONTH関数(月数だけ前後の月の最終日)
開始日から指定された月数だけ前または後の月の最終日を返します。EOMONTH関数の書式 EOMONTH(開始日,月) 開始日 起算日を表す日付を指定します。月 開始日から起算したい月数を指定します。正の数を指定すると、起算日より後の日付を返し、負の数を指定すると、起算日より前の日付を返します。

WEEKDAY関数(曜日に変換)
日付に対応する曜日を返します。既定では、戻り値は1(日曜)から7(土曜)までの範囲の整数となります。引数の「種類」により曜日に対する数値は変わりますが、数値としては常に1~7となります。WEEKDAY関数の書式 WEEKDAY(シリアル値,[種類]) シリアル値 曜日を求める日付を指定します。

WEEKNUM関数(その年の何週目)
日付がその年の第何週目に当たるかを返します。WEEKNUM関数の書式 WEEKNUM(シリアル値,[週の基準]) シリアル値 日付を指定します。日付は、DATE関数を使って入力するか、他の数式または他の関数の結果を指定します。

日付時刻の表示形式・入力規則

表示形式.日付
・セルへの入力で自動的に日付書式が設定される ・日付の表示形式の設定方法 ・日付の書式文字列 ・日付の書式文字列の使用例

表示形式.24時間を超える時間
・24時間以上の時間の表示形式 ・60以上の分・秒の表示形式

日付表示の桁位置を揃える
日付表示で月日が1桁の時に、/スラッシュの位置を揃える表示形式の指定方法です。12/19 12/8 この場合の、表示位置を揃えるというものです。そのサイトの案内では、m/dこれをm/""d このようにすれば良いと書いてありました。

入力規則.日付・時刻
・日付・時刻の入力規則の設定方法 ・日付・時刻の入力規則の解説


日付時刻の応用

エクセルの日付のお話
エクセルでの日付の扱いは特別です。では、エクセルでの日付についてのお話です。エクセルでの日付は1900/1/1を1として、そこからの日数になっています。通常、私もこのように説明するのですが、実は、ちょっとからくりがあります。

日付、時刻に関するあれこれ「元年」表記追加)
1.曜日の表示方法 2.数値を日付にする方法 3.24時以降(26時等)の表示書式 4.日付と日付の間隔(年齢等)の求め方、DATEDIFに関して 5.日付、時刻のシリアル値(数値) 6.和暦表示について「元年」表記」1.曜日の表示方法 曜日の書式に関しては、「セルの書式設定」にサンプルが出ていない為、

1年後の日付、○か月後の日付
起算日からの一年間の最後の日の求め方です、起算日が2011/4/1なら、2012/3/31の求め方です。セルA1に起算日が入っており、セルA2に一年間の最終日を設定する場合。一年後の日付 よくみかけるのは、=DATE(YEAR(A1)+1,MONTH(A1),DAY(A1))-1 DATEは、DATE(年,

数値を時刻に変換
・数値を時刻に変換:方法1 ・数値を時刻に変換:方法2 ・数値を時刻に変換:方法3 ・数値を時刻に変換の注意点

時間計算で困ったときの確実な対処方法
・日付・時刻のシリアル値とは ・Excelにおける小数の問題 ・どんな時に問題が発生するか ・確実な時間計算方法 ・TIME関数の制限について ・単純化した結論

マクロVBAでの日付時刻

日付時刻のVBA関数
Date関数
Date関数は、現在のシステムの日付を返します、バリアント型(内部処理形式DateのVariant)の値を返します。Date関数 Date 現在の日付を設定するには、Dateステートメントを使います。グレゴリオ暦の場合、DateとDate$の動作は同じです。
DateAdd関数
・DateAdd関数 ・DateAdd関数の注意点 ・DateAdd関数の使用例
DateDiff関数
DateDiff関数は、2つの指定した日付の時間間隔を表す値を返します。ワークシート関数のDATEDIF関数とはスペルも引数も違います、さらに、年の計算は違ったものとなっていますので注意してください。DateDiff関数 DateDiff(interval,date1,date2[,firstdayofweek[,
DatePart関数
DatePart関数は、日付の指定した部分の値を返します、バリアント型(内部処理形式DateのVariant)の値を返します。DatePart関数 DatePart(interval,date[,firstdayofweek[,firstweekofyear]]) interval 必ず指定します。
DateSerial関数
DateSerial関数は、引数に指定した年、月、日に対応する日付を返す関数です、バリアント型(内部処理形式DateのVariant)の値を返します。DateSerial関数 DateSerial(year,month,day) year 必ず指定します。
DateValue関数
DateValue関数は、日付を表す文字列式を日付に変換します、バリアント型(内部処理形式DateのVariant)の値を返します。DateValue関数 DateValue(date) date 必ず指定します。引数dateには、通常、100年1月1日から9999年12月31日までの範囲の日付を表す文字列式を指定…
Day関数
Day関数は、日付から何日かを表す日の値を返します、バリアント型(内部処理形式IntegerのVariant)の値を返します。Day関数 Day(date) date 必ず指定します。日付を表すバリアント型(Variant)の値、数式、文字列式、またはこれらを組み合わせた値を指定します。
Hour関数
Hour関数は、時刻から時の整数を返します、バリアント型(内部処理形式DateのVariant)の値を返します。Hour関数 Hour(time) time 必ず指定します。時刻を表す任意のバリアント型(Variant)の値、数式、文字列式、またはこれらを組み合わせた値を指定します。
Minute関数
Minute関数は、時刻から分の整数を返します、バリアント型(内部処理形式DateのVariant)の値を返します。Minute関数 Minute(time) time 必ず指定します。時刻を表す任意のバリアント型(Variant)の値、数式、文字列式、またはこれらを組み合わせた値を指定します。
Month関数
Month関数は、日付から何月かを表す月の値を返します、バリアント型(内部処理形式IntegerのVariant)の値を返します。Month関数 Month(date) date 必ず指定します。日付を表すバリアント型(Variant)の値、数式、文字列式、またはこれらを組み合わせた値を指定します。
MonthName関数
MonthName関数は、指定された月を表す文字列を返します。MonthName関数 MonthName(month[,abbreviate]) month 必ず指定します。月を示す数値を指定します。
Now関数
Now関数は、コンピュータのシステムの日付と時刻の設定に基づいて、現在の日付と時刻を返します、バリアント型(内部処理形式DateのVariant)の値を返します。Now関数 Now() ()は省略可能です。Now Now関数の使用例 MsgBoxNow…2013/06/0912:57:46現在の日時 OfficeV…
Second関数
Second関数は、時刻から分の整数を返します、バリアント型(内部処理形式DateのVariant)の値を返します。Second関数 Seconde(time) time 必ず指定します。時刻を表す任意のバリアント型(Variant)の値、数式、文字列式、またはこれらを組み合わせた値を指定します。
Time関数
Time関数は、現在のシステムの時刻を返します、バリアント型(内部処理形式DateのVariant)の値を返します。Time関数 Time() ()は省略可能です。Time システムの時刻を設定するときは、Timeステートメントを使います。
Timer関数
・Timer関数 ・Timer関数の使用例 ・Timer関数の応用
TimeSerial関数
TimeSerial関数は、引数で指定した時、分、秒に対応する時刻を返します、バリアント型(内部処理形式DateのVariant)の値を返します。TimeSerial関数 TimeSerial(hour,minute,second) hour 必ず指定します。
TimeValue関数
TimeValue関数は、時刻を表す文字列式を時刻に変換します、バリアント型(内部処理形式DateのVariant)の値を返します。TimeValue関数 TimeValue(time) time 必ず指定します。通常0:00:00(12:00:00AM)~23:59:59(11:59:59PM)の範囲の時刻を表す…
Weekday関数
Weekday関数は、何曜日であるかを表す整数を返します、バリアント型(内部処理形式IntegerのVariant)の値を返します。Weekday関数 Weekday(date,[firstdayofweek]) date 必ず指定します。
WeekdayName関数
WeekdayName関数は、指定された曜日を表す文字列を返します。WeekdayName関数 WeekdayName(weekday,abbreviate,firstdayofweek) weekday 必ず指定します。曜日を示す数値を指定します。
Year関数
Year関数は、日付から年の値を返します、バリアント型(内部処理形式IntegerのVariant)の値を返します。Year関数 Year(date) date 必ず指定します。日付を表すバリアント型(Variant)の値、数式、文字列式、またはこれらを組み合わせた値を指定します。
練習問題12(日付関数の練習)
・マクロVBA練習問題 ・シンキングタイム ・マクロVBA練習問題回答へ

第45回.VBA関数(Format)
・Format関数 ・日付/時刻表示書式指定文字 ・数値表示書式指定文字 ・文字列表示書式指定文字 ・Format関数の使用例 ・※セルに出力する場合 ・最後に

日付のオートフィルタ(AutoFilter)
とても便利なオートフィルターですが、日付となると、結構大変です。以下の表で説明します。普通は、こんなように指定します。Operator:=xlFilterValues は2007以降で追加された機能です。

日付の検索(配列の使用)
日付の検索は、いろいろと面倒です。Findメソッドで検索する場合、表示書式に左右されますので、表示書式を変更しただけで、検索されなくなります。これは、手作業での検索においても同様になりますが、マクロとしてはいかにも不便です。




同じテーマ「エクセル関数応用」の記事

VLOOKUP 左側の列を取得(MATCH,INDEX,OFFSET)
SUMIF関数の良くある間違い
論理式とは条件式とは(IF関数,AND関数,OR関数)
先頭の数値、最後の数値を取り出す
最後の空白(や指定文字)以降の文字を取り出す
SUMIFの間違いによるパフォーマンスの低下について
数値範囲で表検索するVLOOKUP近似一致
エクセルの日付と時刻のまとめ
連続数値部分を取り出し記号で連結
指数近似/対数近似/累乗近似(掲載順位とCTR)
ジャンプ・セル選択の応用(空欄を埋める、1行置きに挿入)


新着記事NEW ・・・新着記事一覧を見る

抜けている数値を探せ|エクセル雑感(2022-07-01)
.Net FrameworkのSystem.Collectionsを利用|VBA技術解説(2022-06-29)
迷路ネコが影分身の術を体得したら…|エクセル雑感(2022-06-27)
迷路にネコが挑戦したら、どうなるかな…|エクセル雑感(2022-06-26)
サロゲートペアに対応した自作関数(Len,Left,Mid,Right)|エクセル雑感(2022-06-24)
「マクロの登録」で登録できないプロシージャーは?|エクセル雑感(2022-06-23)
オブジェクトのByRef、ByVal、Variant|エクセル雑感(2022-06-22)
コメントから特定形式の年月を取り出す|エクセル雑感(2022-06-19)
4,9を使わない連番作成|エクセル雑感(2022-06-17)
連番を折り返して出力|エクセル雑感(2022-06-16)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.マクロって何?VBAって何?|VBA入門
8.並べ替え(Sort)|VBA入門
9.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
10.エクセルVBAでのシート指定方法|VBA技術解説




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ