<?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>単位行列 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/%e5%8d%98%e4%bd%8d%e8%a1%8c%e5%88%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:35:42 +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>単位行列 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのMUNIT関数の使い方｜単位行列の作成とMMULT・MINVERSEでの活用例</title>
		<link>https://mashukabu.com/excel-function-howto-use-munit/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-munit/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 20 Apr 2026 13:25:47 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MINVERSE関数]]></category>
		<category><![CDATA[MMULT関数]]></category>
		<category><![CDATA[MUNIT関数]]></category>
		<category><![CDATA[単位行列]]></category>
		<category><![CDATA[正方行列]]></category>
		<category><![CDATA[行列計算]]></category>
		<category><![CDATA[配列数式]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6147</guid>

					<description><![CDATA[ExcelのMUNIT関数で単位行列をワンステップで作成する方法を解説します。構文と引数の基本から、2×2・3×3の作成例、MMULT関数での行列積検証、MINVERSE関数で求めた逆行列の検算、連立方程式の解の検算まで実務活用例を紹介。スピルとCSE配列数式の違い、#VALUE!エラーの対処法もわかります。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">MINVERSE関数で逆行列を求めたはいいけど、「本当に正しい結果か確認したい」と思ったことはありませんか？</p>



<p class="wp-block-paragraph">ExcelのMUNIT関数を使えば、単位行列をワンステップで作成できます。MMULT関数と組み合わせることで、逆行列の正確さを簡単に検証できますよ。</p>



<p class="wp-block-paragraph">この記事では、ExcelのMUNIT関数の基本的な使い方から、行列計算の検証・連立方程式の解の確認まで、実務的な活用例を紹介します。スピルとCSE配列数式の入力方法の違いも解説しますので、お使いのExcelのバージョンに合わせて確認してみてください。</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">ExcelのMUNIT関数とは？</a><ol><li><a href="#toc2" tabindex="0">単位行列とは</a></li><li><a href="#toc3" tabindex="0">対応バージョン</a></li></ol></li><li><a href="#toc4" tabindex="0">MUNIT関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の説明</a></li><li><a href="#toc7" tabindex="0">配列数式としての入力方法</a></li></ol></li><li><a href="#toc8" tabindex="0">MUNIT関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">2×2の単位行列を作成する</a></li><li><a href="#toc10" tabindex="0">3×3の単位行列を作成する</a></li><li><a href="#toc11" tabindex="0">大きな次元の単位行列を作成する</a></li></ol></li><li><a href="#toc12" tabindex="0">実務で役立つ活用例</a><ol><li><a href="#toc13" tabindex="0">A × I = A の性質をMMULTで検証する</a></li><li><a href="#toc14" tabindex="0">MINVERSE関数で求めた逆行列を検算する</a></li><li><a href="#toc15" tabindex="0">連立方程式の解を検算する</a></li></ol></li><li><a href="#toc16" tabindex="0">スピルとCSE配列数式</a><ol><li><a href="#toc17" tabindex="0">スピル対応（Microsoft 365 / Excel 2021以降）</a></li><li><a href="#toc18" tabindex="0">CSE配列数式（Excel 2019以前）</a></li></ol></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">引数が1以下のとき（#VALUE!エラー）</a></li><li><a href="#toc21" tabindex="0">引数が文字列のとき（#VALUE!エラー）</a></li><li><a href="#toc22" tabindex="0">スピル先のセルが埋まっているとき（#SPILL!エラー）</a></li></ol></li><li><a href="#toc23" tabindex="0">関連する行列関数との使い分け</a></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">ExcelのMUNIT関数（読み方: ムユニット関数）は、<strong>指定したサイズの単位行列（たんいぎょうれつ）を返す関数</strong>です。</p>



<p class="wp-block-paragraph">「MUNIT」は「Matrix Unit（行列の単位）」を縮めた名前です。</p>



<h3 class="wp-block-heading"><span id="toc2">単位行列とは</span></h3>



<p class="wp-block-paragraph">単位行列とは、<strong>対角線の要素がすべて1で、それ以外の要素がすべて0の正方行列</strong>のことです。</p>



<p class="wp-block-paragraph">3×3の単位行列だと、こんな形になります。</p>



<pre class="wp-block-code"><code>1  0  0
0  1  0
0  0  1</code></pre>



<p class="wp-block-paragraph">掛け算の「1」と同じ役割を行列の世界で担っています。どんな行列Aに対しても「A × I = A」（Iが単位行列）が成り立つんですね。</p>



<p class="wp-block-paragraph">この性質のおかげで、行列計算の検証に欠かせない存在です。</p>



<h3 class="wp-block-heading"><span id="toc3">対応バージョン</span></h3>



<p class="wp-block-paragraph">MUNIT関数はExcel 2013以降で使えます。Microsoft 365・Excel 2024・Excel 2021・Excel 2019・Excel 2016・Excel 2013に対応しています。</p>



<p class="wp-block-paragraph">Excel 2010以前では使えないので注意してください。</p>



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



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



<pre class="wp-block-code"><code>=MUNIT(次元数)</code></pre>



<p class="wp-block-paragraph">カッコの中に、作りたい行列のサイズ（行数＝列数）を整数で入力します。</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>作成する正方行列のサイズ。2以上の正の整数を指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけで、シンプルな構文です。</p>



<h3 class="wp-block-heading"><span id="toc7">配列数式としての入力方法</span></h3>



<p class="wp-block-paragraph">MUNIT関数は複数のセルに結果を返す「配列関数」です。入力方法がExcelのバージョンによって異なります。</p>



<p class="wp-block-paragraph"><strong>Microsoft 365・Excel 2021以降（スピル対応）</strong></p>



<p class="wp-block-paragraph">先頭セルに入力するだけで、必要な範囲に自動で展開されます。</p>



<pre class="wp-block-code"><code>=MUNIT(3)</code></pre>



<p class="wp-block-paragraph">A1セルに入力すると、A1〜C3の3×3範囲に自動展開（スピル）されます。</p>



<p class="wp-block-paragraph"><strong>Excel 2019以前（CSE配列数式）</strong></p>



<p class="wp-block-paragraph">結果を表示したい範囲（3×3なら9セル）を先に選択してから、数式を入力してCtrl+Shift+Enterで確定します。</p>



<ol class="wp-block-list"><li>A1〜C3の9セルを選択</li><li><code>=MUNIT(3)</code> と入力</li><li><strong>Ctrl+Shift+Enter</strong>で確定</li></ol>



<p class="wp-block-paragraph">数式バーに <code>{=MUNIT(3)}</code> のように波カッコがつけば成功です。</p>



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



<h3 class="wp-block-heading"><span id="toc9">2×2の単位行列を作成する</span></h3>



<pre class="wp-block-code"><code>=MUNIT(2)</code></pre>



<p class="wp-block-paragraph">スピル対応Excelなら、左上のセルに入力するだけで次の行列が展開されます。</p>



<pre class="wp-block-code"><code>1  0
0  1</code></pre>



<h3 class="wp-block-heading"><span id="toc10">3×3の単位行列を作成する</span></h3>



<pre class="wp-block-code"><code>=MUNIT(3)</code></pre>



<p class="wp-block-paragraph">結果として次の行列が展開されます。</p>



<pre class="wp-block-code"><code>1  0  0
0  1  0
0  0  1</code></pre>



<h3 class="wp-block-heading"><span id="toc11">大きな次元の単位行列を作成する</span></h3>



<pre class="wp-block-code"><code>=MUNIT(5)</code></pre>



<p class="wp-block-paragraph">5×5（25セル）の単位行列が展開されます。大きなサイズでも引数を変えるだけなので便利ですよ。</p>



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



<h3 class="wp-block-heading"><span id="toc13">A × I = A の性質をMMULTで検証する</span></h3>



<p class="wp-block-paragraph">行列Aに単位行列Iを掛けると、Aがそのまま返ることを確認してみましょう。</p>



<p class="wp-block-paragraph">次の2×2行列Aがセル範囲A1:B2に入っているとします。</p>



<pre class="wp-block-code"><code>2  3
1  4</code></pre>



<p class="wp-block-paragraph">単位行列IをD1:E2に用意します。</p>



<pre class="wp-block-code"><code>=MUNIT(2)</code></pre>



<p class="wp-block-paragraph">そして、AとIの積をG1:H2に求めます。</p>



<pre class="wp-block-code"><code>=MMULT(A1:B2, D1:E2)</code></pre>



<p class="wp-block-paragraph">結果は元のAと同じになります。</p>



<pre class="wp-block-code"><code>2  3
1  4</code></pre>



<p class="wp-block-paragraph">「行列に単位行列を掛けても変わらない」という性質が確認できましたね。これは行列計算の基本チェックとして使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc14">MINVERSE関数で求めた逆行列を検算する</span></h3>



<p class="wp-block-paragraph">逆行列の正確さを確認するのに、MUNIT関数は特に役立ちます。</p>



<p class="wp-block-paragraph">行列A（A1:B2）の逆行列をMINVERSEで求め、それをAに掛けた結果が単位行列になるか確認しましょう。</p>



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



<p class="wp-block-paragraph">正しく計算できていれば、単位行列（対角が1、それ以外が0）が返ります。</p>



<p class="wp-block-paragraph">MUNIT関数で生成した単位行列と比較することで、計算結果が一致しているか目視で確認できます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>浮動小数点演算の影響で、0が「9.99E-17」などの非常に小さな数として表示されることがあります。これは計算上の誤差で正常な動作です。ROUND(結果, 10) のように丸めて比較するとすっきりします。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc15">連立方程式の解を検算する</span></h3>



<p class="wp-block-paragraph">連立方程式を行列で解いた後、解が正しいかMUNIT関数を使って確認できます。</p>



<p class="wp-block-paragraph">連立方程式の解は <code>X = A⁻¹ × B</code>（Aが係数行列、Bが定数ベクトル）で求まります。</p>



<p class="wp-block-paragraph">解Xが正しければ、<code>A × X = B</code> が成り立つはずです。MINVERSEとMMULTで求めた解をAに掛けて、元のBと一致するか確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc16">スピルとCSE配列数式</span></h2>



<h3 class="wp-block-heading"><span id="toc17">スピル対応（Microsoft 365 / Excel 2021以降）</span></h3>



<p class="wp-block-paragraph">スピル対応のExcelでは、MUNIT関数を先頭セルに入力するだけで、必要な範囲に自動展開されます。</p>



<ul class="wp-block-list"><li>先頭セルだけを選択して入力</li><li>Enterで確定（Ctrl+Shift+Enterは不要）</li><li>スピル範囲は自動調整される</li></ul>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>スピル範囲に他のデータが入っていると「#SPILL!」エラーが出ます。出力先のセル範囲を空にしておきましょう。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc18">CSE配列数式（Excel 2019以前）</span></h3>



<p class="wp-block-paragraph">スピル非対応のExcelでは、出力したい範囲を先に選択してからCtrl+Shift+Enterで確定します。</p>



<ol class="wp-block-list"><li>出力先のセル範囲（例: 3×3なら9セル）を先に選択</li><li>数式バーに <code>=MUNIT(3)</code> と入力</li><li><strong>Ctrl+Shift+Enter</strong>で確定</li><li>数式バーに <code>{=MUNIT(3)}</code> と表示されれば成功</li></ol>



<p class="wp-block-paragraph">CSE配列数式として確定した後、個別のセルを編集することはできません。修正するときは範囲全体を選択して再入力します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#VALUE!</td><td>引数が数値でない、または1以下の整数</td><td>2以上の正の整数を指定する</td></tr><tr><td>#NUM!</td><td>引数が非常に大きい、または0以下</td><td>現実的なサイズ（50以下推奨）を指定する</td></tr><tr><td>#SPILL!</td><td>出力先のセルに別のデータがある</td><td>出力先の範囲を空にする（Microsoft 365/2021以降）</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc20">引数が1以下のとき（#VALUE!エラー）</span></h3>



<pre class="wp-block-code"><code>=MUNIT(1)</code></pre>



<p class="wp-block-paragraph">1×1の単位行列は「1」のスカラーになりますが、Excelでは#VALUE!エラーが返ることがあります。引数は2以上を指定してください。</p>



<h3 class="wp-block-heading"><span id="toc21">引数が文字列のとき（#VALUE!エラー）</span></h3>



<pre class="wp-block-code"><code>=MUNIT(&quot;3&quot;)</code></pre>



<p class="wp-block-paragraph">引数には文字列を使えません。セル参照を使う場合は、参照先が数値かどうか確認してみてください。</p>



<h3 class="wp-block-heading"><span id="toc22">スピル先のセルが埋まっているとき（#SPILL!エラー）</span></h3>



<p class="wp-block-paragraph">スピル対応Excelで出力先のセル範囲に別のデータが入っていると#SPILL!エラーになります。MUNIT(3)なら3×3の9セル分を空けておきましょう。</p>



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



<p class="wp-block-paragraph">行列を扱うExcel関数を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>動作</th><th>主な用途</th></tr></thead><tbody><tr><td><strong>MUNIT</strong></td><td><strong>単位行列を返す</strong></td><td><strong>行列計算の検証・逆行列の確認</strong></td></tr><tr><td>MMULT</td><td>行列の積を返す</td><td>行列の掛け算</td></tr><tr><td>MINVERSE</td><td>逆行列を返す</td><td>連立方程式を解く</td></tr><tr><td>MDETERM</td><td>行列式（スカラー）を返す</td><td>行列が正則かどうか判定</td></tr><tr><td>TRANSPOSE</td><td>転置行列を返す</td><td>行・列を入れ替える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">MUNIT関数は単独で使うより、<strong>MMULT・MINVERSEと組み合わせて「計算結果の検証」に使う</strong>場面が多いです。</p>



<p class="wp-block-paragraph">各関数の使い方は以下の記事で詳しく解説しています。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-mmult/">ExcelのMMULT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-minverse/">ExcelのMINVERSE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-mdeterm/">ExcelのMDETERM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-transpose/">ExcelのTRANSPOSE関数の使い方</a></li></ul>



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



<p class="wp-block-paragraph">ExcelのMUNIT関数は、指定したサイズの単位行列をワンステップで作成できる関数です。</p>



<p class="wp-block-paragraph">この記事のポイントをまとめると、次のとおりです。</p>



<ul class="wp-block-list"><li>基本構文は <code>=MUNIT(次元数)</code> で、作りたい正方行列のサイズを整数で指定する</li><li>Microsoft 365・Excel 2021以降はスピルで自動展開。Excel 2019以前はCtrl+Shift+Enterで確定</li><li>A × I = Aの性質検証や、MINVERSEの逆行列検算に組み合わせて使う</li><li>引数は2以上の正の整数が必要。1以下や文字列は#VALUE!エラーになる</li><li>浮動小数点誤差で0が微小値になる場合はROUNDで丸めて比較する</li></ul>



<p class="wp-block-paragraph">行列計算をExcelで扱うときは、MMULT・MINVERSEと組み合わせてMUNIT関数で検算する習慣をつけると、計算ミスを早めに発見できますよ。</p>



<p class="wp-block-paragraph">スプレッドシートでも同じ関数が使えます。Googleスプレッドシート版の使い方は<a href="https://mashukabu.com/spreadsheet-munit-function/">スプレッドシートのMUNIT関数の使い方</a>で紹介しています。</p>



<p class="wp-block-paragraph">行列関数のシリーズ記事もあわせてご参考にどうぞ。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-mmult/">ExcelのMMULT関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-minverse/">ExcelのMINVERSE関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-mdeterm/">ExcelのMDETERM関数の使い方</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-transpose/">ExcelのTRANSPOSE関数の使い方</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-munit/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのMUNIT関数の使い方｜単位行列を一発作成して逆行列検証に活用</title>
		<link>https://mashukabu.com/spreadsheet-munit-function/</link>
					<comments>https://mashukabu.com/spreadsheet-munit-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 11:43:55 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[MINVERSE関数]]></category>
		<category><![CDATA[MMULT関数]]></category>
		<category><![CDATA[MUNIT関数]]></category>
		<category><![CDATA[単位行列]]></category>
		<category><![CDATA[正方行列]]></category>
		<category><![CDATA[行列計算]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=5287</guid>

					<description><![CDATA[スプレッドシートのMUNIT関数で単位行列を作成する方法を解説。2×2・3×3の作成例、MMULT関数で性質検証（A×I=A）、MINVERSE関数の逆行列確認、浮動小数点誤差の対処法、Excel版との違いまで網羅します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">スプレッドシートで行列計算をしていると、「単位行列」が必要になる場面がありますよね。MINVERSE関数で求めた逆行列が本当に正しいのか、MMULT関数の検算をしたいときなど、対角線に1を並べた行列を手で作るのは地味に面倒です。</p>



<p class="wp-block-paragraph">MUNIT関数を使えば、指定した次元の単位行列をワンステップで作成できます。MMULT関数やMINVERSE関数と組み合わせることで、行列演算の検証や連立方程式の解法でも活躍する関数です。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのMUNIT関数の基本から、浮動小数点誤差の対処、Excel版との違いまで、実務で使える形で解説します。</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">スプレッドシートのMUNIT関数とは？</a><ol><li><a href="#toc2" tabindex="0">なぜ実務で単位行列が必要なのか</a></li></ol></li><li><a href="#toc3" tabindex="0">MUNIT関数の書式と引数</a><ol><li><a href="#toc4" tabindex="0">基本構文</a></li><li><a href="#toc5" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc6" tabindex="0">MUNIT関数で単位行列を作成する基本手順</a><ol><li><a href="#toc7" tabindex="0">2×2の単位行列を作成する</a></li><li><a href="#toc8" tabindex="0">3×3の単位行列を作成する</a></li><li><a href="#toc9" tabindex="0">N×Nの単位行列を可変サイズで作成する</a></li></ol></li><li><a href="#toc10" tabindex="0">MUNIT関数の実践的な活用例</a><ol><li><a href="#toc11" tabindex="0">A × I = A の性質を検証する（右からかける）</a></li><li><a href="#toc12" tabindex="0">I × A = A の性質も検証する（左からかける）</a></li><li><a href="#toc13" tabindex="0">MINVERSE関数で求めた逆行列を検証する</a></li><li><a href="#toc14" tabindex="0">3×3行列の逆行列を検証する</a></li></ol></li><li><a href="#toc15" tabindex="0">浮動小数点誤差への対処法</a><ol><li><a href="#toc16" tabindex="0">ROUND関数で丸める</a></li><li><a href="#toc17" tabindex="0">IFERRORと組み合わせる</a></li></ol></li><li><a href="#toc18" tabindex="0">ExcelのMUNIT関数との違い</a></li><li><a href="#toc19" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc21" tabindex="0">#REF! エラー</a></li><li><a href="#toc22" tabindex="0">エラーまとめ表</a></li></ol></li><li><a href="#toc23" tabindex="0">関連する行列関数との使い分け</a></li><li><a href="#toc24" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートのMUNIT関数とは？</span></h2>



<p class="wp-block-paragraph">MUNIT関数は、指定した次元の<strong>単位行列（identity matrix）</strong>を返す関数です。</p>



<p class="wp-block-paragraph">読み方は「<strong>マトリックス ユニット</strong>」です。「Matrix」は行列、「Unit」は単位を意味しており、関数名は「Matrix Unit（行列の単位元）」に由来します。</p>



<p class="wp-block-paragraph">単位行列とは、対角線上の要素がすべて1で、それ以外の要素がすべて0の正方行列のことです。たとえば3×3の単位行列は次のような形になります。</p>



<pre class="wp-block-code"><code>1  0  0
0  1  0
0  0  1</code></pre>



<p class="wp-block-paragraph">数学では「I」や「E」と表記されることが多く、掛け算における「1」のような存在です。どんな行列に単位行列をかけても、元の行列がそのまま返ってきます。</p>



<h3 class="wp-block-heading"><span id="toc2">なぜ実務で単位行列が必要なのか</span></h3>



<p class="wp-block-paragraph">「対角線に1を並べた行列なんて何に使うの？」と感じるかもしれません。実務でMUNIT関数が活躍するシーンは、主に次の3つです。</p>



<ol class="wp-block-list"><li><strong>逆行列の検証</strong>: MINVERSE関数で求めた逆行列が正しいかをチェックする（<code>A × A⁻¹ = I</code> の関係）</li><li><strong>連立方程式の解法</strong>: ガウス・ジョルダン消去法では拡大係数行列を単位行列の形に変形して解を求める</li><li><strong>反復計算の初期値</strong>: ヤコビ法などの数値計算で初期推定値として使う</li></ol>



<p class="wp-block-paragraph">特に1つ目の「逆行列の検証」は、財務モデリングや回帰分析、座標変換など、逆行列を多用する場面で重宝します。</p>



<h2 class="wp-block-heading"><span id="toc3">MUNIT関数の書式と引数</span></h2>



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



<pre class="wp-block-code"><code>=MUNIT(次元)</code></pre>



<h3 class="wp-block-heading"><span id="toc5">引数の説明</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>単位行列のサイズ（正の整数）。3を指定すると3×3の単位行列を返す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数は1つだけなので、覚えやすいですね。</p>



<p class="wp-block-paragraph">MUNIT関数は結果を配列（N×N行列）として返します。Googleスプレッドシートでは、出力先のセル範囲に自動的に展開（スピル）されますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>スピル先のセルにすでに値が入っていると <code>#REF!</code> エラーになります。出力先となる N×N の範囲は事前に空けておきましょう。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc6">MUNIT関数で単位行列を作成する基本手順</span></h2>



<h3 class="wp-block-heading"><span id="toc7">2×2の単位行列を作成する</span></h3>



<p class="wp-block-paragraph">まずは最もシンプルな2×2の単位行列を作ってみましょう。</p>



<p class="wp-block-paragraph">任意のセル（例: A1）に次の数式を入力します。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/01_formula_munit-basic.png" alt="01 formula munit basic" /></figure>



<pre class="wp-block-code"><code>=MUNIT(2)</code></pre>



<p class="wp-block-paragraph">A1:B2に以下の単位行列が表示されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>0</td></tr><tr><td>2</td><td>0</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">対角線上（左上から右下）が1で、それ以外が0になっていますね。</p>



<h3 class="wp-block-heading"><span id="toc8">3×3の単位行列を作成する</span></h3>



<p class="wp-block-paragraph">次に3×3の単位行列を作成してみましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/02_result_munit-3x3-1.png" alt="02 result munit 3x3" /></figure>



<pre class="wp-block-code"><code>=MUNIT(3)</code></pre>



<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></tr></thead><tbody><tr><td>1</td><td>1</td><td>0</td><td>0</td></tr><tr><td>2</td><td>0</td><td>1</td><td>0</td></tr><tr><td>3</td><td>0</td><td>0</td><td>1</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc9">N×Nの単位行列を可変サイズで作成する</span></h3>



<p class="wp-block-paragraph">サイズを別セルから参照することで、可変サイズの単位行列も作成できます。たとえばセルA1に次元の値を入れて、セルC1に次の数式を入力します。</p>



<pre class="wp-block-code"><code>=MUNIT(A1)</code></pre>



<p class="wp-block-paragraph">A1の値を変更すれば、自動的に対応するサイズの単位行列が生成されます。シミュレーションや動的なレポートで便利ですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>引数に小数を渡すと <code>#NUM!</code> エラーになることがあります。可変サイズで運用する場合は <code>=MUNIT(INT(A1))</code> のようにINT関数で整数に丸めておくと安全です。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc10">MUNIT関数の実践的な活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc11">A × I = A の性質を検証する（右からかける）</span></h3>



<p class="wp-block-paragraph">単位行列には「どんな行列にかけても元の行列が変わらない」という性質があります。数式で書くと <code>A × I = A</code> です。</p>



<p class="wp-block-paragraph">この性質を<a href="https://mashukabu.com/spreadsheet-mmult-function/">MMULT関数</a>で確認してみましょう。</p>



<p class="wp-block-paragraph">セルA1:B2に以下の行列Aが入っているとします。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>A</th><th>B</th></tr></thead><tbody><tr><td>1</td><td>3</td><td>5</td></tr><tr><td>2</td><td>2</td><td>7</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">セルD1に2×2の単位行列を生成します。</p>



<pre class="wp-block-code"><code>=MUNIT(2)</code></pre>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>D</th><th>E</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>0</td></tr><tr><td>2</td><td>0</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">行列Aと単位行列の積をMMULT関数で計算します。</p>



<pre class="wp-block-code"><code>=MMULT(A1:B2, D1:E2)</code></pre>



<p class="wp-block-paragraph">結果は以下のとおりです。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/03_result_mmult-identity.png" alt="03 result mmult identity" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>G</th><th>H</th></tr></thead><tbody><tr><td>1</td><td>3</td><td>5</td></tr><tr><td>2</td><td>2</td><td>7</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">元の行列Aとまったく同じ結果になりました。単位行列をかけても行列が変わらないことが確認できましたね。</p>



<h3 class="wp-block-heading"><span id="toc12">I × A = A の性質も検証する（左からかける）</span></h3>



<p class="wp-block-paragraph">行列の積は順序が重要ですが、単位行列に限っては左右どちらからかけても結果が変わりません。<code>I × A = A</code> の関係を確認してみましょう。</p>



<pre class="wp-block-code"><code>=MMULT(D1:E2, A1:B2)</code></pre>



<p class="wp-block-paragraph">結果は以下のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>J</th><th>K</th></tr></thead><tbody><tr><td>1</td><td>3</td><td>5</td></tr><tr><td>2</td><td>2</td><td>7</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">左右どちらからかけても元の行列Aと同じ結果になりました。これが単位行列が「乗算の単位元」と呼ばれる理由です。</p>



<h3 class="wp-block-heading"><span id="toc13">MINVERSE関数で求めた逆行列を検証する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-minverse-function/">MINVERSE関数</a>で求めた逆行列が正しいかどうかを検証できます。元の行列と逆行列の積は、必ず単位行列になるという性質を使います。</p>



<p class="wp-block-paragraph">数式で書くと <code>A × A⁻¹ = I</code>（単位行列）です。</p>



<p class="wp-block-paragraph">セルA1:B2に以下の行列Aが入っているとします。</p>



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



<p class="wp-block-paragraph">まず、MINVERSE関数で逆行列を求めます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>D</th><th>E</th></tr></thead><tbody><tr><td>1</td><td>0.6</td><td>-0.7</td></tr><tr><td>2</td><td>-0.2</td><td>0.4</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">次に、元の行列と逆行列の積をMMULT関数で計算します。</p>



<pre class="wp-block-code"><code>=MMULT(A1:B2, D1:E2)</code></pre>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/04_result_minverse-verify.png" alt="04 result minverse verify" /></figure>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>G</th><th>H</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>0</td></tr><tr><td>2</td><td>0</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">結果が単位行列になりました。<code>MUNIT(2)</code> の結果と比較すれば、逆行列の計算が正しいことを確認できます。</p>



<h3 class="wp-block-heading"><span id="toc14">3×3行列の逆行列を検証する</span></h3>



<p class="wp-block-paragraph">2×2だけでなく、3×3以上の行列でも同じ手順で検証できます。セルA1:C3に次の行列Aが入っているとします。</p>



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



<p class="wp-block-paragraph">逆行列をMINVERSE関数で求め、元の行列と掛け合わせます。</p>



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



<p class="wp-block-paragraph">理論上の結果は <code>MUNIT(3)</code> と一致します。実際の出力は次のセクションで触れる浮動小数点誤差の影響で、わずかなズレが出ることがあります。</p>



<h2 class="wp-block-heading"><span id="toc15">浮動小数点誤差への対処法</span></h2>



<p class="wp-block-paragraph">行列計算では、本来0であるべき要素に <code>2.22E-16</code> のような極小の数値が表示されることがあります。これは<strong>浮動小数点演算の精度限界</strong>によるもので、コンピュータの計算では避けられない誤差です。</p>



<p class="wp-block-paragraph">たとえば、先ほどの3×3の検証結果が次のように表示されることがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>&nbsp;</th><th>G</th><th>H</th><th>I</th></tr></thead><tbody><tr><td>1</td><td>1</td><td>0</td><td>4.44E-16</td></tr><tr><td>2</td><td>-2.22E-16</td><td>1</td><td>0</td></tr><tr><td>3</td><td>0</td><td>8.88E-16</td><td>1</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">数学的にはすべて0または1ですが、計算過程で生じた微小な誤差が残っています。</p>



<h3 class="wp-block-heading"><span id="toc16">ROUND関数で丸める</span></h3>



<p class="wp-block-paragraph">最もシンプルな対処は、ROUND関数で適切な桁に丸める方法です。</p>



<pre class="wp-block-code"><code>=ROUND(MMULT(A1:C3, MINVERSE(A1:C3)), 10)</code></pre>



<p class="wp-block-paragraph">第2引数の <code>10</code> は「小数点以下10桁で丸める」という意味です。これで <code>4.44E-16</code> のような微小値は0として扱われ、見た目もきれいな単位行列になります。</p>



<h3 class="wp-block-heading"><span id="toc17">IFERRORと組み合わせる</span></h3>



<p class="wp-block-paragraph">逆行列が存在しない（行列式が0の）場合は <code>#NUM!</code> エラーが発生します。検証用の数式ではIFERRORでラップしておくと、エラー発生時にもシートが崩れません。</p>



<pre class="wp-block-code"><code>=IFERROR(ROUND(MMULT(A1:C3, MINVERSE(A1:C3)), 10), &quot;逆行列なし&quot;)</code></pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p><a href="https://mashukabu.com/spreadsheet-mdeterm-function/">MDETERM関数</a>で行列式を確認すれば、逆行列が存在するかを事前にチェックできます。行列式が0でなければ逆行列が存在します。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc18">ExcelのMUNIT関数との違い</span></h2>



<p class="wp-block-paragraph">MUNIT関数はExcelにも同名の関数があり、基本的な機能は共通です。ただし、動作にはいくつか違いがあります。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>Googleスプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>構文</td><td><code>=MUNIT(次元)</code></td><td><code>=MUNIT(次元)</code>（同じ）</td></tr><tr><td>スピル動作</td><td>常に自動展開</td><td>Excel 365 / 2021以降は自動展開、2019以前はCtrl+Shift+Enterの配列数式</td></tr><tr><td>上限次元</td><td>実用上は数百次元まで</td><td>実用上は数百次元まで</td></tr><tr><td>戻り値</td><td>N×N配列</td><td>N×N配列（同じ）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Googleスプレッドシートは常にスピル動作するので、配列数式を意識する必要がありません。Excelから移行してきた人は、Ctrl+Shift+Enterを押さなくても動く点を覚えておくとよいですよ。</p>



<p class="wp-block-paragraph">ExcelのMUNIT関数の詳細は <a href="https://mashukabu.com/excel-function-howto-use-munit/">ExcelのMUNIT関数の使い方</a> を参照してください。</p>



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



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



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーは、引数に正の整数以外を指定した場合に発生します。</p>



<pre class="wp-block-code"><code>=MUNIT(0)    → #NUM!（0は不可）
=MUNIT(-1)   → #NUM!（負の数は不可）
=MUNIT(&quot;A&quot;)  → #VALUE!（文字列は不可）</code></pre>



<p class="wp-block-paragraph">引数には1以上の整数を指定してください。</p>



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



<p class="wp-block-paragraph"><code>#REF!</code> エラーは、スピル先のセルにすでに値が入っている場合に発生します。</p>



<pre class="wp-block-code"><code>=MUNIT(3)    → 出力先の3×3範囲に値があると #REF!</code></pre>



<p class="wp-block-paragraph">出力先となる N×N の範囲を事前に空けるか、別の場所に数式を移動してください。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_error_munit-errors.png" alt="05 error munit errors" /></figure>



<h3 class="wp-block-heading"><span id="toc22">エラーまとめ表</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NUM!</code></td><td>引数が0または負の数</td><td>1以上の正の整数を指定する</td></tr><tr><td><code>#VALUE!</code></td><td>引数が文字列</td><td>数値を指定する</td></tr><tr><td><code>#REF!</code></td><td>スピル先のセルが埋まっている</td><td>出力先のセル範囲を空ける</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">スプレッドシートには、MUNIT関数以外にも行列計算に使える関数があります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>用途</th></tr></thead><tbody><tr><td>MUNIT</td><td>単位行列を返す</td><td>行列演算の検証、初期値の設定</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mmult-function/">MMULT</a></td><td>行列の積を返す</td><td>座標変換、重み付き合計の一括計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-minverse-function/">MINVERSE</a></td><td>逆行列を返す</td><td>連立方程式を解く、変換行列の逆変換</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-mdeterm-function/">MDETERM</a></td><td>行列式を返す</td><td>逆行列の存在判定、連立方程式の解の判定</td></tr><tr><td>TRANSPOSE</td><td>転置行列を返す</td><td>行と列を入れ替える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">MUNIT関数は単独で使うよりも、他の行列関数と組み合わせて活躍する関数です。次のような流れで使い分けると整理しやすいですよ。</p>



<ol class="wp-block-list"><li>逆行列を求める前に、MDETERM関数で行列式が0でないか確認</li><li>MINVERSE関数で逆行列を計算</li><li>MMULT関数で元の行列と逆行列の積を取り、MUNIT関数の結果と比較して検証</li></ol>



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



<p class="wp-block-paragraph">スプレッドシートのMUNIT関数は、指定した次元の単位行列を一発で作成する関数です。</p>



<ul class="wp-block-list"><li>構文は <code>=MUNIT(次元)</code> で、引数は正の整数を1つだけ</li><li>結果はN×N行列として自動でスピル展開される</li><li>単位行列の性質: どんな行列にかけても元の行列が変わらない（<code>A × I = I × A = A</code>）</li><li>MINVERSE関数の検証: <code>A × A⁻¹</code> が単位行列になるか確認できる</li><li>浮動小数点誤差はROUND関数で丸めて対処</li><li>引数に0・負の数・文字列を指定するとエラーになる</li></ul>



<p class="wp-block-paragraph">行列計算の検証用として、MMULT関数やMINVERSE関数と一緒に覚えておくと、逆行列の確認や連立方程式の解法で大きな武器になります。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-munit-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
