- 作成日 : 2025年8月25日
DGET関数の使い方:条件に一致する単一の値を抽出する方法
DGET関数は、データベース形式の表から指定した条件に完全に一致する単一の値を抽出する関数です。顧客管理システムでの特定顧客情報の検索、在庫管理での商品データの抽出、人事データベースからの従業員情報の取得など、正確なデータ抽出が必要な場面で活用されます。
例えば、社員番号から該当する社員の部署名を取得したり、商品コードから在庫数を確認したりする際に便利です。本記事では、DGET関数の基本的な使い方から実践的な活用方法、エラー対処法まで、初心者の方にもわかりやすく解説していきます。
目次
DGET関数とは
DGET関数は、データベース関数の一つで、指定した条件に一致するレコードから特定のフィールドの値を取得します。この関数の特徴は、条件に一致するレコードが必ず1つだけある場合に値を返す設計になっています。複数のレコードが条件に一致する場合や、一致するレコードが存在しない場合はエラーを返します。
VLOOKUPやINDEX/MATCH関数と似た機能を持ちますが、DGET関数は複数の条件を同時に指定できる点で優れています。また、条件を別のセル範囲に記述するため、条件の変更や管理が容易になります。
DGET関数の基本的な使い方
関数の構文を理解する
DGET関数の構文は次のとおりです。
=DGET(データベース, フィールド, 条件)
データベースは、列見出しを含むデータ範囲を指定します。フィールドは、取得したい列の見出し名または列番号を指定します。条件は、検索条件を記述したセル範囲を指定します。
基本的な使用例
実際の使用例を見てみましょう。
A1:D10に社員データ(社員番号、氏名、部署、給与)があり、F1:F2に条件(社員番号: 1001)を設定した場合:
=DGET(A1:D10, “部署”, F1:F2)
この数式は、社員番号が1001の社員の部署名を返します。
列番号を使用する場合の例:
=DGET(A1:D10, 3, F1:F2)
この場合、3列目(部署列)の値を取得します。
条件範囲の作成方法
DGET関数を使用する際の重要なポイントは、条件範囲の正しい作成です。条件範囲は、データベースと同じ列見出しを持つ必要があります。
例えば、社員番号と部署の両方を条件にする場合、条件範囲を以下のように作成します。
- F1: 社員番号、G1: 部署(見出し)
- F2: 1001、G2: 営業部(条件値)
この条件範囲をF1:G2として指定することで、複数条件での検索が可能になります。
DGET関数の実践的な利用シーン
在庫管理システムでの活用
商品の在庫管理において、商品コードとサイズの組み合わせから在庫数を取得する場合、DGET関数が効果的です。商品マスタに商品コード、サイズ、カラー、在庫数などの情報が記録されている状況で、特定の商品の在庫を即座に確認できます。
例えば、注文処理時に商品の在庫確認を行う際、商品コードとサイズを条件として設定し、DGET関数で在庫数を抽出します。これにより、在庫切れの判定や出荷可能数の確認が自動化できます。
人事データの管理
従業員データベースから特定の情報を抽出する際にDGET関数を活用できます。社員番号を条件として、所属部署、入社日、資格情報などを取得する場合に便利です。
給与計算や人事評価の際に、複数の条件(部署と職位など)を組み合わせて、該当する給与テーブルの値を参照することも可能です。これにより、複雑な条件での情報検索が簡潔に実現できます。
売上データの分析
特定の条件に合致する売上記録から情報を抽出する場合に有効です。例えば、特定の日付と店舗の組み合わせで売上高を取得したり、顧客IDと購入日から購入金額を確認したりできます。
月次レポートの作成時に、各店舗の特定商品の売上を自動的に集計する仕組みを構築できます。条件を変更するだけで、異なる期間や商品の分析が可能になります。
DGET関数の応用テクニック
動的な条件設定
条件値を他のセルから参照することで、動的な検索システムを構築できます。
=DGET(データ範囲, “売上”, 条件範囲)
条件範囲の値を入力フォームから参照するように設定すれば、ユーザーが条件を入力するだけで結果が自動更新されます。
エラー処理の実装
DGET関数は条件に一致するレコードが1つでない場合エラーを返すため、IFERROR関数でエラー処理を行います。
=IFERROR(DGET(A1:D100, “価格”, F1:F2), “該当なし”)
この方法により、エラー時に分かりやすいメッセージを表示できます。
複数条件の活用
AND条件とOR条件を使い分けることで、柔軟な検索が可能です。同じ行に複数の条件を記述するとAND条件、異なる行に記述するとOR条件として機能します。
例えば、「営業部かつ主任」または「総務部かつ課長」という条件の場合、条件範囲を3行で構成します。
DGET関数のよくあるエラーと対策
#NUM!エラーへの対処
このエラーは、条件に一致するレコードが2件以上ある場合に表示されます。データの重複を確認し、条件をより具体的にすることで解決できます。
重複チェック用の数式を作成し、事前に確認することも有効です。
=COUNTIFS(データ範囲の列1, 条件1, データ範囲の列2, 条件2)
この結果が1でない場合は、DGET関数がエラーになる可能性があります。
#VALUE!エラーへの対処
DGET 関数は、条件に一致するレコードが 1 件も存在しない場合に #VALUE! エラーを返します。 まずは条件範囲が正しく設定され、検索条件が適切かを確認してください。
また、フィールド名(列見出し)がデータベース範囲と完全に一致していない場合や、余分なスペース・全角/半角の相違がある場合にも #VALUE! エラーが発生することがあります。列見出しの文字列を TRIM 関数などで整える、またはフィールドを列番号で指定して見出しの不一致リスクを回避する方法も有効です。
条件範囲の設定ミス
条件範囲には必ず見出し行を含める必要があります。また、条件範囲の見出しは、データベースの見出しと完全に一致している必要があります。
大文字小文字の違いやスペースの有無にも注意が必要です。TRIM関数やCLEAN関数でデータをクリーニングすることを推奨します。
DGET関数と他の関数との組み合わせ
VLOOKUP関数との使い分け
単一条件での検索の場合の比較:
VLOOKUP使用例:
=VLOOKUP(検索値, A1:D100, 3, FALSE)
DGET使用例:
=DGET(A1:D100, “部署”, 条件範囲)
複数条件が必要な場合は、DGET関数の方が適しています。
INDEX/MATCH関数との組み合わせ
DGET関数で取得した値を使って、さらに別の検索を行う例:
=INDEX(別テーブル, MATCH(DGET(A1:D100, “コード”, F1:F2), コード列, 0), 2)
DSUM関数やDAVERAGE関数との連携
同じ条件範囲を使って、値の取得と集計を同時に行う例:
=DGET(データ範囲, “単価”, 条件範囲) * DSUM(データ範囲, “数量”, 条件範囲)
これにより、売上を条件付きで計算する場合に役立ちます。
IF関数での条件分岐
DGET関数の結果に基づいて処理を分岐する例:
=IF(ISNUMBER(DGET(A1:D100, “在庫”, F1:F2)),
IF(DGET(A1:D100, “在庫”, F1:F2)>10, “在庫あり”, “在庫少”),
“商品なし”)
TEXT関数でのフォーマット
取得した値を特定の形式で表示する例:
=TEXT(DGET(A1:D100, “金額”, F1:F2), “#,##0円”)
DGET関数の実務での注意点
データの一意性の確保
DGET関数を使用する前に、検索キーとなる列の値が一意であることを確認しましょう。重複データが存在する場合は、事前にデータクリーニングを行うか、より詳細な条件を設定する必要があります。
データベースに主キーを設定し、定期的に重複チェックを実行することで、DGET関数の信頼性を高められます。
条件範囲の管理
条件範囲は別シートに作成し、名前定義を使用することで、メンテナンスが容易になります。また、条件範囲を色分けしたり、コメントを追加したりすることで、他のユーザーにも分かりやすくなります。
パフォーマンスの考慮
大規模なデータベースに対してDGET関数を頻繁に使用する場合、計算速度が遅くなることがあります。必要に応じて、計算方法を手動に設定したり、検索結果をキャッシュしたりすることを検討しましょう。
また、データベース範囲を必要最小限に絞ることで、パフォーマンスを向上させることができます。
DGET関数で1件のデータ抽出を行う
DGET関数は、条件に一致する1件のデータを抽出するのに適した関数です。VLOOKUPやINDEX/MATCHのような関数と比較して、複数の条件を簡潔に指定できる点が特徴です。
在庫管理、人事データ、売上分析など、1つだけ該当する情報を正確に取り出したい場面で活用できます。
条件範囲の指定やエラー処理を適切に行うことで、信頼性のある検索システムを作ることができます。
ぜひ実務でDGET関数を活用し、効率的なデータ管理を実現してください。
この記事をお読みの方におすすめのガイド5選【部署別紹介】
最後に、この記事をお読みの方によく活用いただいている人気の資料・ガイドを紹介します。すべて無料ですので、ぜひお気軽にご活用ください。
経理担当者向け
①Excel関数集 32選まとめブック
経理担当者の方をはじめ、ビジネスパーソンが知っておきたい便利なExcel関数集を初級~上級までギュッと網羅。新人社員の研修用などにもお使いいただけます。Google スプレッドシートならではの関数もご紹介しています。
②勘定科目・仕訳辞典(税理士監修)
勘定科目・仕訳に関する基本知識、および各勘定科目の仕訳例を具体的かつ網羅的にまとめた、50ページを超えるガイドを無料で提供しております。お手元における保存版としてでだけでなく、従業員への印刷・配布用としてもぜひご活用ください。
人事労務担当者向け
①入社・退職・異動の手続きガイドブック
書類の回収・作成・提出など手間のかかる入社・退職・異動(昇給・昇格、転勤)の手続き。
最新の制度をもとに、よくある質問やチェックポイントを交えながら、各手続きに必要な情報をまとめた人気のガイドですす。
②社会保険・労働保険の手続きガイド
企業において社会保険および労働保険の加入・喪失手続きは必ず発生し、手続きを誤れば保険事故が発生した際に従業員が不利益を被る可能性があります。
各保険の基本的な手続き方法を入社・退職・異動のシーン別にギュッとまとめた分かりやすいガイドです。
総務・法務担当者向け
契約書ひな形まとめ30選
業務委託契約書や工事請負契約書…など各種契約書や、誓約書、念書・覚書、承諾書・通知書…など、使用頻度の高い30個のテンプレートをまとめた、無料で使えるひな形パックです。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルでグラフの2軸目を加える方法とは?変更や削除はどうする?
エクセルを活用したデータ分析において、2軸グラフは異なる単位のデータを効果的に比較するために非常に便利です。本稿では、エクセルで簡単に2軸目を加える方法を解説いたします。また、追加した2軸の変更や削除に関する手順についても詳しくご紹介します…
詳しくみるスプレッドシートの保存方法と保存場所は?ダウンロード保存や注意点まで解説
Googleスプレッドシートは入力内容が自動保存されるため、保存し忘れの心配がほとんどありません。ただし、バックアップを取りたいときやExcel・PDFなど他の形式で利用したいときには、手動保存やダウンロードが必要です。この記事では、自動保…
詳しくみるスプレッドシートを複製するには?ファイル・シート・セルのコピー方法からできない時の対処法まで解説
Googleスプレッドシートで効率的に作業を進めるには、複製機能の使いこなしが不可欠です。テンプレートからの新規作成、既存データのバックアップ、複数バージョンの管理など、適切な複製方法を知ることで作業効率が大幅に向上します。ファイル全体の複…
詳しくみるエクセルでセルを塗りつぶすショートカットキーを解説
Microsoft Excelを使用する際、データの可視化や整理が求められる場面は多くあります。その際、セルを色で塗りつぶすことで、重要な情報や項目を強調することが可能です。この記事では、Excelでセルを塗りつぶすためのショートカットキー…
詳しくみるスプレッドシートをA4サイズでキレイに印刷するには?印刷範囲の設定からスマホ操作まで完全解説
ビジネス文書を作成する際、GoogleスプレッドシートをA4用紙にきれいに収めて印刷することは欠かせないスキルです。 しかし、設定を誤ると余白が大きくなったり、データが途中で切れたりといったトラブルが起こることもあります。 本記事では、A4…
詳しくみるスプレッドシートをメール添付して送るには?PC・スマホでの送信方法まで解説
Googleスプレッドシートをメールで送信する方法には「共有リンクの送信」「ファイルを添付」「スプレッドシートから直接送信」の3つがあります。それぞれ特徴が異なるため、用途に応じた使い分けが重要です。本記事では、PCとスマホそれぞれでの具体…
詳しくみる



