この記事では、Microsoft Excel の DGET 関数の数式の構文と使用方法について説明します。
説明
リストまたはデータベースの列から指定された条件を満たす 1 つの値を抽出します。
書式
DGET(データベース, フィールド, 検索条件)
DGET 関数の書式には、次の引数があります。
- データベース 必須。 リストまたはデータベースを構成するセル範囲を指定します。 データベースは、行 (レコード) と列 (フィールド) にデータを関連付けたリストです。 リストの先頭の行には、各列の見出しが入力されている必要があります。
- フィールド 必須。 関数の中で使用する列を指定します。 フィールドには、半角の二重引用符 (") で囲んだ "樹齢" や "歩どまり" などのような文字列、またはリストでの列の位置を示す引用符なしの番号 (1 番目の列を示す場合は 1、2 番目の列を示す場合は 2) を指定します。
- 条件 必須。 指定した条件が設定されているセル範囲を指定します。 列見出しと検索条件を指定するセルが少なくとも 1 つずつ含まれている場合は、検索条件に任意のセル範囲を指定できます。
解説
- 検索条件を満たすレコードがない場合、エラー値 #VALUE! が返されます。
- 検索条件を満たすレコードが複数存在する場合は、エラー値 #NUM! が返されます。
- セル範囲に検索条件を入力し、検索条件を表す引数として使用することができます。検索条件範囲には、列見出しとその下のセルがそれぞれ 1 つ以上含まれている必要があります。
たとえば、セル範囲 G1:G2 のセル G1 に "収入" という列見出し、セル G2 に 10,000 という数値が入力されている場合、このセル範囲に "年収額" という名前を定義して、データベース関数の検索条件の引数として指定することができます。 - 検索条件はワークシートの任意の範囲に入力することができますが、リストの最終行の次の行は使用しないでください。 リストにデータを追加すると、そのデータはリストの最終行の次の行に追加されます。 リストのすぐ下の行にデータが入力されていると、新しいデータを追加できません。
- 検索条件範囲がリストと重なり合っていないことを確認します。
- データベース内の列全体に対して検索条件を指定するには、検索条件範囲の列見出しの下に空白行を 1 行挿入します。
使用例
次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
| 木 | [高さ] | 年齢 | 収穫高 | 利益 | [高さ] |
|---|---|---|---|---|---|
| ="=りんご" | >10 | <16 | |||
| ="なし" | >12 | ||||
| 木 | [高さ] | 年齢 | 収穫高 | 利益 | |
| りんご | 18 | 20 | 14 | ¥105 | |
| 梨 | 12 | 12 | 10 | ¥96 | |
| さくらんぼ | 13 | 14 | 9 | ¥105 | |
| りんご | 14 | 15 | 10 | ¥75 | |
| 梨 | 9 | 8 | 8 | ¥77 | |
| りんご | 8 | 9 | 6 | ¥45 | |
| 数式 | 説明 | 結果 | |||
| =DGET(A4:E10, "Yield", A1:A3) | 複数のレコードが検索条件 (任意のリンゴまたは梨の木) を満たしているので、エラー値 #NUM! が返されます。 | #NUM! | |||
| =DGET(A4:E10, "Yield", A1:F3) | A1:F3 の中で検索条件を満たす唯一のレコードなので、10 (行 9 のりんごの木の収穫高) が返されます。 | 10 |