クイックナビゲーション
DMAX関数
概要
DMAX関数は、指定されたデータベース領域から条件に一致するレコードの指定フィールドにおける最大値を迅速に抽出します。データベース関数の中でも最も実用的な関数の一つで、動的フィルタリングと最大値検索を一度に実現します。
構文
DMAX(データベース, フィールド, 検索条件)
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| データベース | 範囲 |
はい | データベース領域(先頭行にヘッダー必須) |
| フィールド | 文字列/数値 |
はい | 対象列の指定(列名 or 列位置) |
| 検索条件 | 範囲 |
はい | フィルター条件を含む範囲 |
DMAX関数の使用
DMAXはデータベースの特定フィールドから、指定条件を満たすレコードの最大値を返します。通常のMAX関数と異なり、ヘッダー行を含むデータベース形式で条件指定が可能。売上データや在庫管理で特定の条件に合致する最大値を求める際に最適です。
DMAXの一般的な例
果樹データでの利益最大値抽出
=DMAX(A5:E11,"利益",A1:F3)
高さ10-16フィートのりんごまたは梨の最大利益(¥96)を抽出。複数行の条件範囲を使用。
列番号指定例
=DMAX(A1:E20,5,G1:G2)
5列目の最大値を、G列の条件で抽出。列番号指定により柔軟。
単一条件での売上最大
=DMAX(売上データ,"売上額",B1:B2)
特定の担当者の最高売上額を抽出。
よくある質問
MAXは単純な範囲の最大値ですが、DMAXはデータベース形式で条件を指定して最大値を求められます。
はい。異なる列に複数の条件を記述し、ORまたはAND条件で検索可能です。
はい。ダブルクォートで囲んで日本語列名を直接指定できます。
一般的なエラーと解決策
#VALUE! エラー
Cause: データベースの先頭行にヘッダーがない、または範囲が不正
Solution: データ範囲に列見出し行を含めてください。
条件に一致するデータがない
Cause: 検索条件がデータベースのどのレコードとも一致しない
Solution: 条件値を確認し、データ型(文字列/数値)を一致させてください。
0が返される
Cause: 数値フィールドにテキストが混在している
Solution: 対象列のデータを数値形式に統一してください。
注記
- データベースの先頭行は必ず列見出しを含む
- 検索条件範囲はデータベースと重複しない場所に配置
- ワイルドカード(*や?)も条件で使用可能
- 条件範囲の下に空白行を残すとデータ追加時に便利
互換性
利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365
利用不可:
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+