![線吹き出し 3: [A]](clip_image010.gif)
2−5
データベース処理
ここでは、データベース関数の使い方を解説します。データベース関数の引数は「データ範囲」「フィールド」「検索条件」の3つがあり、それぞれの関数での設定内容や使用目的は同じになっています。なお、データベース関数の応用例および詳細は「関数ガイド」「活用ガイド」で解説しているので合わせてご覧ください。
1◆最大・最小・平均値
データの最大値や最小値、平均値、データの個数、などを求める以下の関数があります。各関数は、データベース関数として機能するので、データの入力されているセル範囲とどのデータを対象に集計などの計算を行うのかを指定することが必要になります。集計など計算の対象とするデータの集まりのことを「フィールド」といい、どのデータを対象にするかの指定が「検索条件」になります。
DMAX関数 指定したデータの中で最大値を返す
DMIN関数 指定したデータの中で最小値を返す
DAVERAGE関数 指定したデータの平均値を返す
DSUM関数 指定したデータの合計値を返す
DCOUNT関数 指定したデータの中で数値が入力されているセル数を返す
DCOUNTA関数 指定したデータの中で空白でないセル数を返す
2◆最大値と最小値
データベースとしての数値の最大値はDMAX関数、最小値はDMIN関数を使います。
●DMAX関数/DMIN関数
データ範囲のフィールドで指定する列の最大値(DMAX関数)あるいは最小値(DMIN関数)を返します。
書式 DMAX(データ範囲,フィールド,検索条件)
DMIN(データ範囲,フィールド,検索条件)
データ範囲 データベースのセル範囲を指定する
フィールド データベース内の使用する列を指定する
検索条件 条件が設定されているセル範囲を指定する
●使用例
次の例は、商品販売の履歴簿をデータベースのデータ範囲として、担当者が取り扱った販売品の数量から最大値と最小値を抽出しています。検索条件は、図AのセルH3:H4のようにフィールド名(担当者)と検索データ(桑鶴)を縦に並べて入力しておき、データベース関数の引数としてセル範囲(H3:H4)で指定します。各数式は以下のようになります。
=DMAX(B4:F16,”数量”,H3:H4) ・・・ 最大値
=DMIN(B4:F16,”数量”,H3:H4) ・・・ 最小値
r>操作
@セルI6に最大値を求める数式を入力する
[A]結果が求められる
求められた結果の20は、データ範囲のフィールド「数量」内の検索条件「桑鶴」が担当した中の最大値になります。
EX4A988Z
EX4A989Z
r>操作
@セルI7に最小値を求める数式を入力する
[A]結果が求められる
求められた結果の5は、データ範囲のフィールド「数量」内の検索条件「桑鶴」が担当した中の最小値になります。
EX4A990Z
EX4A991Z
3◆平均値
データベースとしてのデータの平均値はDAVERAGE関数を使います。
●DAVERAGE関数
データ範囲のフィールドで指定する列の平均値を返します。
書式 DAVERAGE(データ範囲,フィールド,検索条件)
データ範囲 データベースのセル範囲を指定する
フィールド データベース内の使用する列を指定する
検索条件 条件が設定されているセル範囲を指定する
●使用例
次の例は、商品販売の履歴簿をデータベースのデータ範囲として、担当者が取り扱った販売品の数量の平均値を求めています。検索条件は、図AのセルH3:H4のようにフィールド名(担当者)と検索データ(桑鶴)を縦に並べて入力しておき、データベース関数の引数としてセル範囲(H3:H4)で指定します。数式は以下のようになります。
=DAVERAGE(B4:F16,”数量”,H3:H4)
r>操作
@セルI8に平均値を求める数式を入力する
[A]結果が求められる
担当者「桑鶴」が担当した販売数量の平均値が求められます。
EX4B597Z
EX4B598Z
4◆条件に合うデータの合計
データベースとしてのデータの合計値はDSUM関数を使います。
●DSUM関数
データ範囲のフィールドで指定する列の合計を返します。
書式 DSUM(データ範囲,フィールド,検索条件)
データ範囲 データベースのセル範囲を指定する
フィールド データベース内の合計計算に使用する列を指定する
検索条件 条件が設定されているセル範囲を指定する
●DSUM関数の使用例
次の例は、商品販売の履歴簿をデータベースのデータ範囲として、担当者が取り扱った販売品の数量の合計を求めています。検索条件は、図AのセルH3:H4のようにフィールド名(担当者)と検索データ(桑鶴)を縦に並べて入力しておき、データベース関数の引数としてセル範囲(H3:H4)で指定します。数式は以下のようになります。
=DSUM(B4:F16,”数量”,H3:H4)
なお、フィールドの指定はセル番地でもよい。上の数式をセル番地で記述すると以下のようになる。
=DSUM(B4:F16,E4,H3:H4)
r操作
@セルI10に平均値を求める数式を入力する
[A]結果が求められる
EX4B599Z
EX4B600Z
5◆データの個数
データベース範囲内のデータが入力されているセルの個数を求めるには、DCOUNT関数またはDCOUNTA関数を使います。DCOUNT関数は数値が入力されているセル数、DCOUNTA関数はデータが入力されているセル数(空白でないセル数)の個数を求めます。
●DCOUNT関数/DCOUNTA関数
データ範囲のフィールドで指定する列の数値が入力されているセル数(DCOUNT関数)を返します。DCOUNTA
関数は数値や文字などが入力されている(空白でない)セル数を返します。
書式 DCOUNT(データ範囲, フィールド, 検索条件)
DCOUNTA(データ範囲, フィールド, 検索条件)
データ範囲 データベースのセル範囲を指定する
フィールド データベース内の使用する列を指定する
検索条件 条件が設定されているセル範囲を指定する
●使用例
次の例は、商品販売の履歴簿をデータベースのデータ範囲として、担当者が取り引きした回数を求めています。検索条件は、図AのセルH3:H4のようにフィールド名(担当者)と検索データ(桑鶴)を縦に並べて入力しておき、データベース関数の引数としてセル範囲(H3:H4)で指定します。
セルに数量が入力されていれば、取り引きあり、として数量の入力されているセル数、つまり数値が入力されているセル数を取り引きした回数に見立てています。数式は以下のようになります。
=DCOUNT(B4:F16,”数量”,H3:H4)
r>操作
@セルI12に数式を入力する
[A]結果が求められる
EX4B601Z
EX4B602Z
●使用例2
次の例は、商品販売の履歴簿をデータベースのデータ範囲として、1つの商品に対して何人の担当者が取り引きしたかを求めています。検索条件は、図AのセルH3:H4のようにフィールド名(品番)と検索データ(A−20)を縦に並べて入力しておき、データベース関数の引数としてセル範囲(H3:H4)で指定します。
セルに名前(文字列)が入力されていれば、担当した者があり、として延べ担当者数、つまり文字が入力されているセル数を求めています。数式は以下のようになります。
=DCOUNTA(B4:F16,”担当者”,H3:H4)
r>操作
@セルI12に数式を入力する
[A]結果が求められる
商品「A−20」の取り引き回数は4件ですが、セルC11には担当者名が入力されていないので、3が求められています。ここでは文字列だけをカウントの例にしましたが、入力内容が数値であってもカウントされます。DCOUNTA関数がカウントしないのは空白セルだけです。
EX4B603Z
EX4B604Z
【まとめ】
●データベース処理の検索条件は項目名(フィールド名ともいう)と検索値を縦に連続するセルに入力して、そのセル範囲を指定する
●データベースのデータ範囲(セル範囲)は、列をフィールドといい、行をレコードという
■データの抽出と積算
データベース(データの検索を含む処理)処理にも一覧表内の任意のデータを抜き出す(抽出する)関数があります。また、抜き出したデータを別のデータと積算する関数もあります。
DGET関数 データの抽出
DPRODUCT関数 データの抽出と積算
1.データの抽出
データベースのデータ範囲内から特定のデータを抜き出すには、DGET関数を使います。
●DGET関数
リストまたはデータベースの列から指定された条件を満たす1つの値を抽出します。列の位置を項目名で指定して、行位置を検索で求めて、交点のデータを抽出するときに利用します。
書式 DGET(データ範囲, フィールド, 検索条件)
データ範囲 データベースのセル範囲を指定する
フィールド データベース内の使用する列を指定する
検索条件 条件が設定されているセル範囲を指定する
検索条件を満たすレコードがない場合、エラー値#VALUE!、レコードが複数存在する場合、エラー値#NUM!が返されます。
使用例
次の例は、データの一覧表をデータベースのデータ範囲として、氏名を検索条件に指定するフィールド「データC」の値を求めています。検索条件は、図AのセルB11:B12のようにフィールド名(氏名)と検索データ(幸山)を縦に並べて入力しておき、データベース関数の引数としてセル範囲(B11:B12)で指定します。数式は以下のようになります。
=DGET(B3:F8,”データC”,B11:B12)
r>操作
@セルE20に数式を入力する
[A]結果が求められる

