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

Excel関数の解説、関数サンプルと高等テクニック
公開日:2019-03-06 最終更新日: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メソッドで検索する場合、表示書式に左右されますので、表示書式を変更しただけで、検索されなくなります。これは、手作業での検索においても同様になりますが、マクロとしてはいかにも不便です。




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

SUMIF関数の良くある間違い

エクセルの関数の中で最も頻繁に使われる関数と言っても過言ではないSUMIF関数ですが、間違った指定をして、合計が合わずに悩み続けて時間を浪費してしまうことあります、そういう間違いで最も多いのが、範囲と合計範囲の指定間違いです。まずは、SUMIF関数の確認 SUMIF関数 範囲の中で、指定した条件を満たすセルの値を合…
論理式とは条件式とは(IF関数,AND関数,OR関数)
エクセルを使いこなす上で論理式はとても重要です、そもそも論理式とは何か、どうして論理式というのか、論理式の作り方、論理式の使い方について解説します。そもそも論理式という言い方が分かりずらいと思う。なぜエクセルでは論理式というのか… Microsoftのヘルプによると、IF関数 構文:IF(logical_test,
先頭の数値、最後の数値を取り出す
数値と文字が混在した文字列から、数値だけを取り出します、先頭の数値や、最後の数値だけを取り出す方法です。A1セルに 1234abcd5678 このA1セルから、1234や5678を取り出します。先頭の数値…1234 =LOOKUP(10^17,LEFT(A1,COLUMN($1:$1))*1) COLUMN($1:…
最後の空白(や指定文字)以降の文字を取り出す
いくつかのスペースやハイフンで区切られた文字列から、最後のスペースやハイフン以降の文字列を取り出します。A1セルに、abcdefghi や abc-def-ghi これらの文字列から、ghiを取り出します。以下では、見やすいように区切り文字は"-"で説明します。
SUMIFの間違いによるパフォーマンスの低下について
再計算が終わらない… そんな経験をした人は多いと思います、原因はさまざまですが、まずは数式を見直してみましょう。単純な四則演算が遅いという事はありません、それはもうPCの問題です。時間のかかる計算としては、大量データの集計計算を多数使っている場合です。
数値範囲で表検索するVLOOKUP近似一致
・表をエクセルで扱えるように調整する ・VLOOKUP関数の近似一致 ・VLOOKUP近似一致がどのように値を探しているか ・VLOOKUP近似一致の表を作成する場合の注意点 ・VLOOKUP関数に関する参考ページ
エクセルの日付と時刻のまとめ
連続数値部分を取り出し記号で連結
・作成する関数の仕様 ・スピル前:2019永続版まで ・スピル後:Office365 ・LET関数:Office365 Insider 2020年3月現在 ・関数の作成手順 ・LET関数の作成手順
指数近似/対数近似/累乗近似(掲載順位とCTR)
・Google Search Consoleから:掲載順位とCTRデータを取得 ・散布図と近似曲線 ・X軸Y軸を入れ替えて散布図を作成 ・適切な近似曲線の選択について ・指数近似を数式で求める ・関数の説明 ・掲載順位に対するCTRを求める ・指数近似/対数近似/累乗近似(掲載順位とCTR)の最後に
ジャンプ・セル選択の応用(空欄を埋める、1行置きに挿入)
ジャンプ機能は、指定のセルにジャンプする機能です。このジャンプ先の指定方法が豊富に用意されていて、その応用範囲はとても広いです。以下の2通り、・表の同上で空欄になっているセルを埋める ・表に1行おきにきに空白行を挿入する 動画と簡単な解説で紹介します。
累計を求める数式あれこれ
・例題サンプル ・SUM関数:順に足していく ・SUM関数:絶対参照と相対参照で範囲をずらす ・SUM関数:OFFSET関数で範囲をずらす ・SUM関数:INDIRECT関数で範囲をずらす ・SUMIFS関数:当該行より前の行を条件指定 ・SUM+IF関数:SUM+IFの配列数式(CSE)で ・SUMPRODUCT関数:当該行より前の行を条件指定 ・FILTER関数:当該行より前の行を条件指定 ・SUMIFS関数:スピル ・SCAN関数:LAMBDA関数内でSUM


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

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




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


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


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