エクセル実践塾 > 特集「条件式の考え方」

日数はシリアル値の減算で求める

 

シリアル値の1は1日に相当するので、日付の減算ではその間の日数が求められます

「2012/3/17」などの日付や、「14:43」などの時刻(時間)は、いったんセルに入力すると、シリアル値に変換され、表示形式でその見た目を変えられるようになります。

このシリアル値は、「1900/1/0 0:00」を0とする数値です。

シリアル値の1は1日に相当し、日付のシリアル値は、「1900/1/0 0:00」からの経過日数となります。

そのため、日付同士の減算(引き算)は、その間の日数が、正もしくは負の整数で求められることになります。

日付そのものは文字列なので、条件式で用いる場合には、DATE関数などでシリアル値に変換する必要があります。

 

 

 

条件式 の中で日付の減算を行う場合には、DATE関数などでシリアル値に変換します。

前の日付ほど小さなシリアル値になるので、減算の結果がマイナス値になることもあります。比較しやすくするために、この例ではABS関数で、減算結果を絶対値にしています。

この例では、2012年4月1日を含む、前後3日間に該当する日付を条件式で調べています。

AND関数を使った場合は、このような条件式となります。
複数の日付と比較する場合は、あらかじめそれらをセルに入力しておき、そのセル範囲に適当な名前を付けておくと、条件式を簡略化できます。

複数の日付は配列扱いになるので、条件式は配列数式にします。

【参考】論理値は、加算できる

SUMPRODUCT関数に置き換えれば、通常の数式で同様の条件式にできます。

条件付き書式では配列数式を条件式として設定できないので、 このSUMPRODUCT関数を使います。

 

<< 論理値は、加算できる 質問や要望などはこちらへ 【条件付き書式での使用例】
特定の日を含む、前後3日間を強調する >>

 

関連する他のページ

曜日でデータをまとめたい
WEEKDAY関数の結果を並べ変えれば、曜日ごとに集計することもできます

スケジュール表の土日を塗りつぶしたい
日付や曜日がシリアル値(日時データ)で入力されていれば、WEEKDAY関数を使った条件付き書式で、土日だけを強調できます

日付の曜日を数値で表したい
WEEKDAY関数を使うと、各曜日を数値で表すことができます

条件付き書式を使って、土曜日と日曜日、祝祭日を色分けする
条件付き書式のルールは、複数設定して適用できます

ピボットテーブルを使って、曜日でデータを分析したい
WEEKDAY関数の結果をピボットテーブルでページフィルタにすれば、曜日でデータを分析できます

WEEKDAY関数を使ってみたい
WEEKDAY関数を使うと、指定した日付の曜日を1〜7の数値で表せます

日付から曜日データを取得したい
WEEKDAY関数を使えば、日付データから、曜日を表す数値データを取得できます

条件付き書式を使って、 日曜日の列だけを塗りつぶす
WEEKDAY関数による条件式を使えば、日曜日のセル範囲だけを塗りつぶせます

月〜金曜日の売上だけを合計したい
WEEKDAY関数による結果を条件とすれば、SUMIF関数で曜日を限定して売上を合計できます

月〜金曜日の売上の平均を求めたい
WEEKDAY関数による結果を条件として、SUMIF関数での集計結果を、COUNTIF関数で調べた個数で割れば、曜日を限定して平均を求めることができます