DGET関数の使い方

GoogleスプレッドシートのDGET関数は、データベースから条件に合致するデータを抽出する際に非常に便利な関数。

今回は、DGET関数の基本的な使い方を中心に解説していきます。

データベース管理やデータ解析を行う上で欠かせない関数なので、基本的な使い方を覚えてどんな場面で使えるか想像してみましょう!

にほんブログ村 IT技術ブログへ

DGET関数の構文

DGET関数の構文は以下の通りです。

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

データベース、フィールド、条件、と3つ引数を指定します。

データベースは列名のついた表のことを指します。

例えばこんな感じの表がデータベースとして扱えます。

1行目には必ず列名を含んでいる必要があります。

フィールドは指定したデータベースの列名を指定できます。セル番地でも構いません。

条件は列名を含んだセル範囲を指定できます。

例えば、上図で品種を条件としたい場合は・・・

このようにデータベースで指定した列名と同じ名称を用いて作ります。

この例では、条件のセル範囲は E1:E2 ということになります。

使用例

以下のような表を用いて基本的な使い方を説明します。

DGET関数を用いて、一致した品種の単価を在庫をそれぞれ表示していきましょう。

イメージとしてはこんな感じです。

それでは早速セルF2に関数を記述していきます。

  • データベースの範囲は A1:C10 となります。
  • 条件は、品種が一致した時としたいので E1:E2 の範囲とします。
  • 一致した品種の単価と在庫を表示したいので、フィールドはセルF2は”単価”、セルG2は”在庫”を指定します。

以上の内容をセルF2に記述すると次のようになります。

=DGET(A1:C10,”単価”,E1:E2)

フィールドの”単価”の部分はセル番地を指定することもできるので、次のように書いても結果は同じです。

=DGET(A1:C10,B1,E1:E2)

個人的には”単価”と記述していた方が、表のどの部分を表示したいのか一目瞭然なので、列名を入れる方が他の人が見てもわかりやすいと思います。

セルF2の記述内容としてはこれで問題ありませんが、セルG2には1から記述するのではなく、セルF2をコピーして貼り付けたほうが楽ですね。

その場合は、このままでは相対参照なので、コピーするとデータベース条件の範囲がずれてしまいます。

なので、範囲指定している部分は絶対参照にしておきましょう。

=DGET($A$1:$C$10,”単価”,$E$1:$E$2)

この状態でセルF2をコピーして、セルG2に貼り付け、フィールドを”在庫”に変えれば完成です。

セルE2に値が入っていない状態だとエラーとなるので”#NUM!”が表示されます。

試しに品種に「紅玉」と入れてみます。

ちゃんと「単価」と「在庫」が表示されてますね。

ここまでがDGET関数の基本的な使い方になります。

DGET関数の注意点

DGET関数を使う上で、大事な注意点があります。

それは、条件として指定したフィールドが、データベースとして指定した範囲の中に複数存在するとエラーになるということです。

例えば、以下のような状態だとエラーとなり正しく値を表示してくれません。

品種に紅玉が2つあるので、DGET関数はエラーとなってしまいます。

DGET関数は、複数の結果が得られてしまう条件はエラーとなってしまうので注意が必要です。

まとめ

今回は、DGET関数の基本的な使い方を紹介しました。

応用編として、複数の条件を指定する方法や、IF関数やVLOOKUP関数などを組み合わせて、より高度な検索シートを作る事もできます。

いろいろと応用の利く関数なので、まずは基本的な使い方に慣れていきましょう!

にほんブログ村 IT技術ブログへ

コメント