<?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>MDETERM &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/mdeterm/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 03 Apr 2026 23:37:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>MDETERM &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのMDETERM関数の使い方｜行列式を求めて逆行列の存在を確認する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-mdeterm/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-mdeterm/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 08 Feb 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[MDETERM]]></category>
		<category><![CDATA[正方行列]]></category>
		<category><![CDATA[行列]]></category>
		<category><![CDATA[行列式]]></category>
		<category><![CDATA[逆行列]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3278</guid>

					<description><![CDATA[ExcelのMDETERM関数で正方行列の行列式を求める方法を解説。構文・引数の基本から2x2・3x3行列の計算例、MINVERSE関数と組み合わせた逆行列の存在確認、連立方程式の解の有無判定、浮動小数点誤差の対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Excelで行列式を求めたいけど、どの関数を使えばいいの?」「行列式が0かどうかで逆行列が存在するか判定したい」と思ったことはありませんか。</p>



<p class="wp-block-paragraph">行列式の手計算は3&#215;3以上になると工程が増えて、計算ミスが起きやすいですよね。</p>



<p class="wp-block-paragraph">MDETERM関数を使えば、正方行列の行列式をワンステップで算出できます。さらにMINVERSE関数と組み合わせれば、逆行列が存在するかどうかの事前チェックにも活用できます。この記事では基本の使い方から実務的な応用まで、順を追って解説していきます。</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">MDETERM関数とは?</a></li><li><a href="#toc2" tabindex="0">MDETERM関数の書き方（構文と引数）</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">基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">2&#215;2行列の行列式を求める</a></li><li><a href="#toc7" tabindex="0">3&#215;3行列の行列式を求める</a></li><li><a href="#toc8" tabindex="0">配列定数を直接指定する</a></li></ol></li><li><a href="#toc9" tabindex="0">実務で役立つ活用例</a><ol><li><a href="#toc10" tabindex="0">逆行列の存在確認に使う</a></li><li><a href="#toc11" tabindex="0">連立方程式の解の有無を判定する</a></li><li><a href="#toc12" tabindex="0">計算結果の検算に使う</a></li></ol></li><li><a href="#toc13" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc14" tabindex="0">まとめ</a><ol><li><a href="#toc15" tabindex="0">関連する行列関数との使い分け</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">MDETERM関数は、指定した正方行列（行数と列数が同じ行列）の<strong>行列式</strong>（determinant）を返す関数です。</p>



<ul class="wp-block-list"><li><strong>読み方</strong>: マトリックス・ディターミナント（Matrix Determinant）</li><li><strong>語源</strong>: 「M」はMatrix（行列）、「DETERM」はDeterminant（行列式）の略です</li><li><strong>対応バージョン</strong>: Excel 2003以降 / Microsoft 365</li></ul>



<p class="wp-block-paragraph">行列式とは、正方行列から計算される1つの数値のことです。行列式が0でなければ逆行列が存在し、0であれば逆行列は存在しません（このような行列を「特異行列」と呼びます）。</p>



<p class="wp-block-paragraph">行列式は数学・工学・統計の分野で幅広く使われていますが、Excelでの主な用途は次の2つです。</p>



<ul class="wp-block-list"><li>逆行列が存在するか（=連立方程式に解があるか）の判定</li><li>行列に関する各種計算の中間ステップ</li></ul>



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



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



<pre class="wp-block-code"><code>=MDETERM(配列)</code></pre>



<p class="wp-block-paragraph">MDETERM関数の引数は1つだけなので、とてもシンプルです。</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>配列</td><td>必須</td><td>行数と列数が等しい数値配列（正方行列）を指定します</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>配列に指定できるもの</strong>:</p>



<ul class="wp-block-list"><li>セル範囲（例: B2:C3、B2:D4）</li><li>配列定数（例: <code>{1,2;3,4}</code>）</li></ul>



<p class="wp-block-paragraph"><strong>注意点</strong>:</p>



<ul class="wp-block-list"><li>行数と列数が異なる範囲を指定すると <code>#VALUE!</code> エラーになります</li><li>空白セルや文字列が含まれていると <code>#VALUE!</code> エラーになります</li><li>結果は1つの数値（スカラー値）なので、配列数式として入力する必要はありません</li></ul>



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



<h3 class="wp-block-heading"><span id="toc6">2&#215;2行列の行列式を求める</span></h3>



<p class="wp-block-paragraph">まずは最もシンプルな2&#215;2行列で試してみましょう。</p>



<p class="wp-block-paragraph">セルB2:C3に以下のような行列が入力されているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B</th><th>C</th></tr></thead><tbody><tr><td>2</td><td>4</td><td>7</td></tr><tr><td>3</td><td>2</td><td>6</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行列式を求めるには、結果を表示したいセル（例: E2）に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=MDETERM(B2:C3)</code></pre>



<p class="wp-block-paragraph">結果は <strong>10</strong> になります。</p>



<p class="wp-block-paragraph">2&#215;2行列の行列式は「ad &#8211; bc」の公式で手計算できます。上の例では <code>4×6 - 7×2 = 24 - 14 = 10</code> となり、MDETERM関数の結果と一致していますね。</p>



<p class="wp-block-paragraph">行列式が0でないので、この行列には逆行列が存在することもわかります。</p>



<h3 class="wp-block-heading"><span id="toc7">3&#215;3行列の行列式を求める</span></h3>



<p class="wp-block-paragraph">3&#215;3行列でも使い方は同じです。</p>



<p class="wp-block-paragraph">セルB2:D4に以下の行列が入力されている場合を考えます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>B</th><th>C</th><th>D</th></tr></thead><tbody><tr><td>2</td><td>3</td><td>6</td><td>1</td></tr><tr><td>3</td><td>1</td><td>1</td><td>0</td></tr><tr><td>4</td><td>3</td><td>10</td><td>2</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">次の数式を入力します。</p>



<pre class="wp-block-code"><code>=MDETERM(B2:D4)</code></pre>



<p class="wp-block-paragraph">結果は <strong>1</strong> になります。</p>



<p class="wp-block-paragraph">3&#215;3以上の行列式の手計算は複雑になりますが、MDETERM関数なら一瞬で結果が出ます。手計算での検算方法を知りたい方のために補足すると、3&#215;3行列では「サラスの公式」を使って次のように展開します。</p>



<pre class="wp-block-code"><code>行列式 = a(ei-fh) - b(di-fg) + c(dh-eg)</code></pre>



<p class="wp-block-paragraph">上の例に当てはめると <code>3(1×2-0×10) - 6(1×2-0×3) + 1(1×10-1×3) = 6 - 12 + 7 = 1</code> となります。</p>



<h3 class="wp-block-heading"><span id="toc8">配列定数を直接指定する</span></h3>



<p class="wp-block-paragraph">セル範囲を使わず、数式の中に配列定数を直接書くこともできます。</p>



<pre class="wp-block-code"><code>=MDETERM({3,6;1,1})</code></pre>



<p class="wp-block-paragraph">結果は <strong>-3</strong> になります（3×1 &#8211; 6×1 = -3）。</p>



<p class="wp-block-paragraph">配列定数では、列の区切りにカンマ（,）、行の区切りにセミコロン（;）を使います。ちょっとした計算の確認には便利ですが、行列が大きくなるとセル範囲で指定する方が見やすくなります。</p>



<h2 class="wp-block-heading"><span id="toc9">実務で役立つ活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc10">逆行列の存在確認に使う</span></h3>



<p class="wp-block-paragraph">MDETERM関数の最も実務的な使い道は、<a href="https://mashukabu.com/excel-function-howto-use-minverse/">MINVERSE関数</a>で逆行列を求める前の事前チェックです。</p>



<p class="wp-block-paragraph">逆行列が存在するのは、行列式が0でない場合だけです。行列式が0の行列（特異行列）にMINVERSE関数を使うと <code>#NUM!</code> エラーになってしまいます。事前にMDETERM関数で確認しておくとスムーズです。</p>



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



<ol class="wp-block-list"><li>MDETERM関数で行列式を求める</li></ol>



<pre class="wp-block-code"><code>=MDETERM(B2:D4)</code></pre>



<ol class="wp-block-list"><li>結果が0でなければ、MINVERSE関数で逆行列を求める</li></ol>



<pre class="wp-block-code"><code>=MINVERSE(B2:D4)</code></pre>



<ol class="wp-block-list"><li>結果が0なら、その行列には逆行列が存在しないとわかる</li></ol>



<p class="wp-block-paragraph">IF関数と組み合わせて自動判定する方法もあります。</p>



<pre class="wp-block-code"><code>=IF(MDETERM(B2:D4)=0,&quot;逆行列なし&quot;,&quot;逆行列あり&quot;)</code></pre>



<p class="wp-block-paragraph">このようにMDETERM関数を使えば、エラーを出す前に逆行列の有無を判定できます。</p>



<h3 class="wp-block-heading"><span id="toc11">連立方程式の解の有無を判定する</span></h3>



<p class="wp-block-paragraph">連立方程式を行列で表現したとき、係数行列の行列式が0でなければ「ただ1つの解がある」と判定できます。</p>



<p class="wp-block-paragraph">たとえば、次の連立方程式を考えます。</p>



<pre class="wp-block-code"><code>2x + 3y = 8
4x + 1y = 10</code></pre>



<p class="wp-block-paragraph">係数行列は <code>{2,3;4,1}</code> です。MDETERM関数で行列式を求めます。</p>



<pre class="wp-block-code"><code>=MDETERM({2,3;4,1})</code></pre>



<p class="wp-block-paragraph">結果は <strong>-10</strong>（0ではない）なので、この連立方程式にはただ1つの解が存在します。</p>



<p class="wp-block-paragraph">解が存在することを確認できたら、<a href="https://mashukabu.com/excel-function-howto-use-minverse/">MINVERSE関数とMMULT関数を組み合わせて実際の解を求められます</a>。</p>



<pre class="wp-block-code"><code>=MMULT(MINVERSE(B2:C3),E2:E3)</code></pre>



<p class="wp-block-paragraph">行列式が0の場合は「解なし」または「無数の解がある」ことを意味するので、連立方程式の立て方を見直す必要があります。</p>



<h3 class="wp-block-heading"><span id="toc12">計算結果の検算に使う</span></h3>



<p class="wp-block-paragraph">MINVERSE関数で求めた逆行列が正しいかどうかを検算するのにも、MDETERM関数が役立ちます。</p>



<p class="wp-block-paragraph">正方行列Aの行列式と、その逆行列A^(-1)の行列式の間には次の関係があります。</p>



<pre class="wp-block-code"><code>det(A) × det(A^(-1)) = 1</code></pre>



<p class="wp-block-paragraph">つまり、元の行列と逆行列の行列式を掛け合わせた結果が1（またはほぼ1）になれば、逆行列の計算が正しいと確認できます。</p>



<pre class="wp-block-code"><code>=MDETERM(B2:C3) * MDETERM(MINVERSE(B2:C3))</code></pre>



<p class="wp-block-paragraph">結果が1であれば計算は正確です。浮動小数点の関係で <code>0.9999999999999998</code> のような値になることがありますが、これは誤差の範囲内なので問題ありません。</p>



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



<p class="wp-block-paragraph">MDETERM関数で発生しやすいエラーと、その原因・対処法をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#VALUE!</code></td><td>行数と列数が異なる範囲を指定した</td><td>正方行列（2&#215;2、3&#215;3など）になっているか確認する</td></tr><tr><td><code>#VALUE!</code></td><td>配列内に空白セルや文字列が含まれている</td><td>すべてのセルに数値が入力されているか確認する</td></tr><tr><td>結果が <code>1E-16</code> のような極小値</td><td>浮動小数点演算の誤差（本来0になるべき計算）</td><td>ROUND関数で丸める（例: <code>=ROUND(MDETERM(B2:C3),10)</code>）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーが出たときは、まず指定した範囲が正方形になっているかを確認してください。たとえば2行3列の範囲を指定していないか、途中に空白や文字が混じっていないかをチェックするのがポイントです。</p>



<p class="wp-block-paragraph">浮動小数点の誤差については補足が必要です。MDETERM関数は約16桁の精度で計算を行うため、本来0になるはずの行列式が <code>1E-16</code>（0.0000000000000001）のような極小の値になることがあります。この値を「0ではない」と判断してしまうと、存在しない逆行列を求めようとしてしまいます。</p>



<p class="wp-block-paragraph">実務では、行列式の絶対値が非常に小さい場合（たとえば <code>1E-10</code> 以下）は「実質的に0」として扱うのが安全です。</p>



<pre class="wp-block-code"><code>=IF(ABS(MDETERM(B2:D4))&lt;1E-10,&quot;特異行列（逆行列なし）&quot;,&quot;逆行列あり&quot;)</code></pre>



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



<p class="wp-block-paragraph">MDETERM関数は、Excelで正方行列の行列式を求めるための関数です。</p>



<p class="wp-block-paragraph">この記事のポイントをおさらいしましょう。</p>



<ul class="wp-block-list"><li>MDETERM関数の引数は「配列」の1つだけ。正方行列を指定する</li><li>行列式が0でなければ逆行列が存在し、0なら逆行列は存在しない（特異行列）</li><li>MINVERSE関数で逆行列を求める前の事前チェックに活用できる</li><li>連立方程式の解の有無の判定にも使える</li><li>浮動小数点誤差で <code>1E-16</code> のような極小値が出ることがあるので、ROUND関数やABS関数で対処する</li></ul>



<p class="wp-block-paragraph">行列式の計算は手作業だと3&#215;3以上で煩雑になりますが、MDETERM関数を使えば正確に素早く結果を得られます。<a href="https://mashukabu.com/excel-function-howto-use-minverse/">MINVERSE関数</a>と合わせて、行列計算の業務効率化にぜひ活用してみてください。</p>



<h3 class="wp-block-heading"><span id="toc15">関連する行列関数との使い分け</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th><th>入力</th><th>出力</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mdeterm/">MDETERM</a></td><td>行列式を求める</td><td>正方行列</td><td>数値（スカラー）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-minverse/">MINVERSE</a></td><td>逆行列を求める</td><td>正方行列</td><td>逆行列（配列）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-mmult/">MMULT</a></td><td>行列の積を求める</td><td>2つの行列</td><td>積の行列（配列）</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-transpose/">TRANSPOSE</a></td><td>行と列を入れ替える</td><td>任意の配列</td><td>転置行列（配列）</td></tr></tbody></table></figure>



<ul class="wp-block-list"><li>逆行列が存在するか事前にチェックしたい → <strong>MDETERM</strong></li><li>逆行列を実際に求めたい → <strong>MINVERSE</strong>（事前にMDETERMで確認がおすすめ）</li><li>連立方程式を解きたい → <strong>MINVERSE + MMULT</strong></li><li>行と列を入れ替えたい → <strong>TRANSPOSE</strong></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-mdeterm/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
