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でも対応しています。