EX4B005Z EX4B006Z
この例では、指定した列[データC]内で、行位置を氏名[幸山]を指定したので、縦と横の交点にあたる320が抽出されています。
2.データの抽出と積算
データベースのデータ範囲内から2つの特定のデータを抜き出して、積算を行うDPRODUCT関数があります。
●DPRODUCT関数
リストまたはデータベースの指定された列を検索し、条件を満たすレコードの積を返します。
書式 DPRODUCT(データ範囲, フィールド, 検索条件)
データ範囲 データベースのセル範囲を指定する
フィールド データベース内の使用する列を指定する
検索条件 条件が設定されているセル範囲を指定する
使用例
次の例は、商品の在庫数と販売数量を一覧にした集計表をデータベースのデータ範囲として、在庫価格や月語との販売総額を求めています。項目を検索条件に指定するフィールド「椅子」列の該当するレコード(行、項目名の行)を2つ(例では「単価」と「在庫数」)の積を求めています。検索条件は、図AのセルH3:H5のようにフィールド名(項目)と検索データ「単価」と「在庫数」の2つを縦に並べて入力しておき、データベース関数の引数としてセル範囲(H3:H5)で指定します。数式は以下のようになります。
=DPRODUCT(B3:F9,”椅子”,H3:H5)
↑ ↑ ↑
データ範囲 フィールド 検索条件
r>操作
@セルH8に数式を入力する
[A]結果が求められる
EX4B607Z
EX4B608Z
検索条件に指定した「単価」(セルH4)と「在庫数」(セルH5)のそれぞれをフィールド(数式内に記述した「椅子」)の列から抜き出して、積算した値が求められています。2つ目の検索条件(セルH5の「在庫数」)を他の項目名(「1月販売数」など)に書き替えれば、その値が計算されます。
【まとめ】
●一覧表から縦と横の位置指定と検索で値を抽出するにはDGET関数を使います。
●一覧表から縦と横の位置指定と検索で2つの値を抽出して積算した値を求めるとき、DPRODUCT関数を使います。
作成手順
さて、どこから書き始めればいいのでしょう。

![]() |
![線吹き出し 3: [A]](clip_image045.gif)
![線吹き出し 3: [A]](clip_image036.gif)
![線吹き出し 3: [A]](clip_image033.gif)
![線吹き出し 3: [A]](clip_image010.gif)






![線吹き出し 3: [A]](clip_image004.gif)

