DGET関数

Excel 2007+

概要

DGET関数は、リストまたはデータベースから指定した条件に完全に一致する1つのレコードのみを抽出し、指定フィールドの値を返します。複数または0件の一致がある場合はエラーを返し、データベース検索の厳密性を確保します。

構文

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

パラメータ

パラメータ タイプ 必須 説明
データベース 範囲 はい データベース領域(見出し行含む)
フィールド 文字列/数値 はい 抽出対象の列指定
検索条件 範囲 はい 検索条件を設定した領域

DGET関数の使用

DGETはデータベースから厳密に1件のみ抽出したい場合に使用します。VLOOKUPなどとは異なり、複数一致を許容せずエラーで警告するためデータの正確性を保てます。検索条件範囲はデータベースと重複しない場所に作成します。

DGETの一般的な例

基本的なDGET使用例

=DGET(A4:E10,"収穫高",A1:A3)

複数のりんご木があるため複数一致となり#NUM!エラーを返します。

条件を絞った単一抽出

=DGET(A4:E10,"収穫高",A1:F3)

高さ<16かつ>12のりんご木が1件のみのため、収穫高10を正常に抽出します。

よくある質問

検索条件に一致するレコードが複数存在するためです。条件をより具体的にして1件のみに絞ってください。

検索条件に一致するレコードが0件のためです。条件やデータベース範囲を確認してください。

はい、引用符なしの数字(例:1、2)で列位置を指定できます。

一般的なエラーと解決策

#NUM!エラー

Cause: 検索条件に一致レコードが複数存在

Solution: 条件を追加して1件のみに絞る

#VALUE!エラー

Cause: 検索条件に一致レコードが0件

Solution: 条件内容とデータベースを確認

#NAME?エラー

Cause: フィールド名の綴りミス

Solution: 列見出しと完全に一致させる

注記

  • 検索条件範囲はデータベース直下の行を使用しない
  • 条件範囲に見出し行+1行以上の条件が必要
  • ワイルドカード(*,?)は一部条件で使用可能
  • データベース関数(DGET,DSUMなど)は連動して使用推奨

互換性

利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365

利用不可:

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+