DGET関数 – その他

DGET関数 – 条件に一致するレコードから特定の1つの値を取得する関数


1. 使い方と活用例

DGET関数は、指定したデータベース内から、条件に一致するレコードを検索し、特定の列の値を1つだけ返す関数です。
条件に一致するレコードが1件だけ存在する場合に使用でき、それ以外(0件または複数件)の場合はエラーが返されます。

2. 基本の書式

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

3. 引数の説明

  • データベース – データの一覧表で、1行目に列見出しが含まれている範囲を指定します。
  • フィールド – 抽出する列を、列見出し名(文字列)または列番号で指定します。
  • 条件 – 抽出対象のレコードを絞り込むための条件範囲を指定します。1行目に列見出しが必要です。

4. 使用シーン

  • 社員番号などを条件にして、該当社員の氏名や部署を1件だけ取得したいとき
  • ユニークな商品コードに基づき、対応する価格や在庫数を取得したいとき

5. 応用のポイント

DGET関数は、条件に一致するレコードが複数ある場合に「#NUM!」エラー1件もない場合に「#VALUE!」エラーを返します。
一意性のあるデータ(例:社員番号や商品ID)に対して使用することで、正確な値を抽出できます。
複数の条件列を用いることで、より詳細な検索が可能です。

6. 具体例とその解説

次のようなデータベースがあるとします。


A列        B列       C列
"社員ID"   "氏名"     "部署"
"1001"     "佐藤"     "営業"
"1002"     "鈴木"     "総務"
"1003"     "田中"     "開発"

条件範囲を以下のように設定します。


E列
"社員ID"
"1002"

以下の式を使用します。

=DGET(A1:C4, "氏名", E1:E2)

この式は、社員IDが「1002」のレコードから「氏名」を取得します。
結果は「鈴木」となります。

7. 関連関数の紹介

  • DSUM関数 – 条件に一致する数値の合計を求める関数
  • DCOUNT関数 – 数値が入力されているセルの個数を条件付きで数える関数
  • VLOOKUP関数 – 指定された値に一致する行から値を取得する関数(縦方向)
  • XLOOKUP関数 – より柔軟に検索と抽出を行う関数

8. まとめ

DGET関数は、条件に一致する1件のデータから特定の値を取り出すのに適した関数です。
レコードが一意に識別されるデータベース構造であれば、VLOOKUP関数などよりも安全に値を抽出できます。
ただし、対象が複数存在する場合には使用できない点に注意が必要です。

9. 対応バージョン

DGET関数は、Excel 2003以降のすべてのバージョンで使用可能です。
Microsoft 365、Excel for Mac、Web版Excelでも対応しています。