2024年11月27日【ID:0】
【Excel】指定した年月のデータを数式で抽出
今回は、抽出シートに年月を指定するだけで、売上管理シートの表から該当する年月のデータを瞬時に抽出する数式の作成方法について解説していきます。
表から指定したデータを抽出
表から指定したデータを抽出するには、FILTER関数を活用します。
この関数の使い方は、以下になります。
=FILTER(配列, 含む, [空の場合])
// 配列:抽出元の表
// 含む:抽出条件
// [空の場合]:対象が存在しない場合に表示する値(省略時はエラーが表示される)
今回は、指定した年月のデータを抽出する必要があるため、抽出条件は以下のようになります。
『日付の項目が指定した年月の1日以上、かつ、日付の項目が指定した年月の月末日以下』
この条件をFILTER関数の[含む]に指定するには、年月から1日と月末の日付を求める必要があります。
年月から1日と月末の日付を求める
年月から1日と月末の日付を求める場合は、DATE関数を活用します。
この関数の使い方は、以下になります。
=DATE(年, 月, 日)
// 年:求めたい日付の年
// 月:求めたい日付の月(桁上がり桁下がり対応)
// 日:求めたい日付の日(桁上がり桁下がり対応)
実際に年月から1日の日付を求める場合は、以下の数式になります。
=DATE(A1,C1,1)
月末の日付を求める場合は、日付の桁下がりを活用した、以下の数式になります。
=DATE(A1,C1+1,0)
では、この数式を活用して、FILTER関数の[含む]に条件を指定していきます。
指定した年月のデータを抽出
FILTER関数の[含む]に「尚且つ」という条件で複数の条件式を指定する場合は、複数の条件式を「*」で組み合わせる必要があります。
実際に、以下の条件のデータをFILTER関数で抽出する場合は、以下の数式になります。
『日付の項目が指定した年月の1日以上、かつ、日付の項目が指定した年月の月末日以下』
=FILTER(売上管理!A:D,(売上管理!A:A>=DATE(抽出!A1,抽出!C1,1))*(売上管理!A:A<=DATE(抽出!A1,抽出!C1+1,0)),"")
// 売上管理!A:D:抽出元の表の範囲(見出しを含んだ範囲になるが、見出しは[含む]に指定した条件を満たさないため抽出対象から除外される)
// 売上管理!A:A>=DATE(…):日付の項目が指定した年月の1日以上であるという条件式
// 売上管理!A:A<=DATE(…):日付の項目が指定した年月の月末以下であるという条件式
// "":対象が存在しない場合は何も表示しない
補足
数式が長くて分かりづらい場合は、Altキーを押しながらEnterキーを押して、以下のように改行して入力することもできます。