Excel 項目と検索条件を指定して値を取得(DGET関数)

2020年5月31日

DGET関数はデータベース関数の一種で項目と条件を指定して値を取得する関数です。

XLOOKUP関数(VLOOKUP関数)のような検索を目的とした関数です。

この記事ではDGET関数の仕様と使い方を紹介します。

なおExcel2019以降、FILTER関数という使い勝手のよいものが追加されているため

こちらも把握しておくことをお勧めします。

データベースとは

データベースと聞くと難しく感じますが

Excelで言うところのデータベースは

既に多くの方が作成・活用しています。

先頭行に項目名があり、その下にデータ行のある表を作成すれば

それがExcelにおけるデータベースになります。

データベースのサンプル
データベースのサンプル

仕様

=DGET(データベース,フィールド,条件)
引数省略時の値説明
データベース省略不可項目名を含んだ表の範囲を指定。
先述のサンプルではB2~D14。
フィールド省略不可取得する項目名を指定
条件省略不可対象とする条件を指定
引数の詳細

使用例

基本的な使用例(条件が1つ)

データベース(引数1)に対象の表範囲(B2:D8)。

集計項目に、ぞれぞれ「金額」と「個数」、

条件に「名称」が「さんま」であることを指定しています。

G6は「さんま」の金額、G7には個数が表示されます。

結果が一つの場合のみ正常に表示されます。

複数の該当結果がある場合#NUM!エラーになります。

条件が1つの使用例

基本的な使用例(集計項目に列番号を使用)

項目には最初の列を1とする列番号を使用可能です。(VLOOKUP関数と同様)

項目名が頻繁に変わるのであれば列番号を使用し、

そうでなければ項目名を記述する使い分けを推奨します。

(項目名の方が数式が読みやすいため)

集計項目に列番号を使用する例

〇〇または××の条件指定例(OR、論理和)

条件を縦方向(行方向)に並べると「または」の条件指定になります。

(先頭行は項目指定になります)

下の例では「しゃけ」と「はまち」に該当する個数を検索します。

(「しゃけ」がないため結果は「はまち」)

この使い方でも結果が複数あると#NUM!エラーになる点に注意が必要です。

〇〇または××の条件指定例

〇〇かつ××の条件指定例(AND、論理積)

条件を横方向(列方向)に並べると「かつ」の条件指定になります。

下の例では名称が「はまち」で金額が82円以上に該当する個数を取得します。

〇〇かつ××の条件指定例(AND、論理積)

〇〇~××の条件指定例(範囲指定)

「以上、以下」や「未満、より上」など条件範囲も指定可能です。

それには同じ項目を並べて比較演算子を指定します。

〇〇~××の条件指定例(範囲指定)

関連記事

関数の仕様と使い方の記事一覧