リンクユニット

Office 2019 Excel 2019

日付から月・四半期・上期下期を求める(MONTH/IFS/SWITCH関数)

投稿日:2020年7月27日 更新日:

Excel2019では、複数の条件や値を検索して結果を求める[IFS(イフエス)関数]と[SWITCH(スイッチ)関数]が追加されています。

特に[IFS関数]は、[IF関数]の入れ子(ネスト)が分かりづらいと感じている方にはお勧めです。

ここでは、日付から[MONTH関数]で[月]を求めて、その月をもとに[四半期]や[上期・下期]を求める方法を紹介します。

多くの企業団体は4月から会計年度が変わりますが、中にはアメリカ式で1月からの会社もありますし、中途半端な月から始まる会社もあります。

ここでは、4月から年度が変わるケースを例として紹介します。

IFS関数の[関数の引数]ダイアログボックス

[MONTH関数]を使って日付から[月]を表示


以下のような表があります。

セル[A2]からセル[A16]までは、日付データ(シリアル値)が入力されています。

日付と金額を入力した表

セル[C2]からセル[C16]にA列の日付をもとに、月の数値だけを表示します。

セル[C2]を選択して、[数式]タブの[関数ライブラリ]グループにある[日付/時刻]から[MONTH]をクリックします。

MONTH(シリアル値)

月を1(1月)~12(12月)の範囲の整数で返します。

[数式]タブの[関数ライブラリ]グループにある[日付/時刻]の[MONTH]

MONTHの[関数の引数]ダイアログボックスが表示されます。

[シリアル値]のテキストボックス内にカーソルがあると思いますので、セル[A2]をクリックしてセル[A2]を指定します。

[OK]ボタンをクリックします。

MONTH関数の[関数の引数]ダイアログボックス

以下のようにセル[C2]に月の数値が取得されます。

セル[C16]まで関数をコピーしたいので、セル[C2]を選択して、フィルハンドルをダブルクリックします。

MONTH関数の結果

以下のように数式がコピーされます。フィルハンドルをダブルクリックすると、隣の列と同じ行までコピーされます。

数式をコピーした結果

参考日付に見えても文字列という場合もあります。シリアル値でなければ、結果を求めることはできません。文字列を日付に変更する方法は、以下の記事で解説しています。

ピボットテーブルで日付のグループ化ができない

Excelでピボットテーブルを作成して、日付フィールドで[月]ごとのグループ化をしようとしてもできないことがあります。 これは、見た目は日付 ...

続きを見る

[IFS関数]を使って月の数値をもとに[四半期]を表示

[IFS関数]と[SWITCH関数]は、新しい関数です。

まず、[IFS関数]と[SWITCH関数]を使えるかどうかを確認してみてください。

[IFS関数]と[SWITCH関数]が使用できる環境かどうかを確認

[数式]タブの[関数ライブラリ]グループにある[論理]をクリックして、一覧に[IFS]と[SWITCH]があるかどうかを確認します。

参考Excel2016でもOffice365を契約していれば使用できます。

[IFS関数]が使用できない環境でも[IF関数]を使って求められます。

[数式]タブの[関数ライブラリ]グループにある[論理]

[IFS関数]は条件を順番に判断して結果を表示

ここでは、4月~6月を第1四半期、7月~9月を第2四半期、10月~12月を第3四半期、1月~3月を第4四半期とします。

なので、

セル[C2]の値(月)が[10以上]なら[第3四半期][7以上]なら[第2四半期][4以上]なら[第1四半期]当てはまらなかった場合は[第4四半期]

と表示するようにします。

セル[D2]を選択して、[数式]タブの[関数ライブラリ]グループにある[論理]をクリックして、一覧から[IFS]をクリックします。

IFS(論理式,値が真の場合,)

1つ以上の条件が満たされるかどうかを確認し、最初の真条件に対応する値を返します。

[数式]タブの[関数ライブラリ]グループにある[論理]から[IFS]を選択

IFSの[関数の引数]ダイアログボックスが表示されます。

[論理式1]のテキストボックスにカーソルがあると思いますので、そのままセル[C2]をクリックして、続けて[>=10]と入力します。

[論理式1]は[C2>=10]となります。

