エクセル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関数で複数条件を指定して抽出した数値を合計する