Excel2019では、複数の条件や値を検索して結果を求める[IFS(イフエス)関数]と[SWITCH(スイッチ)関数]が追加されています。
特に[IFS関数]は、[IF関数]の入れ子(ネスト)が分かりづらいと感じている方にはお勧めです。
ここでは、日付から[MONTH関数]で[月]を求めて、その月をもとに[四半期]や[上期・下期]を求める方法を紹介します。
多くの企業団体は4月から会計年度が変わりますが、中にはアメリカ式で1月からの会社もありますし、中途半端な月から始まる会社もあります。
ここでは、4月から年度が変わるケースを例として紹介します。
この記事の目次
[MONTH関数]を使って日付から[月]を表示
以下のような表があります。
セル[A2]からセル[A16]までは、日付データ(シリアル値)が入力されています。
セル[C2]からセル[C16]にA列の日付をもとに、月の数値だけを表示します。
セル[C2]を選択して、[数式]タブの[関数ライブラリ]グループにある[日付/時刻]から[MONTH]をクリックします。
MONTH(シリアル値)
月を1(1月)~12(12月)の範囲の整数で返します。
MONTHの[関数の引数]ダイアログボックスが表示されます。
[シリアル値]のテキストボックス内にカーソルがあると思いますので、セル[A2]をクリックしてセル[A2]を指定します。
[OK]ボタンをクリックします。
以下のようにセル[C2]に月の数値が取得されます。
セル[C16]まで関数をコピーしたいので、セル[C2]を選択して、フィルハンドルをダブルクリックします。
以下のように数式がコピーされます。フィルハンドルをダブルクリックすると、隣の列と同じ行までコピーされます。
参考日付に見えても文字列という場合もあります。シリアル値でなければ、結果を求めることはできません。文字列を日付に変更する方法は、以下の記事で解説しています。
-
ピボットテーブルで日付のグループ化ができない(文字列を日付に変更)
Excelでピボットテーブルを作成して、日付フィールドで[月]ごとのグループ化をしようとしてもできないことがあります。 これは、見た目は日付 ...
オートフィルができない場合は、[Excelのオプション]の設定を確認してください。
-
オートフィル機能が使用できない時は[Excelのオプション]で確認
フィルハンドルってご存知ですか?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の[関数の引数]ダイアログボックスが表示されます。
[論理式1]のテキストボックスにカーソルがあると思いますので、そのままセル[C2]をクリックして、続けて[>=10]と入力します。
[論理式1]は[C2>=10]となります。
[値が真の場合1]には[第3四半期]と入力します。ダブルクォーテーションは自動で表示されます。
同じように[論理式2]には[C2>=7]、[値が真の場合2]には[第2四半期]と入力します。
[論理式3]までしか表示されていませんので、[関数の引数]ダイアログボックス右側のスクロールバーで少し下へ移動します。
または、[Tab]キーを押します。
[論理式3]には[C2>=4]、[値が真の場合3]には[第1四半期]と入力します。
[論理式4]には[TRUE]、[値が真の場合4]には[第4四半期]と入力します。
[OK]ボタンをクリックします。
参考[TRUE]を指定すると、すべての論理式に当てはまらなかった場合を指定できます。もちろん[C2>=1]でも構いません。
セル[D2]には[第1四半期]と表示されます。
数式バーには、以下のように表示されています。
=IFS(C2>=10,"第3四半期",C2>=7,"第2四半期",C2>=4,"第1四半期",TRUE,"第4四半期")
セル[D2]のフィルハンドルをダブルクリックして、数式をコピーします。
以下のようにセル[D6]まで数式の結果が表示されます。
参考論理式の順序は、左から判断される順に並べます。[論理式1]で[値が真の場合1]の結果が返されると、次の[論理式2]以降の判断はスルーされます。
[関数の引数]ダイアログボックスで一番下までスクロールすると、[論理式]と[値が真の場合]の組み合わせは、127個までできることがわかります。
[IF関数]を使って月の数値をもとに[四半期]を表示
IF関数を使って求めることもできます。
[数式]タブの[関数ライブラリ]グループにある[論理]をクリックして、一覧から[IF]をクリックします。
IF(論理式,値が真の場合,値が偽の場合)
論理式の結果(真または偽)に応じて、指定された値を返します
IF関数を使う場合は、入れ子(ネスト)して求めることになります。
数式バーは以下のようになります。
=IF(C2>=10,"第3四半期",IF(C2>=7,"第2四半期",IF(C2>=4,"第1四半期","第4四半期")))
参考IF関数を使って四半期を求める方法は、以下の記事でも解説しています。
[IF関数]と[IFS関数]の違い
[IFS関数]は1つの関数で終わりますが、[IF関数]はネストする必要があります。
このネストが面倒、分かりづらいということがあります。
[IFS関数]の方が、見ただけで理解しやすくないですか?
論理式の並べる順序さえ間違えなければ、割と簡単にできると思います。
[SWITCH関数]を使って四半期の値をもとに[上期・下期]を表示
[SWITH関数]も新しい関数です。複数の値を検索して、一致すればその結果を表示します。数値や文字列によって、異なる結果を表示するときに使用します。
ここでは、[月]の数値から[IFS関数]を使用して[四半期]を表示した値をもとに[SWITCH関数]を使って、[上期・下期]を求めます。
D列の値が[第1四半期]と[第2四半期]であれば[上期]、それ以外を[下期]と表示します。
セル[E2]を選択して、[数式]タブの[関数ライブラリ]グループにある[論理]から[SWITCH]をクリックします。
SWITCH(式,値1,結果1,既定または値2,結果2,)
値の一覧で式を計算し、最初に一致する値に対応する結果が返されます。一致しない場合は、任意の既定値が返されます。
SWITCHの[関数の引数]ダイアログボックスが表示されます。
[式]のテキストボックスにカーソルがあると思いますので、そのままセル[D2]をクリックします。
[値1]のテキストボックスには、[第1四半期]と入力します。ダブルクォーテーションは自動で表示されます。
[結果1]には、[上期]と入力します。
[既定または値2]には[第2四半期]、[結果2]には[上期]と入力します。
[関数の引数]ダイアログボックスの右側のスクロールバーで少し下へ移動します。
または、[Tab]キーを押します。
[既定または値3]に[下期]と入力します。
それ以外を指定する場合は、表示したい結果のみを入力します。
[OK]ボタンをクリックします。
以下のように、セル[E2]には[上期]と表示されます。
数式バーには、以下のように表示されています。
=SWITCH(D2,"第1四半期","上期","第2四半期","上期","下期")
セル[E2]のフィルハンドルをダブルクリックして、数式をコピーします。
参考[関数の引数]ダイアログボックスで一番下までスクロールすると、[値]と[結果]の組み合わせは、126個までできることがわかります。
[IFS関数]を使用するなら
[IFS関数]を使って表示することもできます。
=IFS(D2="第1四半期","上期",D2="第2四半期","上期",TRUE,"下期")
[IFS関数]と[SWTCH関数]の違い
[SWITCH関数]の場合は、判定する検索対象は1つのセルしか指定できません。
[IFS関数]の場合は、判定対象は複数可能です。それぞれの論理式に別のものを指定できます。
新しい関数を旧バージョンのExcelで表示した場合
新しい関数を使った表を旧バージョンのExcelで表示すると、以下のようになります。
Excel2016ですが、永続ライセンス版ですので、[IFS関数]も[SWITCH関数]も使用できません。
表示するだけであれば、問題ないようにみえますが、数式バーをみると、[_xlfn.]と表示されています。
また、データを更新すると、エラーが表示されます。
ファイルをやりとりする相手のバージョンが異なる場合は気をつけたいですね。
関連Excel2019の新関数は、CONCAT関数やTEXTJOIN関数もあります。文字列を結合する関数です。文字列を結合するには、関数以外の方法もあります。以下の記事で解説しています。
-
複数の文字列を結合してひとつの文字列にするには
Excelで1つのセルに他のセルの文字列を結合した文字列を表示する方法を紹介します。 5つの方法を紹介しますので、使用環境に合った方法で操作 ...
MAXIFS関数とMINIFS関数も追加されています。複数の条件で最大値・最小値を求めることができます。
-
複数の条件で最大値/最小値を求める[MAXIFS関数]と[MINIFS関数]
Excel2019では複数の検索条件で最大値・最小値を求められる[MAXIFS(マックスイフエス)関数]と[MINIFS(ミニマムイフエス) ...
参考ピボットテーブルでは、日付は自動的にグループ化されて、[年]や[四半期]も表示されますが、第1四半期は、1月から3月となっています。
多くの企業では、4月始まりで4月から6月が第1四半期となると思います。
ピボットテーブルで四半期ごとの集計をする場合は、IFS関数などを使用して[四半期]の列を追加しておくと効率的です。
ピボットテーブルのグループ化については、以下の記事で解説しています。自動的にグループされないように設定を解除することもできます。
-
ピボットテーブルの日付のグループ化が自動に(無効設定も可能)
Excel2016では、ピボットテーブルを作成した時に日付のグループ化が自動で設定されるようになりました。 日付の自動グループ化は無効にする ...
Accessでも[日付]フィールドがあれば、[四半期]、[期]、[年度]、[月]は演算フィールドで追加することができます。
-
クエリに四半期、期、年度、月の演算フィールドを追加
テーブルに[日付]フィールドがあれば、[四半期]、[期]、[年度]、[月]のフィールドは演算フィールドで追加することができます。 Acces ...