エクセルDGET関数で条件を満たすデータを抽出

エクセルDGET関数で、条件を満たすデータを抽出する方法を紹介していますエクセルDGET関数を使うと、1つの条件、複数条件を指定した色々な検索でデータを抽出できます。エクセルDGET関数は条件を満たすデータを抽出できますが、ワイルドカードを使って、一部の文字だけが一致している文字列を抽出することもできます。複数条件「AND」、「OR」の検索もできます。複雑な検索条件を指定して値を抽出したいときには、こんな便利な関数はありません。

 

 

DGET関数

リストまたはデータベースから条件に従って検索し、条件に一致した 1 つの値を取り出します。

DGET関数の書式と引数

DGET(データベース, フィールド, 検索条件)

データベース検索するセル範囲を見出しも含めて指定します。
フィールド値を取り出したい列を、「見出しの項目」または、リストの先頭列からの位置を示す「列番号」で指定します。
検索条件検索条件が設定されているセル範囲を指定します。

DGET関数の基本的な使い方

エクセルDGET関数で条件を満たすデータを抽出する使い方を説明します。

G2に、「見出しの項目」をフィールドに指定して、商品名「梨」の、金額を抽出する式を入力します。

G2 =DGET(A1:D7,D1,F1:F2)

結果は、金額「3,450」が返されます。

G3に、「列番号」をフィールドに指定して、商品名「梨」の、金額を抽出する式を入力します。

G3 =DGET(A1:D7,4,F1:F2)

2つの式のどちらでもいいです。

 

 

複数の列に1つの検索条件

I2に、商品名「りんご(紅玉)」かつ 産地「山形」かつ 単価「>=150」の、金額を抽出する式を入力します。

I2 =DGET(A1:D7,D1,E1:G2)

金額「1,800」が返されます。

同じ列に複数の検索条件を指定

G2に、商品名「りんご(かんき)」または 「りんご(茜)」または 「りんご(つがる)」の、金額を抽出する式を入力します。

G2 =DGET(A1:D7,D1,F1:F4)

金額「4,500」が返されます。

 

 

複数の列に 2 セット以上の検索条件を指定

H2に、商品名「りんご(ふじ)」かつ 単価「>=300」または 商品名「りんご(むつ)」かつ 単価「>=300」の、金額を抽出する式を入力します。

H2 =DGET(A1:D7,D1,F1:G3)

金額「6,000」が返されます。

列ごとに検索条件を指定

I2に、商品名「りんご(つがる)」または 産地「青森」または 単価「>300」の、金額を抽出する式を入力します。

I2 =DGET(A1:D7,D1,F1:H4)

金額「6,000」が返されます。

1つの列に2セット以上の検索条件を指定

H2に、 単価「200<単価<250」または「単価<100」の、商品名 を抽出する式を入力します。

H2 =DGET(A1:D7,A1,F1:G3)

品名「りんご(紅玉)」が返されます。

この式は、「単価<100」は「単価」項目にありませんが、 「200<単価<250」はあります。単価「230」の商品名 「りんご(紅玉)」が抽出されます。

H6に、 単価「300<単価<350」または「単価<=120」の、商品名を抽出する式を入力します。

H6 =DGET(A1:D7,A1,F5:G7)

結果は、商品名「りんご(さんさ)」が返されます。

この式は、「300<単価<350」は「単価」項目にありませんが、 「単価<=120」はあります。単価「120」の商品名 「りんご(さんさ)」が抽出されます。

 

 

検索条件にワイルドカードを指定

G2に、「ふじ」を含む商品名の、金額を抽出する式を入力します。ワイルドカードを使用します。

G2 =DGET(A1:D7,D1,F1:F2)

金額「 7,000」が返されます。

条件を満たすレコードが複数存在する場合は、エラー値を返す

DGET関数は、複雑な検索条件を指定して値を抽出することができますが、条件に一致するレコードが複数ある場合は、エラー値 「#NUM!」 が返されます。条件に一致するレコードが1つある時のみ値を返します。

I2 =DGET(A1:D4,D1,F1:H2)

エラー値 「#NUM!」 が返されます。

商品名「りんご(紅玉)」かつ 産地「青森」かつ 単価「>=150」に一致するレコードが複数あるからです。

DGET関数で、複雑な検索条件を指定して値を抽出

エクセルDGET関数は条件を満たすデータを抽出できる関数です。検索して条件に一致する値を抽出するエクセル関数には、DGET関数の他に、VLOOKUP関数、HLOOKUP関数がありますが、エクセルDGET関数は複雑な検索条件を指定して値を抽出することができます。

エクセルDGET関数以外に複数の条件、複雑な検索条件を指定して抽出することができる関数にはDSUM関数がありますが、DSUM関数が返すのは抽出した数値の合計です。DGET関数は値を、DSUM関数は数値の合計を返す関数です。間違えないようにしましょう。

こちらの記事もご覧ください。⇒エクセルDSUM関数で複数条件を指定して抽出した数値を合計する