[値が真の場合1]には[第3四半期]と入力します。ダブルクォーテーションは自動で表示されます。

同じように[論理式2]には[C2>=7]、[値が真の場合2]には[第2四半期]と入力します。

[論理式3]までしか表示されていませんので、[関数の引数]ダイアログボックス右側のスクロールバーで少し下へ移動します。

または、[Tab]キーを押します。

IFS関数の[関数の引数]ダイアログボックス

[論理式3]には[C2>=4]、[値が真の場合3]には[第1四半期]と入力します。

[論理式4]には[TRUE]、[値が真の場合4]には[第4四半期]と入力します。

[OK]ボタンをクリックします。

参考[TRUE]を指定すると、すべての論理式に当てはまらなかった場合を指定できます。もちろん[C2>=1]でも構いません。

IFS関数の[関数の引数]ダイアログボックス

セル[D2]には[第1四半期]と表示されます。

数式バーには、以下のように表示されています。セル[D2]のフィルハンドルをダブルクリックして、数式をコピーします。

=IFS(C2>=10,"第3四半期",C2>=7,"第2四半期",C2>=4,"第1四半期",TRUE,"第4四半期")

フィルハンドルをダブルクリックして、数式をコピーします。

IFS関数の結果と数式バー

以下のようにセル[D6]まで数式の結果が表示されます。

数式をコピーした結果

参考論理式の順序は、左から判断される順に並べます。[論理式1]で[値が真の場合1]の結果が返されると、次の[論理式2]以降の判断はスルーされます。

[関数の引数]ダイアログボックスで一番下までスクロールすると、[論理式]と[値が真の場合]の組み合わせは、127個までできることがわかります。

IFS関数の[関数の引数]ダイアログボックスで一番下までスクロール

[IF関数]を使って月の数値をもとに[四半期]を表示

IF関数を使って求めることもできます。

[数式]タブの[関数ライブラリ]グループにある[論理]をクリックして、一覧から[IF]をクリックします。

IF(論理式,値が真の場合,値が偽の場合)

論理式の結果(真または偽)に応じて、指定された値を返します

[数式]タブの[関数ライブラリ]グループにある[論理]から[IF]を選択

IF関数を使う場合は、入れ子(ネスト)して求めることになります。

IF関数の[関数の引数]ダイアログボックス

数式バーは以下のようになります。

=IF(C2>=10,"第3四半期",IF(C2>=7,"第2四半期",IF(C2>=4,"第1四半期","第4四半期")))

IF関数で求めた時の数式バー

参考IF関数を使って四半期を求める方法は、以下の記事でも解説しています。

ピボットテーブルでの四半期設定

[IF関数]と[IFS関数]の違い

[IFS関数]は1つの関数で終わりますが、[IF関数]はネストする必要があります。

このネストが面倒、分かりづらいということがあります。

IF関数のネスト

[IFS関数]の方が、見ただけで理解しやすくないですか?

論理式の並べる順序さえ間違えなければ、割と簡単にできると思います。

IFS関数の並び

[SWITCH関数]を使って四半期の値をもとに[上期・下期]を表示

[SWITH関数]も新しい関数です。複数の値を検索して、一致すればその結果を表示します。数値や文字列によって、異なる結果を表示するときに使用します。

ここでは、[月]の数値から[IFS関数]を使用して[四半期]を表示した値をもとに[SWITCH関数]を使って、[上期・下期]を求めます。

D列の値が[第1四半期]と[第2四半期]であれば[上期]、それ以外を[下期]と表示します。

セル[E2]を選択して、[数式]タブの[関数ライブラリ]グループにある[論理]から[SWITCH]をクリックします。

SWITCH(式,値1,結果1,既定または値2,結果2,)

値の一覧で式を計算し、最初に一致する値に対応する結果が返されます。一致しない場合は、任意の既定値が返されます。

[数式]タブの[関数ライブラリ]グループにある[論理]の[SWITCH]

SWITCHの[関数の引数]ダイアログボックスが表示されます。

[式]のテキストボックスにカーソルがあると思いますので、そのままセル[D2]をクリックします。

[値1]のテキストボックスには、[第1四半期]と入力します。ダブルクォーテーションは自動で表示されます。

[結果1]には、[上期]と入力します。

