<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MAX &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/max/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Sun, 17 May 2026 09:16:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>MAX &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのDMAX関数の使い方｜条件付きで最大値を取る完全ガイド（MAXIFS比較・複数条件・FAQ）</title>
		<link>https://mashukabu.com/spreadsheet-dmax-function/</link>
					<comments>https://mashukabu.com/spreadsheet-dmax-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 11:46:56 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[DMAX]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[MAXIFS]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[データベース関数]]></category>
		<category><![CDATA[条件付き最大値]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5363</guid>

					<description><![CDATA[スプレッドシートのDMAX関数で条件に合うデータの最大値を取得する方法を解説。基本構文、AND/OR条件、MAX・MAXIFSとの使い分け、エラー対処、複数条件の組み方をサンプル付きで完全網羅。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「営業部で一番高い売上はいくらだろう」「商品カテゴリごとの最高単価を調べたい」。こんな場面で、フィルタを毎回かけ直してからMAX関数を使っていませんか。</p>



<p class="wp-block-paragraph">条件が変わるたびにフィルタをかけ直すのは面倒ですよね。しかもフィルタ操作は元のデータ表示そのものを変えてしまうので、共有シートだと他の人の作業にも影響します。「ちょっと営業部だけの最高額を確認したかっただけなのに、誰かのフィルタ設定を上書きしてしまった」という地味な事故は、共同編集の現場ではよくある話です。</p>



<p class="wp-block-paragraph">そんなときに便利なのがDMAX関数です。条件を別のセル範囲に書いておくだけで、該当するデータの最大値を自動で返してくれます。条件セルを書き換えるだけで結果が即座に切り替わるので、定型レポートやダッシュボードと相性抜群です。フィルタを触らないので、他の人の作業を邪魔することもありません。</p>



<p class="wp-block-paragraph">この記事では、DMAX関数の基本構文と引数の役割から解説します。AND/OR条件の書き分け、比較演算子・ワイルドカードによる高度な条件指定、MAX関数・MAXIFS関数との使い分けを順に押さえます。さらにDMIN関数との組み合わせ、よくあるエラーと対処法、実務でつまずきやすいFAQまでまとめて紹介します。読み終わるころには「条件付きで最大値を取るならDMAXで一発」と自信を持って言えるようになりますよ。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">スプレッドシートのDMAX関数とは？ — 条件に合うデータの最大値を返す</a><ol><li><a href="#toc2" tabindex="0">MAX関数との違い（全体の最大値 vs 条件付き最大値）</a></li><li><a href="#toc3" tabindex="0">DMIN関数との関係（最大値と最小値）</a></li></ol></li><li><a href="#toc4" tabindex="0">DMAX関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">データベース（第1引数）</a></li><li><a href="#toc8" tabindex="0">フィールド（第2引数）</a></li><li><a href="#toc9" tabindex="0">条件（第3引数）</a></li></ol></li><li><a href="#toc10" tabindex="0">DMAX関数の基本的な使い方</a><ol><li><a href="#toc11" tabindex="0">サンプルデータ</a></li><li><a href="#toc12" tabindex="0">単一条件の書き方（AND条件の基本）</a></li><li><a href="#toc13" tabindex="0">比較演算子を使った条件</a></li></ol></li><li><a href="#toc14" tabindex="0">DMAX関数の使い方｜AND条件・OR条件の書き分け</a><ol><li><a href="#toc15" tabindex="0">AND条件（同じ行に並べる）</a></li><li><a href="#toc16" tabindex="0">OR条件（別の行に並べる）</a></li><li><a href="#toc17" tabindex="0">AND+OR の複合条件</a></li></ol></li><li><a href="#toc18" tabindex="0">比較演算子・ワイルドカードで高度な条件を指定する</a><ol><li><a href="#toc19" tabindex="0">比較演算子の早見表</a></li><li><a href="#toc20" tabindex="0">ワイルドカードの早見表</a></li></ol></li><li><a href="#toc21" tabindex="0">DMAX関数 vs MAX関数 vs MAXIFS関数の使い分け</a><ol><li><a href="#toc22" tabindex="0">3関数の比較表</a></li><li><a href="#toc23" tabindex="0">MAX関数を選ぶべきケース</a></li><li><a href="#toc24" tabindex="0">MAXIFS関数を選ぶべきケース</a></li><li><a href="#toc25" tabindex="0">DMAX関数を選ぶべきケース</a></li></ol></li><li><a href="#toc26" tabindex="0">DMAX関数とDMIN関数の組み合わせ（最大値・最小値の同時集計）</a><ol><li><a href="#toc27" tabindex="0">同じ条件範囲を共有する例</a></li><li><a href="#toc28" tabindex="0">最大値と最小値の差（レンジ）を求める</a></li></ol></li><li><a href="#toc29" tabindex="0">よくあるエラー（#VALUE! / #NUM!）と対処法</a><ol><li><a href="#toc30" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc31" tabindex="0">#NUM! エラー</a></li><li><a href="#toc32" tabindex="0">結果が「0」になる</a></li></ol></li><li><a href="#toc33" tabindex="0">DMAX関数のよくある質問（FAQ）</a><ol><li><a href="#toc34" tabindex="0">Q1. DMAX関数とMAXIFS関数、結局どっちを使えばいい？</a></li><li><a href="#toc35" tabindex="0">Q2. DMAX関数で文字列の最大値（辞書順で最後）は取れる？</a></li><li><a href="#toc36" tabindex="0">Q3. 日付列の最大値（最新日付）はDMAX関数で取れる？</a></li><li><a href="#toc37" tabindex="0">Q4. 空白セルがある列でDMAX関数を使うとどうなる？</a></li><li><a href="#toc38" tabindex="0">Q5. 別シートのデータをDMAX関数で集計できる？</a></li><li><a href="#toc39" tabindex="0">Q6. DMAX関数でN番目に大きい値は取れる？</a></li><li><a href="#toc40" tabindex="0">Q7. 同じ最大値が複数あるとき、どのレコードかを知るには？</a></li><li><a href="#toc41" tabindex="0">Q8. ARRAYFORMULAでDMAXを一気に複数行へ展開できる？</a></li><li><a href="#toc42" tabindex="0">Q9. 条件範囲とデータベース範囲を同じシートに置く必要はある？</a></li></ol></li><li><a href="#toc43" tabindex="0">まとめ｜条件付き最大値はDMAXで一発</a><ol><li><a href="#toc44" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのDMAX関数とは？ — 条件に合うデータの最大値を返す</span></h2>



<p class="wp-block-paragraph">DMAX関数（読み方: ディー マックス）は、<strong>データベース形式の表から条件に合うレコードを探し、指定した列の最大値を返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「Database MAX（データベースの最大値）」の略です。<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a>（条件付き合計）や<a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE</a>（条件付き平均）、<a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA</a>（条件付きカウント）と同じ「データベース関数」の仲間です。引数の指定方法（データベース範囲・フィールド・条件範囲の3つ）はファミリー全体で共通なので、1つ覚えれば芋づる式に他の関数も使えるようになります。</p>



<p class="wp-block-paragraph">DMAX関数の特徴をまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>条件をセル範囲（条件範囲）で指定するスタイル</li><li>条件範囲を書き換えるだけで集計条件をすぐ切り替えられる</li><li>複数条件（AND条件・OR条件）にも対応</li><li>見出し付きのリスト形式のデータが前提</li><li>ワイルドカード（<code>*</code>・<code>?</code>）や比較演算子（<code>></code>・<code><</code>）にも対応</li><li>数値以外（文字列・空白）は集計対象から自動的に除外される</li></ul>



<p class="wp-block-paragraph"><strong>NOTE</strong></p>



<p class="wp-block-paragraph">DMAX関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同じ関数があるので、ファイル形式を変換しても式が壊れません。社内でExcel派とスプレッドシート派が混在していても、安心して使い回せます。</p>



<h3 class="wp-block-heading"><span id="toc2">MAX関数との違い（全体の最大値 vs 条件付き最大値）</span></h3>



<p class="wp-block-paragraph">DMAX関数と<a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>の最大の違いは「条件を付けられるかどうか」です。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>MAX関数</th><th>DMAX関数</th></tr></thead><tbody><tr><td>条件指定</td><td>できない（範囲全体が対象）</td><td>できる（条件範囲で絞り込み）</td></tr><tr><td>構文</td><td>=MAX(範囲)</td><td>=DMAX(データベース, フィールド, 条件)</td></tr><tr><td>用途</td><td>シンプルに最大値を求める</td><td>特定の条件に合うデータだけの最大値</td></tr><tr><td>引数の数</td><td>1つ</td><td>3つ</td></tr><tr><td>条件の切り替え</td><td>数式を書き換える</td><td>条件セルを書き換える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「全社の最高金額」を知りたいだけならMAX関数で十分です。「営業部だけの最高金額」「金額10万円未満のなかでの最高額」のように条件を付けたい場面でDMAX関数の出番になります。</p>



<h3 class="wp-block-heading"><span id="toc3">DMIN関数との関係（最大値と最小値）</span></h3>



<p class="wp-block-paragraph">DMAX関数とちょうど対になる関数が<a href="https://mashukabu.com/spreadsheet-dmin-function/">DMIN関数</a>です。同じ条件範囲・同じデータベース範囲を使い、結果が最大値か最小値かだけが違います。「最高額と最低額を並べて表示したい」ようなレポートでは、DMAXとDMINを並べて使うのが定番パターンです。</p>



<h2 class="wp-block-heading"><span id="toc4">DMAX関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc5">基本構文</span></h3>



<pre class="wp-block-code"><code>=DMAX(データベース, フィールド, 条件)</code></pre>



<p class="wp-block-paragraph">引数は3つで、すべて必須です。省略はできません。</p>



<h3 class="wp-block-heading"><span id="toc6">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>データベース</td><td>必須</td><td>見出し行を含むデータ範囲（例: A1:D100）</td></tr><tr><td>フィールド</td><td>必須</td><td>最大値を求める列の見出し名（文字列）または列番号（数値）</td></tr><tr><td>条件</td><td>必須</td><td>条件を記述したセル範囲（見出し行+条件行）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">それぞれ詳しく見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc7">データベース（第1引数）</span></h3>



<p class="wp-block-paragraph">データベースには、<strong>見出し行を含めたデータ範囲</strong>を指定します。先頭行に列の見出し（「部署」「商品名」「金額」など）が入っている必要があります。</p>



<p class="wp-block-paragraph">注意点として、見出し行を含めずにデータ部分だけを指定するとエラーや想定外の結果になります。「A2:D100」ではなく必ず「A1:D100」のように見出し行から指定してください。</p>



<h3 class="wp-block-heading"><span id="toc8">フィールド（第2引数）</span></h3>



<p class="wp-block-paragraph">最大値を求めたい列を指定します。指定方法は2つあります。</p>



<ul class="wp-block-list"><li><strong>文字列で指定</strong>: <code>"金額"</code> のように、見出しと同じ文字列をダブルクォーテーションで囲む</li><li><strong>数値で指定</strong>: データベースの左端列を1として、列の位置を数値で指定する（3列目なら <code>3</code>）</li></ul>



<p class="wp-block-paragraph">文字列で指定するほうが、あとから見たとき何の列を集計しているのかわかりやすいのでおすすめです。列番号指定だと、列の追加・削除があったときに数式を直す必要が出てきます。見出し名で指定しておけば、見出しが変わらない限り壊れません。</p>



<h3 class="wp-block-heading"><span id="toc9">条件（第3引数）</span></h3>



<p class="wp-block-paragraph">条件範囲には、<strong>見出し行と条件行の2行以上のセル範囲</strong>を指定します。これがDMAX関数の最大の特徴です。</p>



<p class="wp-block-paragraph">条件範囲は次のセクションで詳しく説明しますが、ポイントは「見出し+条件値」が必ず2行ペアで必要ということです。1行だけや、見出しなしで条件値だけを書くとうまく動きません。</p>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">フィールドに列番号を使う場合、データベース範囲の左端が1です。シートのA列が1とは限らないので注意してください。たとえばデータベースをC1:F100と指定した場合、C列が1・D列が2・E列が3になります。</p>



<h2 class="wp-block-heading"><span id="toc10">DMAX関数の基本的な使い方</span></h2>



<h3 class="wp-block-heading"><span id="toc11">サンプルデータ</span></h3>



<p class="wp-block-paragraph">次のような売上データを使って説明します。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>担当者</td><td>商品</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td>田中</td><td>ノートPC</td><td>150000</td></tr><tr><td>3</td><td>総務部</td><td>鈴木</td><td>プリンター</td><td>35000</td></tr><tr><td>4</td><td>営業部</td><td>佐藤</td><td>モニター</td><td>48000</td></tr><tr><td>5</td><td>経理部</td><td>高橋</td><td>ノートPC</td><td>150000</td></tr><tr><td>6</td><td>営業部</td><td>田中</td><td>キーボード</td><td>8000</td></tr><tr><td>7</td><td>総務部</td><td>伊藤</td><td>モニター</td><td>48000</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc12">単一条件の書き方（AND条件の基本）</span></h3>



<p class="wp-block-paragraph">DMAX関数の条件は、<strong>別のセル範囲</strong>に書きます。ここが<a href="https://mashukabu.com/spreadsheet-maxifs-function/">MAXIFS関数</a>との大きな違いです。</p>



<p class="wp-block-paragraph">条件範囲は次のルールで作ります。</p>



<ul class="wp-block-list"><li><strong>1行目に見出しを書く</strong> — データベースの見出しと完全に同じ文字列を使う</li><li><strong>2行目に条件値を書く</strong> — 一致させたい値を入力する</li></ul>



<p class="wp-block-paragraph">たとえば「営業部」の金額で最大値を求めたい場合、シートの空いているエリア（たとえばF1:F2）に次のように書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式はこうなります。</p>



<pre class="wp-block-code"><code>=DMAX(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>150000</strong> です。営業部の3件（150000、48000、8000）のうち最も大きい値が返されます。</p>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">条件範囲の見出しは、データベースの見出しと1文字でも違うとエラーや「結果が0」の原因になります。半角スペースが混ざる・全角と半角が混在する・末尾に改行が入るなど、目視で気づきにくいパターンも多いので、コピー&ペーストで作るのが確実です。</p>



<h3 class="wp-block-heading"><span id="toc13">比較演算子を使った条件</span></h3>



<p class="wp-block-paragraph">条件値には比較演算子も使えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>条件値の書き方</th><th>意味</th></tr></thead><tbody><tr><td>営業部</td><td>「営業部」と完全一致</td></tr><tr><td><code>>=50000</code></td><td>50,000以上</td></tr><tr><td><code><>営業部</code></td><td>「営業部」以外</td></tr><tr><td><code>>=2024/4/1</code></td><td>2024年4月1日以降（日付）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「金額が50,000未満」のレコードのうち最大値を求めたい場合は、条件範囲をこう書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>金額</td></tr><tr><td>2</td><td><code><50000</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">このとき数式は <code>=DMAX(A1:D7, "金額", F1:F2)</code> のままです。結果は <strong>48000</strong> になります。50,000未満の最大値であるモニター（48000）が返されます。</p>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">比較演算子はセルに<strong>そのまま入力</strong>します。シングルクォートやダブルクォートで囲む必要はありません。<code><50000</code> とセルに入力するだけで条件として認識されます。</p>



<h2 class="wp-block-heading"><span id="toc14">DMAX関数の使い方｜AND条件・OR条件の書き分け</span></h2>



<p class="wp-block-paragraph">DMAX関数の本領は、複数条件を扱えることです。AND条件とOR条件の書き分けは、<strong>「同じ行に書く」か「別の行に書く」か</strong>で決まります。</p>



<h3 class="wp-block-heading"><span id="toc15">AND条件（同じ行に並べる）</span></h3>



<p class="wp-block-paragraph">複数の条件を<strong>すべて満たす</strong>レコードに絞り込むのがAND条件です。条件範囲の同じ行に条件を横並びに書きます。</p>



<p class="wp-block-paragraph">たとえば「営業部 かつ 金額50,000以上」の最大値を求めたい場合、条件範囲をこう書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td><code>>=50000</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は次のとおりです。</p>



<pre class="wp-block-code"><code>=DMAX(A1:D7, &quot;金額&quot;, F1:G2)</code></pre>



<p class="wp-block-paragraph">結果は <strong>150000</strong> です。営業部かつ50,000以上の条件を満たす2件（150000、ノートPC）のうち最大値が返ります。</p>



<h3 class="wp-block-heading"><span id="toc16">OR条件（別の行に並べる）</span></h3>



<p class="wp-block-paragraph">複数の条件のうち<strong>いずれか1つを満たせばよい</strong>のがOR条件です。条件範囲の別々の行に条件を縦並びに書きます。</p>



<p class="wp-block-paragraph">たとえば「営業部 または 総務部」の最大値を求めたい場合は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr><tr><td>3</td><td>総務部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式はこうなります。</p>



<pre class="wp-block-code"><code>=DMAX(A1:D7, &quot;金額&quot;, F1:F3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>150000</strong>（営業部のノートPC）です。営業部または総務部のレコードすべてを対象とした最大値が返ります。</p>



<h3 class="wp-block-heading"><span id="toc17">AND+OR の複合条件</span></h3>



<p class="wp-block-paragraph">「営業部で50,000以上」または「総務部で30,000以上」のような複合条件も書けます。AND条件を行ごとに書き、それを縦に並べるとOR条件として解釈されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th><th>G</th></tr></thead><tbody><tr><td>1</td><td>部署</td><td>金額</td></tr><tr><td>2</td><td>営業部</td><td><code>>=50000</code></td></tr><tr><td>3</td><td>総務部</td><td><code>>=30000</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は <code>=DMAX(A1:D7, "金額", F1:G3)</code> で、結果は <strong>150000</strong> です。営業部の150000・48000と総務部の35000・48000が候補となり、その中の最大値が返ります。</p>



<p class="wp-block-paragraph"><strong>NOTE</strong></p>



<p class="wp-block-paragraph">AND条件は「列方向」、OR条件は「行方向」と覚えると間違えにくくなります。横並びはAND、縦並びはORという視覚的なルールです。</p>



<h2 class="wp-block-heading"><span id="toc18">比較演算子・ワイルドカードで高度な条件を指定する</span></h2>



<p class="wp-block-paragraph">DMAX関数の条件範囲では、完全一致だけでなく比較演算子・ワイルドカードを使った柔軟な条件指定ができます。</p>



<h3 class="wp-block-heading"><span id="toc19">比較演算子の早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>演算子</th><th>意味</th><th>記入例</th></tr></thead><tbody><tr><td><code>=</code></td><td>等しい（完全一致は省略可）</td><td><code>=営業部</code></td></tr><tr><td><code>></code></td><td>より大きい</td><td><code>>50000</code></td></tr><tr><td><code><</code></td><td>より小さい</td><td><code><50000</code></td></tr><tr><td><code>>=</code></td><td>以上</td><td><code>>=50000</code></td></tr><tr><td><code><=</code></td><td>以下</td><td><code><=50000</code></td></tr><tr><td><code><></code></td><td>等しくない</td><td><code><>営業部</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数値だけでなく日付にも使えます。<code>>=2024/4/1</code> のように書けば「2024年4月1日以降」と解釈されます。</p>



<h3 class="wp-block-heading"><span id="toc20">ワイルドカードの早見表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>記号</th><th>意味</th><th>記入例</th></tr></thead><tbody><tr><td><code>*</code></td><td>0文字以上の任意の文字列</td><td><code>ノート*</code>（「ノート」で始まるすべて）</td></tr><tr><td><code>?</code></td><td>任意の1文字</td><td><code>?ート</code>（2文字目から「ート」）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば「商品名が『ノート』で始まる」レコードの最大値を求めたい場合、条件範囲をこう書きます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>商品</td></tr><tr><td>2</td><td><code>ノート*</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数式は <code>=DMAX(A1:D7, "金額", F1:F2)</code> で、結果は <strong>150000</strong>（ノートPC）です。</p>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">完全一致と部分一致を切り替えたい場合、完全一致は単に「営業部」と書き、部分一致は「営業<em>」のように <code></em></code> を付けるだけです。Excelでは <code>="=営業部"</code> のような特殊記法が必要なケースもありますが、Googleスプレッドシートのほうがシンプルに書けます。</p>



<h2 class="wp-block-heading"><span id="toc21">DMAX関数 vs MAX関数 vs MAXIFS関数の使い分け</span></h2>



<p class="wp-block-paragraph">条件付きで最大値を取る方法は、DMAX・MAX・MAXIFSの3つから選べます。場面ごとの使い分けを整理しておきます。</p>



<h3 class="wp-block-heading"><span id="toc22">3関数の比較表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>MAX</th><th>MAXIFS</th><th>DMAX</th></tr></thead><tbody><tr><td>条件指定</td><td>不可</td><td>AND条件のみ（127ペアまで）</td><td>AND・OR・複合すべて可</td></tr><tr><td>条件の書き方</td><td>不要</td><td>数式内に範囲・条件をペア指定</td><td>条件範囲（表形式）で指定</td></tr><tr><td>条件の切り替え</td><td>数式を書き換える</td><td>数式の引数を書き換える</td><td>条件セルを書き換える</td></tr><tr><td>ワイルドカード</td><td>不要</td><td><code>*</code>・<code>?</code> 使用可</td><td><code>*</code>・<code>?</code> 使用可</td></tr><tr><td>OR条件</td><td>不可</td><td><code>=MAX(MAXIFS, MAXIFS)</code> で代用</td><td>条件範囲の別行に書くだけ</td></tr><tr><td>数式の可読性</td><td>高（範囲のみ）</td><td>中（条件が増えると長くなる）</td><td>高（数式は短い・条件は表で確認）</td></tr><tr><td>ダッシュボード向き</td><td>×</td><td>△</td><td>◎</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc23">MAX関数を選ぶべきケース</span></h3>



<p class="wp-block-paragraph">条件がいっさい不要で「範囲全体の最大値」だけ知りたい場面はMAX関数が最短です。<code>=MAX(D2:D7)</code> のように1引数で済みます。</p>



<h3 class="wp-block-heading"><span id="toc24">MAXIFS関数を選ぶべきケース</span></h3>



<p class="wp-block-paragraph">条件が<strong>固定</strong>で、AND条件しか使わないならMAXIFSが扱いやすいです。たとえば月次レポートで「営業部の今月の最高額」のように条件が決まっているケースを考えます。この場合、<code>=MAXIFS(D2:D7, A2:A7, "営業部")</code> のように1セルで完結します。条件範囲を別途用意する手間がありません。</p>



<h3 class="wp-block-heading"><span id="toc25">DMAX関数を選ぶべきケース</span></h3>



<p class="wp-block-paragraph">次のいずれかに該当するならDMAX関数を選びましょう。</p>



<ul class="wp-block-list"><li>条件をドロップダウンなどで<strong>頻繁に切り替える</strong>(ダッシュボード用途)</li><li><strong>OR条件</strong>を使いたい</li><li>複数のAND条件・OR条件を組み合わせた<strong>複合条件</strong>を使いたい</li><li>集計条件をシート上で<strong>見える化したい</strong>(条件範囲が「いま何で絞り込んでいるか」のドキュメントになる)</li></ul>



<p class="wp-block-paragraph"><strong>NOTE</strong></p>



<p class="wp-block-paragraph">「ダッシュボードはDMAX、定型レポートはMAXIFS」と覚えると判断が早くなります。DMAXは条件範囲をシート上に見せられるので、レビュー時に「何で絞り込んでるんだっけ？」となりにくいメリットがあります。</p>



<h2 class="wp-block-heading"><span id="toc26">DMAX関数とDMIN関数の組み合わせ（最大値・最小値の同時集計）</span></h2>



<p class="wp-block-paragraph">DMAX関数とDMIN関数は引数の構造がまったく同じで、結果が最大値か最小値かだけが違います。レポートで「最高額と最低額を並べたい」ときは、同じ条件範囲を共有して2つの関数を並べるのが定番パターンです。</p>



<h3 class="wp-block-heading"><span id="toc27">同じ条件範囲を共有する例</span></h3>



<p class="wp-block-paragraph">「営業部の最高金額と最低金額」を並べて表示する例です。条件範囲を F1:F2 に作っておきます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>F</th></tr></thead><tbody><tr><td>1</td><td>部署</td></tr><tr><td>2</td><td>営業部</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">最高額と最低額のセルにそれぞれ次の数式を書きます。</p>



<pre class="wp-block-code"><code>=DMAX(A1:D7, &quot;金額&quot;, F1:F2)
=DMIN(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">条件セル（F2）を「総務部」に書き換えると、最高額と最低額が同時に切り替わります。ダッシュボードでドロップダウンと連動させると、部署選択1つで集計値がまとめて更新される作りになります。</p>



<h3 class="wp-block-heading"><span id="toc28">最大値と最小値の差（レンジ）を求める</span></h3>



<p class="wp-block-paragraph">「最高額と最低額の差」を1セルで求めたい場合は、DMAXとDMINを引き算するだけです。</p>



<pre class="wp-block-code"><code>=DMAX(A1:D7, &quot;金額&quot;, F1:F2) - DMIN(A1:D7, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">価格帯のばらつきや売上のレンジを可視化したいレポートで便利です。</p>



<p class="wp-block-paragraph"><strong>TIP</strong></p>



<p class="wp-block-paragraph">DMAX/DMINと同じ条件範囲を共有することで、<a href="https://mashukabu.com/spreadsheet-dsum-function/">DSUM</a>（合計）・<a href="https://mashukabu.com/spreadsheet-daverage-function/">DAVERAGE</a>（平均）・<a href="https://mashukabu.com/spreadsheet-dcounta-function/">DCOUNTA</a>（件数）も同時に並べられます。1つの条件で「件数・合計・平均・最大・最小」を一覧化するサマリ表が作れます。</p>



<h2 class="wp-block-heading"><span id="toc29">よくあるエラー（#VALUE! / #NUM!）と対処法</span></h2>



<p class="wp-block-paragraph">DMAX関数でよく遭遇するエラーと原因を整理します。</p>



<h3 class="wp-block-heading"><span id="toc30">#VALUE! エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因1：フィールドの列名がデータベースの見出しと一致しない</strong></p>



<p class="wp-block-paragraph"><code>"金額 "</code> のように末尾にスペースが入っている、<code>"金 額"</code> のように全角スペースが入っているなど、見た目では気づきにくいパターンが多いです。データベース範囲の見出しセルから値をコピーして使うのが確実です。</p>



<p class="wp-block-paragraph"><strong>原因2：条件範囲の見出しがデータベースの見出しと一致しない</strong></p>



<p class="wp-block-paragraph">条件範囲の1行目（ラベル行）にミスタイプがあるとエラーになります。こちらもコピー&ペーストで作るのが鉄則です。</p>



<p class="wp-block-paragraph"><strong>原因3：データベース範囲の指定ミス</strong></p>



<p class="wp-block-paragraph">見出し行を含まずにデータ部分だけを指定すると <code>#VALUE!</code> になる場合があります。<code>A2:D7</code> ではなく <code>A1:D7</code> のように見出し行から含めて指定してください。</p>



<h3 class="wp-block-heading"><span id="toc31">#NUM! エラー</span></h3>



<p class="wp-block-paragraph"><strong>原因：条件に合致するレコードが0件</strong></p>



<p class="wp-block-paragraph">該当データが存在しない条件を指定すると <code>#NUM!</code> が返ります。たとえば「営業部 かつ 金額500,000以上」のように、実データに存在しない条件を組むと発生します。</p>



<p class="wp-block-paragraph">エラーを回避したい場合は、IFERROR関数で包んで代替値を返す方法があります。</p>



<pre class="wp-block-code"><code>=IFERROR(DMAX(A1:D7, &quot;金額&quot;, F1:G2), &quot;該当なし&quot;)</code></pre>



<h3 class="wp-block-heading"><span id="toc32">結果が「0」になる</span></h3>



<p class="wp-block-paragraph">エラーではなく<strong>0が返る</strong>場合は、次の3つを疑ってください。</p>



<ol class="wp-block-list"><li><strong>見出しの不一致</strong>：データベース見出しと条件範囲見出しが完全一致していない（最頻出）</li><li><strong>フィールド列に数値がない</strong>：DMAXは数値列を対象とするため、文字列列を指定すると0が返る</li><li><strong>条件範囲に空白行が混入</strong>：条件範囲の中に空白行があると「すべて一致」と解釈され、想定外の値が返る</li></ol>



<p class="wp-block-paragraph"><strong>NOTE</strong></p>



<p class="wp-block-paragraph">「結果が0」のトラブルは、9割が見出しの不一致です。エラーメッセージが出ないので原因に気づきにくく、最も時間を吸われる落とし穴です。条件範囲の見出しは必ずデータベースからコピー&ペーストで作りましょう。</p>



<h2 class="wp-block-heading"><span id="toc33">DMAX関数のよくある質問（FAQ）</span></h2>



<h3 class="wp-block-heading"><span id="toc34">Q1. DMAX関数とMAXIFS関数、結局どっちを使えばいい？</span></h3>



<p class="wp-block-paragraph">条件を<strong>頻繁に切り替える</strong>ならDMAX、<strong>条件が固定</strong>ならMAXIFSです。たとえば部署別ダッシュボードのようにドロップダウンで条件を切り替える作りならDMAXが向いています。一方、月初の定型レポートで「営業部の今月の最高額」のように条件が決まっているならMAXIFSがシンプルです。</p>



<p class="wp-block-paragraph">OR条件が必要なときはDMAX一択になります。MAXIFSはAND条件しか直接書けないので、OR条件は数式を分けるか配列数式に頼る必要があります。</p>



<h3 class="wp-block-heading"><span id="toc35">Q2. DMAX関数で文字列の最大値（辞書順で最後）は取れる？</span></h3>



<p class="wp-block-paragraph">取れません。DMAX関数は<strong>数値の最大値</strong>を返す関数です。文字列の列を指定すると0が返ります。</p>



<p class="wp-block-paragraph">辞書順での最大値を取りたい場合は、データを並べ替えてからINDEXやFILTER関数で取得するか、SORT関数と組み合わせる方法があります。</p>



<h3 class="wp-block-heading"><span id="toc36">Q3. 日付列の最大値（最新日付）はDMAX関数で取れる？</span></h3>



<p class="wp-block-paragraph">取れます。スプレッドシートの日付は内部的にはシリアル値（数値）なので、DMAX関数で問題なく動作します。「営業部の最新の取引日」のような集計に便利です。</p>



<p class="wp-block-paragraph">ただし表示形式が「日付」になっていないと、結果がシリアル値（45000のような数値）で表示されます。結果セルの表示形式を「日付」に変えてください。</p>



<h3 class="wp-block-heading"><span id="toc37">Q4. 空白セルがある列でDMAX関数を使うとどうなる？</span></h3>



<p class="wp-block-paragraph">空白セルは無視されます。DMAX関数は数値が入っているセルだけを集計対象にするので、空白や文字列が混ざっていても結果に影響しません。</p>



<p class="wp-block-paragraph">ただし<strong>条件範囲のほうに空白行が混ざる</strong>と「すべて一致」と解釈されてしまうので、条件範囲は空白行を含めないようにしてください。</p>



<h3 class="wp-block-heading"><span id="toc38">Q5. 別シートのデータをDMAX関数で集計できる？</span></h3>



<p class="wp-block-paragraph">できます。データベースの引数にシート名を含めて指定するだけです。</p>



<pre class="wp-block-code"><code>=DMAX('売上データ'!A1:D100, &quot;金額&quot;, F1:F2)</code></pre>



<p class="wp-block-paragraph">シート名にスペースや日本語が含まれる場合は、シングルクォーテーション（<code>'</code>）で囲むのがポイントです。</p>



<h3 class="wp-block-heading"><span id="toc39">Q6. DMAX関数でN番目に大きい値は取れる？</span></h3>



<p class="wp-block-paragraph">取れません。DMAX関数は最大値（1番大きい値）専用です。</p>



<p class="wp-block-paragraph">N番目に大きい値が必要な場合は、LARGE関数を使うか、QUERY関数でORDER BYを使ってソートしてから取得する方法があります。条件付きでN番目を取りたい場合は、FILTER関数とLARGE関数を組み合わせるのが定番です。</p>



<h3 class="wp-block-heading"><span id="toc40">Q7. 同じ最大値が複数あるとき、どのレコードかを知るには？</span></h3>



<p class="wp-block-paragraph">DMAX関数は「最大値そのもの」しか返さないので、「どの担当者か」「どの商品か」までは取れません。</p>



<p class="wp-block-paragraph">最大値を持つレコードの他の列の値を取りたい場合は、<a href="https://mashukabu.com/spreadsheet-dget-function/">DGET関数</a>や、INDEX+MATCHの組み合わせを使います。「営業部の最高額の担当者名」のような集計は、DMAXで最高額を求め、その値を条件にDGETで担当者名を引く、という二段構えにするのが実務的です。</p>



<h3 class="wp-block-heading"><span id="toc41">Q8. ARRAYFORMULAでDMAXを一気に複数行へ展開できる？</span></h3>



<p class="wp-block-paragraph">できません。DMAX関数は<strong>単一値を返すスカラー関数</strong>なので、ARRAYFORMULAで配列展開できない仕様です。</p>



<p class="wp-block-paragraph">部署ごとなど複数の集計結果を一気に並べたい場合は、QUERY関数の <code>GROUP BY</code> を使うか、各行に個別のDMAX数式を入れる必要があります。「部署一覧をユニーク化 → 各行にDMAX」というパターンが実務でよく使われます。</p>



<h3 class="wp-block-heading"><span id="toc42">Q9. 条件範囲とデータベース範囲を同じシートに置く必要はある？</span></h3>



<p class="wp-block-paragraph">ありません。条件範囲は別シートに置いてもまったく問題なく動きます。</p>



<p class="wp-block-paragraph">ただし可読性の面では、データベースと条件範囲は同じシートにまとめておくほうがメンテナンスしやすいです。ダッシュボードのように「表示シートと集計シートを分けたい」場合のみ、別シート参照を使うとよいでしょう。</p>



<h2 class="wp-block-heading"><span id="toc43">まとめ｜条件付き最大値はDMAXで一発</span></h2>



<p class="wp-block-paragraph">DMAX関数は、データベース形式の表から条件に合うデータの最大値を求める関数です。フィルタを触らずに条件付き集計ができるので、共有シートやダッシュボードと相性抜群です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=DMAX(データベース, フィールド, 条件)</code> で、引数は3つすべて必須</li><li>条件は数式内ではなく<strong>セル範囲（条件範囲）に書く</strong>のが特徴</li><li>条件範囲は「見出し行+条件行」のセットで作る</li><li><strong>AND条件は同じ行</strong>に横並び、<strong>OR条件は別の行</strong>に縦並びで書く</li><li>条件セルの値を変えるだけで集計対象を切り替えられる</li><li>比較演算子（<code>></code>・<code><</code>・<code>>=</code>・<code><=</code>・<code><></code>）やワイルドカード（<code>*</code>・<code>?</code>）も使える</li><li>全体の最大値はMAX、AND条件のみならMAXIFS、複雑な条件やOR条件・ダッシュボード用途はDMAXが最適</li><li>DMINと組み合わせれば「最高額・最低額・レンジ」を同じ条件範囲で一気に集計できる</li><li>結果が0になるときは「見出しの不一致」をまずチェック</li><li><code>#NUM!</code> は該当データ0件、<code>#VALUE!</code> は引数や見出しの問題</li><li>最大値を持つレコードの他の列が知りたいときはDGET関数と組み合わせる</li></ul>



<p class="wp-block-paragraph">まずは簡単な表で <code>=DMAX(A1:D7, "金額", F1:F2)</code> から試してみてください。条件セルを書き換えて結果が変わる感覚をつかめば、データベース関数全体への理解がぐっと深まりますよ。</p>



<h3 class="wp-block-heading"><span id="toc44">関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-dmin-function/">スプレッドシートのDMIN関数の使い方｜条件に合う最小値</a></li><li><a href="https://mashukabu.com/spreadsheet-dget-function/">スプレッドシートのDGET関数の使い方｜条件に合う1つの値</a></li><li><a href="https://mashukabu.com/spreadsheet-dcounta-function/">スプレッドシートのDCOUNTA関数の使い方｜文字列も含めて条件付きカウント</a></li><li><a href="https://mashukabu.com/spreadsheet-dsum-function/">スプレッドシートのDSUM関数の使い方｜条件に合う合計</a></li><li><a href="https://mashukabu.com/spreadsheet-daverage-function/">スプレッドシートのDAVERAGE関数の使い方｜条件に合う平均</a></li><li><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方｜最大値を一発取得</a></li><li><a href="https://mashukabu.com/spreadsheet-maxifs-function/">スプレッドシートのMAXIFS関数の使い方｜条件付き最大値</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-dmax-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのMAXA関数の使い方｜文字列含む最大値</title>
		<link>https://mashukabu.com/spreadsheet-maxa-function/</link>
					<comments>https://mashukabu.com/spreadsheet-maxa-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 11:32:33 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[MAX]]></category>
		<category><![CDATA[MAXA]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[文字列]]></category>
		<category><![CDATA[最大値]]></category>
		<category><![CDATA[統計関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=4809</guid>

					<description><![CDATA[GoogleスプレッドシートのMAXA関数の使い方を初心者向けに解説。文字列やTRUE/FALSEを含むデータの最大値の求め方、MAX関数との違い、実務での活用パターンまで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">データの最大値を出したいけど、範囲に「欠席」や「対象外」といった文字列が混ざっていることってありますよね。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>なら文字列はスキップしてくれます。でも「文字列が入っているセルも考慮して最大値を出したい」場面もあります。</p>



<p class="wp-block-paragraph">そんなときに使うのがMAXA関数です。文字列やFALSEを0、TRUEを1として計算に含めてくれます。</p>



<p class="wp-block-paragraph">この記事ではMAXA関数の基本から、MAX関数との違い、実務での使いどころまで紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MAXA関数とは？</a></li><li><a href="#toc2" tabindex="0">MAXA関数の書き方（構文と引数）</a><ol><li><a href="#toc3" tabindex="0">基本構文</a></li><li><a href="#toc4" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc5" tabindex="0">MAXA関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">文字列を含むデータの最大値を求める</a></li><li><a href="#toc7" tabindex="0">TRUE/FALSEを含むデータの最大値</a></li><li><a href="#toc8" tabindex="0">負の数値と文字列が混在する場合</a></li><li><a href="#toc9" tabindex="0">数値だけの範囲で使った場合</a></li></ol></li><li><a href="#toc10" tabindex="0">MAXA関数の実務活用パターン</a><ol><li><a href="#toc11" tabindex="0">パターン1: 計測エラーを含むデータの最大値</a></li><li><a href="#toc12" tabindex="0">パターン2: MAX関数との結果を並べて比較する</a></li><li><a href="#toc13" tabindex="0">パターン3: COUNTA関数と組み合わせてデータ件数を確認する</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">結果が0になるときの確認方法</a></li><li><a href="#toc16" tabindex="0">#N/Aエラーの対処</a></li></ol></li><li><a href="#toc17" tabindex="0">MAX関数との違い・使い分け</a><ol><li><a href="#toc18" tabindex="0">どちらを使うべき？</a></li></ol></li><li><a href="#toc19" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc20" tabindex="0">Excelとの違い</a></li><li><a href="#toc21" tabindex="0">まとめ</a><ol><li><a href="#toc22" tabindex="0">この記事で紹介した関数・関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">MAXA関数とは？</span></h2>



<p class="wp-block-paragraph">MAXA関数（読み方: マックスエー関数）は、<strong>文字列やTRUE/FALSEを含むデータ全体から最大値を返す関数</strong>です。</p>



<p class="wp-block-paragraph">名前は「MAX」に「A（All）」を加えたもので、「すべてのデータを計算対象にする」というイメージです。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>との最大の違いは、データ型ごとの扱い方です。</p>



<figure class="wp-block-table"><table><thead><tr><th>セルの内容</th><th>MAX</th><th>MAXA</th></tr></thead><tbody><tr><td>数値</td><td>計算に含む</td><td>計算に含む</td></tr><tr><td>文字列</td><td>スキップ</td><td><strong>0として計算</strong></td></tr><tr><td>TRUE</td><td>スキップ</td><td><strong>1として計算</strong></td></tr><tr><td>FALSE</td><td>スキップ</td><td><strong>0として計算</strong></td></tr><tr><td>空白セル</td><td>スキップ</td><td>スキップ</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえばA1:A3に「80, &#8220;欠席&#8221;, 60」と入っているとします。</p>



<ul class="wp-block-list"><li><code>=MAX(A1:A3)</code> → 80（数値2つから最大値）</li><li><code>=MAXA(A1:A3)</code> → 80（文字列を0として含めても最大値は変わらない）</li></ul>



<p class="wp-block-paragraph">この例では結果が同じですね。MAXA関数が活きるのは、負の数値を含むケースです。A1:A3に「-10, &#8220;欠席&#8221;, -20」が入っているとします。</p>



<ul class="wp-block-list"><li><code>=MAX(A1:A3)</code> → -10（数値2つから最大値）</li><li><code>=MAXA(A1:A3)</code> → 0（文字列の0が最大値になる）</li></ul>



<p class="wp-block-paragraph">MAXA関数にできることをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>文字列を0として最大値の比較に含める</li><li>TRUEを1、FALSEを0として比較に含める</li><li>空白セルはスキップする（MAX関数と同じ）</li><li>数値だけの範囲ではMAX関数と同じ結果になる</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>MAXA関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作もほぼ同じです。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc2">MAXA関数の書き方（構文と引数）</span></h2>



<h3 class="wp-block-heading"><span id="toc3">基本構文</span></h3>



<pre class="wp-block-code"><code>=MAXA(値1, [値2], ...)</code></pre>



<p class="wp-block-paragraph">カッコの中に、最大値を求めたいデータやセル範囲を指定します。</p>



<h3 class="wp-block-heading"><span id="toc4">引数の説明</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/任意</th><th>説明</th></tr></thead><tbody><tr><td>値1</td><td>必須</td><td>最大値を求めたい最初の値、セル参照、またはセル範囲</td></tr><tr><td>値2, &#8230;</td><td>任意</td><td>追加で比較したい値やセル範囲（最大30個まで）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数が2つ以上ある場合は、カンマ（ , ）で区切ります。</p>



<p class="wp-block-paragraph">MAX関数と構文は同じです。違いは「文字列やTRUE/FALSEをどう扱うか」だけです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>Excelでは引数を最大255個まで指定できますが、Googleスプレッドシートでは最大30個です。セル範囲を使えば実務で困ることはありません。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc5">MAXA関数の基本的な使い方</span></h2>



<p class="wp-block-paragraph">ここからは、実際にMAXA関数を使う手順を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc6">文字列を含むデータの最大値を求める</span></h3>



<p class="wp-block-paragraph">B2からB6にテストの点数が入っていて、B4に「欠席」という文字列が入っているとします。</p>



<pre class="wp-block-code"><code>=MAXA(B2:B6)</code></pre>



<p class="wp-block-paragraph">「80, 70, 欠席, 90, 60」の場合、「欠席」は0として扱われます。結果は「90」です。数値の最大値がそのまま返ります。</p>



<p class="wp-block-paragraph">MAX関数でも「90」になります。この場合は文字列が0として扱われても、最大値には影響しません。</p>



<h3 class="wp-block-heading"><span id="toc7">TRUE/FALSEを含むデータの最大値</span></h3>



<p class="wp-block-paragraph">チェックボックスの列など、TRUE/FALSEが混在するデータにも使えます。</p>



<p class="wp-block-paragraph">B2からB5に「0.5, TRUE, FALSE, 0.8」が入っているとします。</p>



<pre class="wp-block-code"><code>=MAXA(B2:B5)</code></pre>



<p class="wp-block-paragraph">TRUEは1、FALSEは0として扱われます。結果は「1」です。TRUEが1に変換されて最大値になります。</p>



<p class="wp-block-paragraph">MAX関数なら「0.8」になります。TRUEをスキップするからです。</p>



<h3 class="wp-block-heading"><span id="toc8">負の数値と文字列が混在する場合</span></h3>



<p class="wp-block-paragraph">MAXA関数とMAX関数の違いが明確に出るのは、負の数値を含むケースです。</p>



<p class="wp-block-paragraph">B2からB4に「-5, &#8220;計測不能&#8221;, -10」が入っているとします。</p>



<pre class="wp-block-code"><code>=MAXA(B2:B4)</code></pre>



<p class="wp-block-paragraph">文字列が0として扱われるため、結果は「0」です。MAX関数なら「-5」になります。</p>



<h3 class="wp-block-heading"><span id="toc9">数値だけの範囲で使った場合</span></h3>



<p class="wp-block-paragraph">数値だけの範囲ならMAXA関数はMAX関数と同じ結果を返します。</p>



<pre class="wp-block-code"><code>=MAXA(80, 70, 90)</code></pre>



<p class="wp-block-paragraph">結果は「90」です。文字列やTRUE/FALSEが含まれていなければ、違いはありません。</p>



<h2 class="wp-block-heading"><span id="toc10">MAXA関数の実務活用パターン</span></h2>



<h3 class="wp-block-heading"><span id="toc11">パターン1: 計測エラーを含むデータの最大値</span></h3>



<p class="wp-block-paragraph">センサーデータや計測結果で「エラー」や「計測不能」という文字列が入る場面です。B列に計測値が入っているとします。</p>



<pre class="wp-block-code"><code>=MAXA(B2:B100)</code></pre>



<p class="wp-block-paragraph">文字列セルを0として扱うので、異常値の文字列が含まれていても最大値を求められます。</p>



<p class="wp-block-paragraph">ただし、計測エラーを無視して数値だけの最大値を出したい場合は、<a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>のほうが適しています。</p>



<h3 class="wp-block-heading"><span id="toc12">パターン2: MAX関数との結果を並べて比較する</span></h3>



<p class="wp-block-paragraph">同じ範囲に対してMAXとMAXAの両方を出しておくと、データの中身が見えてきます。</p>



<pre class="wp-block-code"><code>=MAX(B2:B20)
=MAXA(B2:B20)</code></pre>



<p class="wp-block-paragraph">2つの値に差がある場合、いくつかの可能性があります。</p>



<ul class="wp-block-list"><li>負の数値があり、文字列の0がMAXAの最大値になっている</li><li>TRUEの1が最大値に影響している</li></ul>



<p class="wp-block-paragraph">差がなければ、範囲内は数値だけで構成されています。</p>



<h3 class="wp-block-heading"><span id="toc13">パターン3: COUNTA関数と組み合わせてデータ件数を確認する</span></h3>



<p class="wp-block-paragraph">MAXA関数がどのようなデータを対象にしているか確認したいときは、COUNTA関数を使います。</p>



<pre class="wp-block-code"><code>=COUNTA(B2:B20)</code></pre>



<p class="wp-block-paragraph">COUNTA関数は空白以外のセル数を返します。MAX関数の結果と比べて、文字列や論理値がどの程度含まれているか把握できます。</p>



<h2 class="wp-block-heading"><span id="toc14">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">MAXA関数はシンプルな関数ですが、結果がおかしいと感じる場面もあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>症状</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>結果が0になる</td><td>すべて空白、または負の数と文字列が混在</td><td>データが入っているか確認。文字列が0になる仕様を確認する</td></tr><tr><td>MAX関数と結果が違う</td><td>文字列やTRUE/FALSEが0/1として含まれている</td><td>意図どおりか確認。不要ならMAX関数に切り替える</td></tr><tr><td>MAX関数と結果が同じ</td><td>範囲内に文字列やTRUE/FALSEがない</td><td>数値だけの範囲では同じ結果になる</td></tr><tr><td>#N/Aエラー</td><td>引数にエラー値が含まれている</td><td>IFERROR関数でエラーを除外する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc15">結果が0になるときの確認方法</span></h3>



<p class="wp-block-paragraph">MAXA関数の結果が0になる場合、2つの原因が考えられます。</p>



<p class="wp-block-paragraph">1つ目は、範囲内がすべて空白セルのケースです。2つ目は、すべての数値が負の値で、文字列が0として最大値になっているケースです。</p>



<p class="wp-block-paragraph">MAX関数と結果を比べてみてください。</p>



<pre class="wp-block-code"><code>=MAX(B2:B20)   → 文字列をスキップした最大値
=MAXA(B2:B20)  → 文字列を0として含めた最大値</code></pre>



<p class="wp-block-paragraph">MAX関数が負の値を返し、MAXA関数が0を返すなら、文字列が影響しています。文字列を0として含める意図がなければ、MAX関数に切り替えましょう。</p>



<h3 class="wp-block-heading"><span id="toc16">#N/Aエラーの対処</span></h3>



<p class="wp-block-paragraph">範囲内にエラー値（#N/A, #VALUE!など）がある場合、MAXA関数もエラーを返します。</p>



<pre class="wp-block-code"><code>=IFERROR(MAXA(B2:B20), &quot;エラーあり&quot;)</code></pre>



<p class="wp-block-paragraph">エラーセルを除外して最大値を求めたい場合は、FILTER関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=MAXA(FILTER(B2:B20, NOT(ISERROR(B2:B20))))</code></pre>



<h2 class="wp-block-heading"><span id="toc17">MAX関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">MAXA関数とMAX関数は構文が同じで、データ型の扱いだけが異なります。</p>



<figure class="wp-block-table"><table><thead><tr><th>比較項目</th><th>MAX</th><th>MAXA</th></tr></thead><tbody><tr><td>数値</td><td>計算に含む</td><td>計算に含む</td></tr><tr><td>文字列</td><td>スキップ</td><td>0として計算</td></tr><tr><td>TRUE</td><td>スキップ</td><td>1として計算</td></tr><tr><td>FALSE</td><td>スキップ</td><td>0として計算</td></tr><tr><td>空白セル</td><td>スキップ</td><td>スキップ</td></tr><tr><td>主な用途</td><td>数値だけの最大値</td><td>全データ型を考慮した最大値</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">どちらを使うべき？</span></h3>



<p class="wp-block-paragraph">使い分けの判断基準はシンプルです。</p>



<ul class="wp-block-list"><li><strong>数値だけの最大値を出したい</strong> → MAX関数</li><li><strong>文字列やTRUE/FALSEも考慮して最大値を出したい</strong> → MAXA関数</li></ul>



<p class="wp-block-paragraph">実務ではほとんどの場面でMAX関数が適しています。MAXA関数が必要になるのは、負の数値と文字列が混在するデータで「文字列セルを0として含めたい」場面です。正の数値だけのデータなら、文字列を0として含めても最大値は変わりません。</p>



<h2 class="wp-block-heading"><span id="toc19">似た関数との違い・使い分け</span></h2>



<p class="wp-block-paragraph">MAXA関数と関連する関数をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>文字列の扱い</th><th>使いどころ</th></tr></thead><tbody><tr><td><strong>MAXA</strong></td><td><strong>全データ型を含む最大値</strong></td><td><strong>0として計算</strong></td><td><strong>文字列も考慮して最大値を求めたい</strong></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-max-function/">MAX</a></td><td>数値の最大値</td><td>スキップ</td><td>数値だけの最大値</td></tr><tr><td>MAXIFS</td><td>条件付き最大値</td><td>スキップ</td><td>条件に合うデータの最大値</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-averagea-function/">AVERAGEA</a></td><td>全データ型を含む平均</td><td>0として計算</td><td>文字列も含めた平均</td></tr><tr><td>MINA</td><td>全データ型を含む最小値</td><td>0として計算</td><td>文字列も考慮して最小値を求めたい</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">条件付きで最大値を出したい場合は、MAXIFS関数を使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc20">Excelとの違い</span></h2>



<p class="wp-block-paragraph">MAXA関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Excel</th><th>Googleスプレッドシート</th></tr></thead><tbody><tr><td>構文</td><td>=MAXA(値1, &#8230;)</td><td>=MAXA(値1, &#8230;)</td></tr><tr><td>文字列の扱い</td><td>0として計算</td><td>0として計算</td></tr><tr><td>TRUEの扱い</td><td>1として計算</td><td>1として計算</td></tr><tr><td>FALSEの扱い</td><td>0として計算</td><td>0として計算</td></tr><tr><td>空白セル</td><td>スキップ</td><td>スキップ</td></tr><tr><td>引数上限</td><td>最大255個</td><td>最大30個</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数の上限数が異なりますが、セル範囲を使えば問題ありません。Excelと同じ感覚で使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<p class="wp-block-paragraph">MAXA関数は、文字列やTRUE/FALSEを含むデータから最大値を求める関数です。</p>



<p class="wp-block-paragraph">ポイントを整理します。</p>



<ul class="wp-block-list"><li>構文は <code>=MAXA(値1, [値2], ...)</code> で全データ型を含む最大値を返す</li><li>文字列は0、TRUEは1、FALSEは0として計算に含める</li><li>空白セルはスキップされる（MAX関数と同じ）</li><li>数値だけの範囲ではMAX関数と同じ結果になる</li><li>負の数値と文字列が混在するデータで違いが出る</li><li>通常の最大値は<a href="https://mashukabu.com/spreadsheet-max-function/">MAX関数</a>がおすすめ</li></ul>



<p class="wp-block-paragraph">まずは <code>=MAXA(範囲)</code> と <code>=MAX(範囲)</code> を並べて、結果の違いを確認してみてください。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">この記事で紹介した関数・関連記事</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/spreadsheet-max-function/">スプレッドシートのMAX関数の使い方</a></li><li><a href="https://mashukabu.com/spreadsheet-averagea-function/">スプレッドシートのAVERAGEA関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-maxa-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