[既定または値2]には[第2四半期]、[結果2]には[上期]と入力します。

[関数の引数]ダイアログボックスの右側のスクロールバーで少し下へ移動します。

または、[Tab]キーを押します。

SWITCH関数[関数の引数]ダイアログボックス

[既定または値3]に[下期]と入力します。

それ以外を指定する場合は、表示したい結果のみを入力します。

[OK]ボタンをクリックします。

SWITCH関数[関数の引数]ダイアログボックス

以下のように、セル[E2]には[上期]と表示されます。

数式バーには、以下のように表示されています。セル[E2]のフィルハンドルをダブルクリックして、数式をコピーします。

=SWITCH(D2,"第1四半期","上期","第2四半期","上期","下期")

SWITCH関数で求めた結果

参考[関数の引数]ダイアログボックスで一番下までスクロールすると、[値]と[結果]の組み合わせは、126個までできることがわかります。

SWITCH関数[関数の引数]ダイアログボックスで一番下までスクロール

[IFS関数]を使用するなら

[IFS関数]を使って表示することもできます。

=IFS(D2="第1四半期","上期",D2="第2四半期","上期",TRUE,"下期")

[IFS関数]と[SWTCH関数]の違い

[SWITCH関数]の場合は、判定する検索対象は1つのセルしか指定できません。

SWITH関数

[IFS関数]の場合は、判定対象は複数可能です。それぞれの論理式に別のものを指定できます。

IFS関数

新しい関数を旧バージョンのExcelで表示した場合

新しい関数を使った表を旧バージョンのExcelで表示すると、以下のようになります。

Excel2016ですが、永続ライセンス版ですので、[IFS関数]も[SWITCH関数]も使用できません。

表示するだけであれば、問題ないようにみえますが、数式バーをみると、[_xlfn.]と表示されています。

Excel2016で表示したIFS関数

また、データを更新すると、エラーが表示されます。

ファイルをやりとりする相手のバージョンが異なる場合は気をつけたいですね。

Excel2016のIFS関数のエラー

関連Excel2019の新関数は、CONCAT関数TEXTJOIN関数もあります。文字列を結合する関数です。文字列を結合するには、関数以外の方法もあります。以下の記事で解説しています。

複数の文字列を結合してひとつの文字列にするには

Excelで1つのセルに他のセルの文字列を結合した文字列を表示する方法を紹介します。 4つの方法を紹介しますので、使用環境に合った方法で操作 ...

続きを見る

MAXIFS関数とMINIFS関数も追加されています。複数の条件で最大値・最小値を求めることができます。

複数の条件で最大値/最小値を求める[MAXIFS関数]と[MINIFS関数]

Excel2019では複数の検索条件で最大値・最小値を求められる[MAXIFS(マックスイフエス)関数]と[MINIFS(ミニマムイフエス) ...

続きを見る

参考ピボットテーブルでは、日付は自動的にグループ化されて、[年]や[四半期]も表示されますが、第1四半期は、1月から3月となっています。

多くの企業では、4月始まりで4月から6月が第1四半期となると思います。

ピボットテーブルの自動グループ化

ピボットテーブルで四半期ごとの集計をする場合は、IFS関数などを使用して[四半期]の列を追加しておくと効率的です。

IFS関数で四半期で求めた表でピボットテーブルを作成

ピボットテーブルのグループ化については、以下の記事で解説しています。自動的にグループされないように設定を解除することもできます。

ピボットテーブルの日付のグループ化が自動に(無効設定も可能)

Excel2016では、ピボットテーブルを作成した時に日付のグループ化が自動で設定されるようになりました。 例えば下のような売上数一覧の表か ...

続きを見る

Accessでも[日付]フィールドがあれば、[四半期]、[期]、[年度]、[月]は演算フィールドで追加することができます。

クエリに【四半期】【期】【年度】【月】の演算フィールドを追加

テーブルに[日付]フィールドがあれば、[四半期]、[期]、[年度]、[月]のフィールドは演算フィールドで追加することができます。 Acces ...

続きを見る

Profile

執筆者/はま

もっと理解したいあなたへ

おすすめ記事と広告

-Office 2019 Excel 2019

Copyright © 2001-2020 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2020 AllRights Reserved Powered by AFFINGER4.