<?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/%E8%99%9A%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:25: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>虚数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのCOMPLEX関数の使い方｜実数と虚数から計算できる複素数を作成する</title>
		<link>https://mashukabu.com/spreadsheet-complex-function/</link>
					<comments>https://mashukabu.com/spreadsheet-complex-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:11 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[COMPLEX]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[虚数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6303</guid>

					<description><![CDATA[GoogleスプレッドシートのCOMPLEX関数の使い方を解説。実数と虚数から計算できる複素数（a+bi形式）を作成する基本構文、虚数単位「i」「j」の使い分け、IMABS・IMREAL・IMAGINARY・IMSUMなどIM系関数との連携、電気工学のインピーダンス計算への応用、よくあるエラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで複素数（3+4iのような数）を扱いたいのに、入力するとただのテキストになってしまう&#8230;」</p>



<p class="wp-block-paragraph">電気回路のインピーダンスや信号処理の数式をシートで組んでいると、複素数を計算できる形で持ちたい場面がありますよね。セルに「3+4i」と入力しても、それは文字列扱いです。そのままでは四則演算に使えません。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがGoogleスプレッドシートのCOMPLEX関数です。実数部と虚数部を引数に渡すだけで、IM系関数（複素数演算用の関数群）で計算可能な複素数を作れますよ。</p>



<p class="wp-block-paragraph">しかもExcelのCOMPLEX関数と完全互換です。Excelファイルとやり取りする現場でも安心して使えますね。複素数の四則演算や絶対値の算出、共役複素数の生成などにつなげていけば、エンジニアリング系のシートが一気に楽になります。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのCOMPLEX関数の基本構文から虚数単位の指定方法まで解説します。IMABSやIMSUMなどIM系関数との組み合わせ、よくあるエラーと対処法にも触れていきますよ。</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">スプレッドシートのCOMPLEX関数とは？</a></li><li><a href="#toc2" tabindex="0">COMPLEX関数の書き方（構文と引数）</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">COMPLEX関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">値を直接指定して複素数を作成する</a></li><li><a href="#toc7" tabindex="0">セル参照で実数部と虚数部を指定する</a></li><li><a href="#toc8" tabindex="0">特殊なケースの動作パターン</a></li><li><a href="#toc9" tabindex="0">ARRAYFORMULAで複数行を一括変換する</a></li></ol></li><li><a href="#toc10" tabindex="0">COMPLEX関数とIM系関数の連携実例</a><ol><li><a href="#toc11" tabindex="0">複素数の絶対値を求める（IMABS関数）</a></li><li><a href="#toc12" tabindex="0">実数部と虚数部を取り出す（IMREAL関数・IMAGINARY関数）</a></li><li><a href="#toc13" tabindex="0">複素数の四則演算（IMSUM・IMSUB・IMPRODUCT・IMDIV）</a></li><li><a href="#toc14" tabindex="0">共役複素数を作る（IMCONJUGATE関数）</a></li><li><a href="#toc15" tabindex="0">偏角を求める（IMARGUMENT関数）</a></li></ol></li><li><a href="#toc16" tabindex="0">COMPLEX関数の実務活用例｜電気工学のインピーダンス計算</a><ol><li><a href="#toc17" tabindex="0">各素子のインピーダンス</a></li><li><a href="#toc18" tabindex="0">シートでの計算手順</a></li><li><a href="#toc19" tabindex="0">信号処理での活用</a></li></ol></li><li><a href="#toc20" tabindex="0">COMPLEX関数とExcelの互換性</a></li><li><a href="#toc21" tabindex="0">COMPLEX関数のよくあるエラーと対処法</a><ol><li><a href="#toc22" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc23" tabindex="0">#NUM! エラー</a></li><li><a href="#toc24" tabindex="0">#N/A エラー</a></li><li><a href="#toc25" tabindex="0">通常の四則演算でエラーになる</a></li><li><a href="#toc26" tabindex="0">IFERRORでエラーを吸収する</a></li></ol></li><li><a href="#toc27" tabindex="0">複素数関連の関数早見表</a></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">GoogleスプレッドシートのCOMPLEX関数（コンプレックス関数）は、実数と虚数から複素数を作成する関数です。エンジニアリング関数（電気・物理・工学系の計算で使う関数群）のひとつに分類されますよ。</p>



<p class="wp-block-paragraph">返ってくる結果は「3+4i」のような文字列形式の複素数です。文字列ですが、IMSUM・IMABS・IMREALといったIM系関数に渡せばそのまま計算に使えます。</p>



<p class="wp-block-paragraph">そもそも複素数とは「a+bi」の形で表される数のことです。aが実数部、bが虚数部、iは虚数単位（2乗すると-1になる仮想的な数）を表します。電気工学のインピーダンス計算や、信号処理のフーリエ変換などでよく登場しますね。</p>



<p class="wp-block-paragraph">スプレッドシートで複素数を扱うときは、まずCOMPLEX関数で「計算できる複素数」を作るところから始めましょう。これが基本の流れですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>虚数単位「i」は数学では「2乗すると-1になる数」として定義されます。電気工学では電流の記号「i」と区別するため、虚数単位に「j」を使う慣習があります。COMPLEX関数はどちらの表記にも対応していますよ。</p></blockquote>



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



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



<pre class="wp-block-code"><code>=COMPLEX(実数, 虚数, [虚数単位])</code></pre>



<p class="wp-block-paragraph">引数は3つで、最後の「虚数単位」だけが省略可能です。</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>実数（real_num）</td><td>必須</td><td>複素数の実数部となる数値</td></tr><tr><td>虚数（i_num）</td><td>必須</td><td>複素数の虚数部となる数値</td></tr><tr><td>虚数単位（suffix）</td><td>任意</td><td>虚数部の単位記号「i」または「j」。省略時は「i」</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">第1引数の「実数」と第2引数の「虚数」には、数値またはセル参照を指定します。文字列を渡すと <code>#VALUE!</code> エラーになるので注意してくださいね。</p>



<p class="wp-block-paragraph">第3引数の「虚数単位」は、数学では「i」、電気工学では「j」を使う慣習があります。指定できるのは小文字の「i」「j」のみです。大文字の「I」「J」を渡すと <code>#NUM!</code> エラーになりますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>COMPLEX関数の結果は「文字列」として返ります。見た目は数式バーで「3+4i」と表示されますが、内部的には文字列です。通常の <code>+</code> や <code>-</code> 演算子では計算できません。複素数同士の計算は必ずIM系関数（IMSUMなど）を使ってくださいね。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">値を直接指定して複素数を作成する</span></h3>



<p class="wp-block-paragraph">実数部が3、虚数部が4の複素数を作ってみましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=COMPLEX(3, 4)</code></pre>



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



<p class="wp-block-paragraph">結果は「3+4i」になります。シンプルですね。</p>



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



<p class="wp-block-paragraph">虚数単位を「j」にしたい場合は、第3引数に指定します。電気回路の計算では「j」表記が一般的なので、現場に合わせて使い分けてくださいね。</p>



<pre class="wp-block-code"><code>=COMPLEX(3, 4, &quot;j&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「3+4j」になります。</p>



<h3 class="wp-block-heading"><span id="toc7">セル参照で実数部と虚数部を指定する</span></h3>



<p class="wp-block-paragraph">実務ではセルに入った数値を使う場面が多いですよ。A2に「5」、B2に「-2」が入っている場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=COMPLEX(A2, B2)</code></pre>



<p class="wp-block-paragraph">結果は「5-2i」です。虚数部が負の数なら、自動的に「-」が付いた形で返してくれますね。マイナス符号の付け方を気にする必要はありません。</p>



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



<h3 class="wp-block-heading"><span id="toc8">特殊なケースの動作パターン</span></h3>



<p class="wp-block-paragraph">引数の値によっては、結果の表示が少し変わります。よく出てくるパターンをまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td><code>=COMPLEX(0, 0)</code></td><td>0</td><td>実数部・虚数部ともに0なら「0」が返る</td></tr><tr><td><code>=COMPLEX(5, 0)</code></td><td>5</td><td>虚数部が0なら実数部だけが返る</td></tr><tr><td><code>=COMPLEX(0, 3)</code></td><td>3i</td><td>実数部が0なら虚数部だけが返る</td></tr><tr><td><code>=COMPLEX(0, 1)</code></td><td>i</td><td>虚数部が1なら係数の「1」は省略される</td></tr><tr><td><code>=COMPLEX(0, -1)</code></td><td>-i</td><td>虚数部が-1なら「-i」と表示される</td></tr><tr><td><code>=COMPLEX(-2, -7)</code></td><td>-2-7i</td><td>負の値もそのまま使える</td></tr><tr><td><code>=COMPLEX(0, 1, "j")</code></td><td>j</td><td>虚数単位を「j」にしても同じルールが適用される</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">虚数部が0や±1のときは表示が省略形になる点を覚えておくと、結果を見たときに混乱せずに済みますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">ARRAYFORMULAで複数行を一括変換する</span></h3>



<p class="wp-block-paragraph">実数列と虚数列が並んでいる表から、一気に複素数列を作りたい場面もありますよね。そんなときは<a href="https://mashukabu.com/spreadsheet-arrayformula-function/">ARRAYFORMULA関数</a>（数式を範囲全体に展開する関数）と組み合わせます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(COMPLEX(A2:A10, B2:B10))</code></pre>



<p class="wp-block-paragraph">A列の実数部とB列の虚数部から、対応する複素数をC列に一発で展開できますよ。複素数のテーブルを作るときに重宝しますね。</p>



<p class="wp-block-paragraph">虚数単位を「j」にしたい場合は、第3引数も配列で渡せます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(COMPLEX(A2:A10, B2:B10, &quot;j&quot;))</code></pre>



<p class="wp-block-paragraph">電気工学系のシートで使うときは、この形がおすすめですよ。</p>



<h2 class="wp-block-heading"><span id="toc10">COMPLEX関数とIM系関数の連携実例</span></h2>



<p class="wp-block-paragraph">COMPLEX関数の真価は、IM系関数（複素数を扱う関数群）と組み合わせて発揮されます。代表的な使い方を順に見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc11">複素数の絶対値を求める（IMABS関数）</span></h3>



<p class="wp-block-paragraph">複素数の絶対値（原点からの距離）はIMABS関数で求められます。</p>



<pre class="wp-block-code"><code>=IMABS(COMPLEX(3, 4))</code></pre>



<p class="wp-block-paragraph">結果は「5」になります。3+4iの絶対値は √(3² + 4²) = √25 = 5 という計算ですね。</p>



<p class="wp-block-paragraph">電気回路のインピーダンスから「実効的な抵抗値」を出したいときなどに使えますよ。複素ベクトルの大きさを知りたい場面ではIMABSが基本です。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/06/05_result_complex-imabs.png" alt="05 result complex imabs" /></figure>



<h3 class="wp-block-heading"><span id="toc12">実数部と虚数部を取り出す（IMREAL関数・IMAGINARY関数）</span></h3>



<p class="wp-block-paragraph">逆に、複素数から実数部や虚数部だけを取り出したい場面もあります。</p>



<ul class="wp-block-list"><li>IMREAL関数: 複素数の実数係数を返す</li><li>IMAGINARY関数: 複素数の虚数係数を返す</li></ul>



<pre class="wp-block-code"><code>=IMREAL(COMPLEX(3, 4))
=IMAGINARY(COMPLEX(3, 4))</code></pre>



<p class="wp-block-paragraph">上の数式の結果はそれぞれ「3」と「4」になります。COMPLEX関数で作った複素数をそのまま渡せるので、数式がシンプルにまとまりますね。計算途中の値を確認したいときにも便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">複素数の四則演算（IMSUM・IMSUB・IMPRODUCT・IMDIV）</span></h3>



<p class="wp-block-paragraph">2つの複素数の足し算・引き算・掛け算・割り算は、それぞれ専用のIM系関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>演算</th><th>関数</th><th>数式例</th><th>結果</th></tr></thead><tbody><tr><td>足し算</td><td>IMSUM</td><td><code>=IMSUM(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>4+6i</td></tr><tr><td>引き算</td><td>IMSUB</td><td><code>=IMSUB(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>2+2i</td></tr><tr><td>掛け算</td><td>IMPRODUCT</td><td><code>=IMPRODUCT(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>-5+10i</td></tr><tr><td>割り算</td><td>IMDIV</td><td><code>=IMDIV(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>2.2+0.4i</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">複素数の掛け算や割り算は手計算だとなかなか面倒ですよね。IMPRODUCTやIMDIVに任せれば、ミスなく一瞬で結果が出ますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>IMSUMとIMPRODUCTは3つ以上の複素数も一度に処理できます。例えば <code>=IMSUM(z1, z2, z3, z4)</code> のように、複素数を並べて渡せばまとめて合計できますよ。電気回路の素子を直列でつなげるときに便利ですね。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">共役複素数を作る（IMCONJUGATE関数）</span></h3>



<p class="wp-block-paragraph">複素数の虚数部の符号を反転させた数を「共役複素数」と呼びます。IMCONJUGATE関数（イマジナリーコンジュゲート関数）で取得できますよ。</p>



<pre class="wp-block-code"><code>=IMCONJUGATE(COMPLEX(3, 4))</code></pre>



<p class="wp-block-paragraph">結果は「3-4i」です。共役複素数は、複素数の割り算を手計算する際の定番テクニックでもあります。物理学では波動の干渉計算などにも登場しますね。</p>



<h3 class="wp-block-heading"><span id="toc15">偏角を求める（IMARGUMENT関数）</span></h3>



<p class="wp-block-paragraph">複素数の偏角（複素平面上の角度）はIMARGUMENT関数で取得できます。返り値の単位はラジアンです。</p>



<pre class="wp-block-code"><code>=IMARGUMENT(COMPLEX(1, 1))</code></pre>



<p class="wp-block-paragraph">結果は約「0.7853&#8230;」になります。これは π/4 ラジアン、つまり45度のことですね。</p>



<p class="wp-block-paragraph">度数法（°）で見たい場合は DEGREES 関数と組み合わせます。</p>



<pre class="wp-block-code"><code>=DEGREES(IMARGUMENT(COMPLEX(1, 1)))</code></pre>



<p class="wp-block-paragraph">結果は「45」になります。複素数を極形式（大きさと角度）で扱いたいときに、IMABSとIMARGUMENTのセットで使うパターンが鉄板ですよ。</p>



<h2 class="wp-block-heading"><span id="toc16">COMPLEX関数の実務活用例｜電気工学のインピーダンス計算</span></h2>



<p class="wp-block-paragraph">COMPLEX関数の現場での使いどころとして、電気回路のインピーダンス計算を見てみましょう。RLC直列回路（抵抗R・コイルL・コンデンサCを直列につないだ回路）が典型例です。</p>



<h3 class="wp-block-heading"><span id="toc17">各素子のインピーダンス</span></h3>



<p class="wp-block-paragraph">それぞれの素子は次のような複素インピーダンスを持ちます。</p>



<figure class="wp-block-table"><table><thead><tr><th>素子</th><th>インピーダンス</th><th>説明</th></tr></thead><tbody><tr><td>抵抗 R</td><td>R + 0j</td><td>周波数によらず一定</td></tr><tr><td>コイル L</td><td>0 + jωL</td><td>周波数が上がるほど大きくなる</td></tr><tr><td>コンデンサ C</td><td>0 &#8211; j/(ωC)</td><td>周波数が上がるほど小さくなる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ωは角周波数（2π × 周波数）を表します。これらをスプレッドシートで複素数として持ちたい場合、COMPLEX関数が活躍しますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">シートでの計算手順</span></h3>



<p class="wp-block-paragraph">R、L、C、周波数fをセルに入力し、各素子のインピーダンスをCOMPLEXで作って合成する流れです。</p>



<pre class="wp-block-code"><code>角周波数 ω:           =2*PI()*f
抵抗のインピーダンス:    =COMPLEX(R, 0, &quot;j&quot;)
コイルのインピーダンス:  =COMPLEX(0, omega*L, &quot;j&quot;)
コンデンサのインピーダンス: =COMPLEX(0, -1/(omega*C), &quot;j&quot;)
合成インピーダンス:      =IMSUM(Z_R, Z_L, Z_C)
インピーダンスの大きさ:  =IMABS(Z_total)
位相角（ラジアン）:      =IMARGUMENT(Z_total)
位相角（度）:            =DEGREES(IMARGUMENT(Z_total))</code></pre>



<p class="wp-block-paragraph">電気工学では虚数単位に「j」を使うのが通例です。第3引数で <code>"j"</code> を指定する点がポイントですね。COMPLEXで素子ごとの値を作り、IMSUMで合成、IMABSで大きさを出す。この流れがそのままシートに落とし込めますよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>周波数特性をグラフ化したい場合は、周波数fを列方向に並べて、各行で同じインピーダンス計算を実行します。ARRAYFORMULAは複素数の中間計算には使いにくいので、行ごとに通常の数式をコピーする運用がおすすめですよ。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc19">信号処理での活用</span></h3>



<p class="wp-block-paragraph">フーリエ変換やデジタルフィルタ設計では、伝達関数を複素数で表現します。例えば、離散フィルタの周波数応答 H(e^jω) を計算したい場面を考えましょう。IMEXP（複素指数関数）と組み合わせて次のように書けます。</p>



<pre class="wp-block-code"><code>=IMPRODUCT(IMEXP(COMPLEX(0, -omega, &quot;j&quot;)), b0)</code></pre>



<p class="wp-block-paragraph">複素指数関数を使った計算もCOMPLEX関数が入り口になります。エンジニアリング系の計算は、まずCOMPLEXで複素数を作るところからスタートしてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc20">COMPLEX関数とExcelの互換性</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのCOMPLEX関数は、ExcelのCOMPLEX関数と仕様が一致しています。構文・引数・戻り値の形式・エラー条件まで同じですよ。</p>



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートで開いても、COMPLEX関数はそのまま動作します。逆にスプレッドシートで作った数式をExcelで開いても問題ありませんね。</p>



<p class="wp-block-paragraph">ExcelのCOMPLEX関数は、Excel 2007以降のすべてのバージョンで利用できます。古いExcel 2003以前のファイル形式とやり取りする場合のみ、互換性に注意してくださいね。</p>



<figure class="wp-block-table"><table><thead><tr><th>環境</th><th>対応状況</th></tr></thead><tbody><tr><td>Googleスプレッドシート</td><td>標準で利用可能</td></tr><tr><td>Excel 2007以降（Windows / Mac）</td><td>標準で利用可能</td></tr><tr><td>Excel for the web</td><td>標準で利用可能</td></tr><tr><td>Excel 2003以前</td><td>非対応（xls形式の互換性なし）</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ARRAYFORMULAとの組み合わせはGoogleスプレッドシート特有の書き方です。Excelで同じことをしたい場合は、Microsoft 365のスピル機能や旧来の配列数式を使ってくださいね。</p>



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



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



<p class="wp-block-paragraph">実数または虚数の引数に、数値以外の値（文字列など）を指定したときに発生します。</p>



<pre class="wp-block-code"><code>=COMPLEX(&quot;a&quot;, 4)
=COMPLEX(3, &quot;b&quot;)</code></pre>



<p class="wp-block-paragraph">どちらも <code>#VALUE!</code> エラーになります。実数部・虚数部が文字列のままだとCOMPLEX関数では扱えません。</p>



<p class="wp-block-paragraph">対処法は、セルの値が本当に数値かを確認することです。テキストとして取り込まれた数値の場合は、VALUE関数（文字列を数値に変換する関数）で数値化してから渡すと解決しますよ。</p>



<pre class="wp-block-code"><code>=COMPLEX(VALUE(A2), VALUE(B2))</code></pre>



<p class="wp-block-paragraph">CSVやWebからコピーしたデータでよく発生するパターンです。VALUEで挟むクセを付けておくと安心ですね。</p>



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



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



<p class="wp-block-paragraph">第3引数の虚数単位に、「i」「j」以外の文字を指定したときに発生します。大文字の「I」「J」もエラーになるので要注意です。</p>



<pre class="wp-block-code"><code>=COMPLEX(3, 4, &quot;I&quot;)
=COMPLEX(3, 4, &quot;k&quot;)</code></pre>



<p class="wp-block-paragraph">どちらも <code>#NUM!</code> エラーになります。</p>



<p class="wp-block-paragraph">対処法はシンプルで、虚数単位は必ず小文字の <code>"i"</code> または <code>"j"</code> を指定することです。手で入力する場合は、CapsLockがオフになっているか確認してくださいね。セル参照で虚数単位を渡す場合は、参照先のセルの値も小文字かどうかをチェックしましょう。</p>



<h3 class="wp-block-heading"><span id="toc24">#N/A エラー</span></h3>



<p class="wp-block-paragraph">引数が不足している場合に発生します。COMPLEX関数は実数と虚数の2つが必須です。</p>



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



<p class="wp-block-paragraph">上の数式は <code>#N/A</code> エラーになります。虚数部が指定されていないためですね。</p>



<p class="wp-block-paragraph">対処法は、必須引数の2つ（実数・虚数）を必ず指定することですよ。虚数部が0でも問題ないので、複素数化したい場合は <code>=COMPLEX(3, 0)</code> のように明示してください。</p>



<h3 class="wp-block-heading"><span id="toc25">通常の四則演算でエラーになる</span></h3>



<p class="wp-block-paragraph">COMPLEX関数の結果は文字列として返ります。そのため、通常の <code>+</code> や <code>-</code> で計算しようとすると <code>#VALUE!</code> エラーになりますよ。</p>



<pre class="wp-block-code"><code>=COMPLEX(3,4) + COMPLEX(1,2)
=IMSUM(COMPLEX(3,4), COMPLEX(1,2))</code></pre>



<p class="wp-block-paragraph">上は <code>#VALUE!</code> エラー、下は「4+6i」が返ります。複素数の計算には必ずIM系の専用関数を使う、と覚えておきましょう。</p>



<p class="wp-block-paragraph">四則演算に対応するIM系関数の早見表は次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>通常の演算子</th><th>対応するIM系関数</th></tr></thead><tbody><tr><td><code>+</code></td><td>IMSUM</td></tr><tr><td><code>-</code></td><td>IMSUB</td></tr><tr><td><code>*</code></td><td>IMPRODUCT</td></tr><tr><td><code>/</code></td><td>IMDIV</td></tr><tr><td><code>^</code></td><td>IMPOWER</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc26">IFERRORでエラーを吸収する</span></h3>



<p class="wp-block-paragraph">入力値の信頼性が低い場合は、<a href="https://mashukabu.com/spreadsheet-iferror-function/">IFERROR関数</a>（エラー時に代替値を返す関数）で包んでおくと安心ですよ。</p>



<pre class="wp-block-code"><code>=IFERROR(COMPLEX(A2, B2), &quot;入力エラー&quot;)</code></pre>



<p class="wp-block-paragraph">エラー時にメッセージを返すようにしておけば、シート全体の集計が止まらずに済みますね。実務シートでは、ユーザー入力に依存するセルにはIFERROR を被せておくのが鉄則です。</p>



<h2 class="wp-block-heading"><span id="toc27">複素数関連の関数早見表</span></h2>



<p class="wp-block-paragraph">COMPLEX関数と一緒に使うことが多い、複素数関連の関数をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th><th>主な用途</th></tr></thead><tbody><tr><td>COMPLEX</td><td>実数と虚数から複素数を作成する</td><td>複素数の入力</td></tr><tr><td>IMABS</td><td>複素数の絶対値を返す</td><td>ベクトルの大きさ</td></tr><tr><td>IMARGUMENT</td><td>複素数の偏角（ラジアン）を返す</td><td>位相角の取得</td></tr><tr><td>IMREAL</td><td>複素数の実数係数を返す</td><td>実数部の抽出</td></tr><tr><td>IMAGINARY</td><td>複素数の虚数係数を返す</td><td>虚数部の抽出</td></tr><tr><td>IMSUM</td><td>複素数の合計（足し算）を返す</td><td>直列インピーダンス</td></tr><tr><td>IMSUB</td><td>複素数の差（引き算）を返す</td><td>電位差の計算</td></tr><tr><td>IMPRODUCT</td><td>複素数の積（掛け算）を返す</td><td>フィルタ係数計算</td></tr><tr><td>IMDIV</td><td>複素数の商（割り算）を返す</td><td>並列インピーダンス</td></tr><tr><td>IMCONJUGATE</td><td>共役複素数を返す</td><td>割り算の有理化</td></tr><tr><td>IMPOWER</td><td>複素数のべき乗を返す</td><td>高次の係数計算</td></tr><tr><td>IMSQRT</td><td>複素数の平方根を返す</td><td>二次方程式の解</td></tr><tr><td>IMEXP</td><td>複素数の指数関数 e^z を返す</td><td>フーリエ変換</td></tr><tr><td>IMLN</td><td>複素数の自然対数を返す</td><td>ボード線図</td></tr><tr><td>IMLOG10</td><td>複素数の常用対数を返す</td><td>デシベル計算</td></tr><tr><td>IMSIN / IMCOS / IMTAN</td><td>複素数の三角関数を返す</td><td>信号処理</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">COMPLEX関数は、これらIM系関数の「入力」を作る土台になります。まずCOMPLEXで複素数を作り、目的に応じた関数で計算する、という流れで使ってみてくださいね。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのCOMPLEX関数は、実数係数と虚数係数を指定して計算可能な複素数を作成する関数です。エンジニアリング系の計算で複素数を扱うときの入り口になってくれますよ。</p>



<ul class="wp-block-list"><li>構文は <code>=COMPLEX(実数, 虚数, [虚数単位])</code>、虚数単位は省略可能</li><li>虚数単位は小文字の「i」（数学用）または「j」（電気工学用）を指定する</li><li>結果は文字列として返るので、計算には必ずIM系関数を使う</li><li>IMSUM・IMSUB・IMPRODUCT・IMDIV で四則演算ができる</li><li>IMABS で絶対値、IMREAL・IMAGINARY で実数部・虚数部を取り出せる</li><li>IMARGUMENT で偏角を取得できる（DEGREESと組み合わせて度数法に変換）</li><li>ARRAYFORMULAと組み合わせて複素数列を一括生成できる</li><li>ExcelのCOMPLEX関数と完全互換（Excel 2007以降）</li><li>大文字の「I」「J」は <code>#NUM!</code> エラーになる点に注意</li><li>文字列扱いなので <code>+</code> <code>-</code> 演算子は使えない。IM系関数で計算する</li></ul>



<p class="wp-block-paragraph">複素数の計算が必要になったら、まずCOMPLEX関数で「計算できる複素数」を準備するところから始めてみてくださいね。IM系関数と組み合わせれば、電気工学や信号処理の複雑な計算もシート上でスマートに片付きますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-complex-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>スプレッドシートのIMAGINARY関数の使い方｜複素数から虚数部を取り出す</title>
		<link>https://mashukabu.com/spreadsheet-imaginary-function/</link>
					<comments>https://mashukabu.com/spreadsheet-imaginary-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:25:57 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IMAGINARY]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[虚数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6294</guid>

					<description><![CDATA[GoogleスプレッドシートのIMAGINARY関数の使い方を解説。複素数（a+bi）から虚数係数bを取り出す基本構文、虚数単位i/jの扱い、COMPLEX関数やIMREAL関数との連携、交流回路インピーダンス分析や信号処理での実務活用例、よくあるエラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで複素数の虚数部だけを取り出したいけど、文字列をどう分解すればいいんだろう&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで電気回路や信号処理の計算をしていると、複素数（a+biの形で表される数）から虚数部だけを抜き出したい場面がありますよね。文字列としての「3+4i」から「4」を取り出すのに、わざわざ文字列操作関数を駆使するのは大変です。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがGoogleスプレッドシートのIMAGINARY関数です。複素数を渡すだけで虚数係数を数値として取り出せるので、その値をそのまま計算に使えますよ。</p>



<p class="wp-block-paragraph">ExcelのIMAGINARY関数と完全互換なので、Excelファイルとやり取りする現場でも安心です。COMPLEX関数で作った複素数や、IMSUM・IMSUBの演算結果からも虚部を切り出せますね。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのIMAGINARY関数の基本構文と実務での活用例を解説します。IMREAL関数との違いや、よくあるエラーと対処法もしっかり紹介していきますよ。</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">スプレッドシートのIMAGINARY関数とは？</a></li><li><a href="#toc2" tabindex="0">IMAGINARY関数の書き方（構文と引数）</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">IMAGINARY関数の基本的な使い方</a><ol><li><a href="#toc6" tabindex="0">文字列で複素数を直接指定する</a></li><li><a href="#toc7" tabindex="0">セル参照で複素数を指定する</a></li><li><a href="#toc8" tabindex="0">COMPLEX関数と組み合わせる</a></li><li><a href="#toc9" tabindex="0">純虚数や省略形の複素数を扱う</a></li><li><a href="#toc10" tabindex="0">ARRAYFORMULAで複数行を一括処理する</a></li></ol></li><li><a href="#toc11" tabindex="0">IMAGINARY関数の実務活用例</a><ol><li><a href="#toc12" tabindex="0">活用例1: 複素数データの成分分離</a></li><li><a href="#toc13" tabindex="0">活用例2: 交流回路のインピーダンス分析</a></li><li><a href="#toc14" tabindex="0">活用例3: 信号処理でのフーリエ成分分析</a></li><li><a href="#toc15" tabindex="0">活用例4: 複素数演算の結果から虚部を確認する</a></li></ol></li><li><a href="#toc16" tabindex="0">IMAGINARY関数とIMREAL関数の違い</a></li><li><a href="#toc17" tabindex="0">IMAGINARY関数のよくあるエラーと対処法</a><ol><li><a href="#toc18" tabindex="0">#NUM! エラー</a></li><li><a href="#toc19" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc20" tabindex="0">0が返るのはエラーではない</a></li><li><a href="#toc21" tabindex="0">IFERRORでエラーを吸収する</a></li></ol></li><li><a href="#toc22" tabindex="0">IMAGINARY関数とExcelの互換性</a></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">スプレッドシートのIMAGINARY関数とは？</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのIMAGINARY関数（イマジナリー関数）は、複素数の虚数係数を数値で返す関数です。エンジニアリング関数（電気・物理・工学系の計算で使う関数群）のひとつに分類されますよ。</p>



<p class="wp-block-paragraph">読み方は「イマジナリー」で、英語の「imaginary（虚数の）」に由来します。複素数「a+bi」のうち、虚数部にあたる係数「b」を抜き出すのが役割ですね。</p>



<p class="wp-block-paragraph">そもそも複素数は「実数部（a）＋虚数部（bi）」という構造で表されます。虚数単位「i」は2乗すると-1になる仮想的な数で、電気工学では「j」と書くこともありますね。</p>



<figure class="wp-block-table"><table><thead><tr><th>複素数</th><th>実数係数（a）</th><th>虚数係数（b）</th></tr></thead><tbody><tr><td>3+2i</td><td>3</td><td>2</td></tr><tr><td>-4+6i</td><td>-4</td><td>6</td></tr><tr><td>5（実数のみ）</td><td>5</td><td>0</td></tr><tr><td>3i（純虚数）</td><td>0</td><td>3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMAGINARY関数を使えば、この表の右端の「虚数係数」だけをサクッと取り出せます。Excelとの互換性も完璧で、Excel 2007以降のすべてのバージョンに対応していますよ。</p>



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



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



<pre class="wp-block-code"><code>=IMAGINARY(複素数)</code></pre>



<p class="wp-block-paragraph">引数は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>複素数（inumber）</td><td>必須</td><td>虚数係数を取り出したい複素数。文字列またはセル参照で指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数には「&#8221;3+4i&#8221;」や「&#8221;3+4j&#8221;」のような複素数文字列を直接渡せます。COMPLEX関数（実数と虚数から複素数を作成する関数）の結果や、複素数が入ったセルの参照も指定できますよ。</p>



<p class="wp-block-paragraph">虚数単位は小文字の「i」または「j」のどちらでも受け付けます。数学では「i」、電気工学では「j」が使われる慣習ですね。IMAGINARY関数はどちらでも同じように動作してくれます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>実数（虚数部がない値）を渡した場合は、エラーにならず「0」が返ります。たとえば <code>=IMAGINARY(5)</code> や <code>=IMAGINARY("5")</code> の結果はどちらも0になりますよ。純実数は虚数部が0なので、これは正しい挙動ですね。</p></blockquote>



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



<h3 class="wp-block-heading"><span id="toc6">文字列で複素数を直接指定する</span></h3>



<p class="wp-block-paragraph">複素数文字列をそのまま引数に渡してみましょう。</p>



<figure class="wp-block-image"><img decoding="async" src="https://mashukabu.com/wp-content/uploads/2026/03/spreadsheet-sumif-function_01_data_sample-table.png" alt="01 data sample table" /></figure>



<pre class="wp-block-code"><code>=IMAGINARY(&quot;3+4i&quot;)</code></pre>



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



<p class="wp-block-paragraph">結果は「4」になります。「3+4i」の虚数係数である4が数値として返りますよ。</p>



<p class="wp-block-paragraph">虚数係数が負の数でも、符号付きでそのまま取り出せます。</p>



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



<p class="wp-block-paragraph">結果は「-4」です。マイナス記号も含めて正しく解釈してくれますね。</p>



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



<h3 class="wp-block-heading"><span id="toc7">セル参照で複素数を指定する</span></h3>



<p class="wp-block-paragraph">実務ではセルに入った複素数を扱う場面が多いですよね。A2に「5+2i」が入っている場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=IMAGINARY(A2)</code></pre>



<p class="wp-block-paragraph">結果は「2」になります。セル参照を渡すだけで、入っている複素数の虚数部を取り出せますよ。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-imaginary-function/04_result_imaginary-cell-ref.png/">_images/spreadsheet-imaginary-function/04_result_imaginary-cell-ref.png</a></p>



<h3 class="wp-block-heading"><span id="toc8">COMPLEX関数と組み合わせる</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX関数</a>で作った複素数の虚数部を、その場で取り出すこともできます。</p>



<pre class="wp-block-code"><code>=IMAGINARY(COMPLEX(3, 7))</code></pre>



<p class="wp-block-paragraph">結果は「7」です。COMPLEX(3, 7)は内部で「3+7i」を作り、IMAGINARY関数がその虚数係数「7」を返してくれますね。</p>



<p class="wp-block-paragraph">複素数の作成と分解を一気にやりたいときに便利な書き方ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">純虚数や省略形の複素数を扱う</span></h3>



<p class="wp-block-paragraph">虚数係数が±1の場合、複素数は「i」「-i」と省略形で表記されます。IMAGINARY関数はこれもきちんと解釈してくれますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td><code>=IMAGINARY("i")</code></td><td>1</td><td>「i」は「1i」と同じで、虚数係数は1</td></tr><tr><td><code>=IMAGINARY("-i")</code></td><td>-1</td><td>「-i」は「-1i」と同じで、虚数係数は-1</td></tr><tr><td><code>=IMAGINARY("3i")</code></td><td>3</td><td>純虚数の場合、係数だけが返る</td></tr><tr><td><code>=IMAGINARY("0")</code></td><td>0</td><td>0は虚数部も0として扱われる</td></tr><tr><td><code>=IMAGINARY(5)</code></td><td>0</td><td>純実数を渡すと0が返る</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">省略形も含めて素直に動作してくれるので、表記の揺れを気にせず使えますね。</p>



<h3 class="wp-block-heading"><span id="toc10">ARRAYFORMULAで複数行を一括処理する</span></h3>



<p class="wp-block-paragraph">複素数のリストから一気に虚数部の列を作りたい場面もありますよね。そんなときはARRAYFORMULA関数（数式を範囲全体に展開する関数）と組み合わせます。</p>



<pre class="wp-block-code"><code>=ARRAYFORMULA(IMAGINARY(A2:A10))</code></pre>



<p class="wp-block-paragraph">A列に並んだ複素数から、対応する虚数係数をB列に一発で展開できますよ。データ整理の時短に重宝しますね。</p>



<h2 class="wp-block-heading"><span id="toc11">IMAGINARY関数の実務活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc12">活用例1: 複素数データの成分分離</span></h3>



<p class="wp-block-paragraph">A列に複素数のリストがあるとします。B列に実数係数、C列に虚数係数を一覧化したいときに、IMREAL関数とIMAGINARY関数のペアが活躍しますよ。</p>



<pre class="wp-block-code"><code>B2: =IMREAL(A2)
C2: =IMAGINARY(A2)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL関数</a>で実数係数を取り出し、IMAGINARY関数で虚数係数を取り出します。下方向にコピーすれば、全データの成分を一括で分離できますね。</p>



<p class="wp-block-paragraph">ARRAYFORMULAを使えば、コピー操作なしで一括処理も可能です。</p>



<pre class="wp-block-code"><code>B2: =ARRAYFORMULA(IMREAL(A2:A10))
C2: =ARRAYFORMULA(IMAGINARY(A2:A10))</code></pre>



<p class="wp-block-paragraph">複素数のテーブルを実数列と虚数列に分けたいときの定番パターンですね。</p>



<h3 class="wp-block-heading"><span id="toc13">活用例2: 交流回路のインピーダンス分析</span></h3>



<p class="wp-block-paragraph">交流回路のインピーダンス（電流の流れにくさ）は「Z = R + jX」という複素数で表されます。Rは抵抗成分、Xはリアクタンス（コイルやコンデンサが生む虚数成分）ですね。</p>



<p class="wp-block-paragraph">セルA2にインピーダンス「50+30j」が入っているとしましょう。</p>



<pre class="wp-block-code"><code>=IMAGINARY(A2)</code></pre>



<p class="wp-block-paragraph">結果は「30」になります。これがリアクタンス成分（30Ω）です。</p>



<p class="wp-block-paragraph">リアクタンスの符号は回路の性質を表しますよ。値が正なら誘導性（コイルが優勢）、負なら容量性（コンデンサが優勢）と判断できますね。</p>



<p class="wp-block-paragraph">さらに<a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS関数</a>でインピーダンスの大きさを求めたり、<a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT関数</a>で位相角を計算したりすると便利です。回路の挙動を一気に把握できますね。</p>



<h3 class="wp-block-heading"><span id="toc14">活用例3: 信号処理でのフーリエ成分分析</span></h3>



<p class="wp-block-paragraph">信号処理のフーリエ変換（信号を周波数成分に分解する手法）では、変換結果が複素数で出力されます。実部は余弦成分（cos成分）、虚部は正弦成分（sin成分）に対応しますよ。</p>



<p class="wp-block-paragraph">IMAGINARY関数で虚部を取り出せば、その周波数の正弦成分の強度を確認できます。IMREAL関数とペアで使えば、信号の位相特性を分析できますね。</p>



<pre class="wp-block-code"><code>正弦成分: =IMAGINARY(B2)
余弦成分: =IMREAL(B2)</code></pre>



<p class="wp-block-paragraph">数値計算ソフトで出した複素スペクトルをスプレッドシートに貼り付けて分析する、という流れに自然に組み込めますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例4: 複素数演算の結果から虚部を確認する</span></h3>



<p class="wp-block-paragraph">IMSUMやIMSUBといった複素数演算関数の結果から、虚数係数だけを抜き出す使い方もあります。</p>



<pre class="wp-block-code"><code>=IMAGINARY(IMSUB(&quot;5+3i&quot;, &quot;2+1i&quot;))</code></pre>



<p class="wp-block-paragraph">結果は「2」です。内側のIMSUB関数が「(5+3i) &#8211; (2+1i) = 3+2i」を計算します。外側のIMAGINARY関数がその虚数係数「2」を返してくれますね。</p>



<p class="wp-block-paragraph">複素数のまま演算したあと、虚部だけを取り出してグラフにプロットする、といった使い方ができますよ。</p>



<h2 class="wp-block-heading"><span id="toc16">IMAGINARY関数とIMREAL関数の違い</span></h2>



<p class="wp-block-paragraph">複素数の係数を取り出す関数として、IMAGINARY関数とIMREAL関数はペアで使うことが多いですね。違いを整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>使用例</th><th>結果</th></tr></thead><tbody><tr><td>IMAGINARY</td><td>虚数係数（b）</td><td><code>=IMAGINARY("3+5i")</code></td><td>5</td></tr><tr><td>IMREAL</td><td>実数係数（a）</td><td><code>=IMREAL("3+5i")</code></td><td>3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どちらも引数は「複素数」のみで、書き方は同じです。取り出す成分が違うだけですね。</p>



<p class="wp-block-paragraph">複素数の絶対値（原点からの距離）を求めたいときは、IMABS関数を使います。IMABS関数は内部で「√(a² + b²)」を計算して返してくれますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>数式の意味</th></tr></thead><tbody><tr><td>IMAGINARY</td><td>虚数係数 b</td><td>b</td></tr><tr><td>IMREAL</td><td>実数係数 a</td><td>a</td></tr><tr><td>IMABS</td><td>絶対値</td><td>√(a² + b²)</td></tr><tr><td>IMARGUMENT</td><td>偏角（角度）</td><td>atan(b / a)</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">成分の取り出しには IMAGINARY と IMREAL を使います。大きさや角度の計算には IMABS と IMARGUMENT を使うと覚えておくと迷いませんね。</p>



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



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



<p class="wp-block-paragraph">複素数として認識できない文字列を渡したときに発生します。虚数単位「i」「j」が含まれていないか、それ以外の文字を使っている場合が典型例ですよ。</p>



<pre class="wp-block-code"><code>=IMAGINARY(&quot;1+2&quot;)    → #NUM!（虚数単位なし）
=IMAGINARY(&quot;3+4I&quot;)   → #NUM!（大文字のIは不可）
=IMAGINARY(&quot;3+4k&quot;)   → #NUM!（i・j以外は不可）</code></pre>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-imaginary-function/05_error_num-error.png/">_images/spreadsheet-imaginary-function/05_error_num-error.png</a></p>



<p class="wp-block-paragraph">対処法は、複素数文字列を必ず「a+bi」または「a+bj」の形式にすることです。虚数単位は小文字限定なので、CapsLockがオンになっていないか確認してくださいね。</p>



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



<p class="wp-block-paragraph">引数に論理値やエラー値を渡したときに発生します。</p>



<pre class="wp-block-code"><code>=IMAGINARY(TRUE)        → #VALUE!（論理値は不可）
=IMAGINARY(#N/A)        → #VALUE!（エラー値は不可）</code></pre>



<p class="wp-block-paragraph">対処法は、正しい複素数文字列または数値・セル参照を渡すことです。入力元のセルがエラーになっている場合は、そのエラーを先に解消する必要がありますよ。</p>



<h3 class="wp-block-heading"><span id="toc20">0が返るのはエラーではない</span></h3>



<p class="wp-block-paragraph">実数だけを渡すと結果が「0」になりますが、これはエラーではなく正常動作です。純実数の虚数係数は0なので、数学的に正しい結果ですよ。</p>



<pre class="wp-block-code"><code>=IMAGINARY(5)        → 0（純実数の虚数部は0）
=IMAGINARY(&quot;5&quot;)      → 0（同上）
=IMAGINARY(&quot;0+0i&quot;)   → 0（実数部・虚数部ともに0）</code></pre>



<p class="wp-block-paragraph">意図せず0が返る場合は、入力元のセルに虚数単位が含まれているかを確認してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc21">IFERRORでエラーを吸収する</span></h3>



<p class="wp-block-paragraph">入力データの信頼性が低い場合は、IFERROR関数（エラー時に代替値を返す関数）で包んでおくと安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(IMAGINARY(A2), &quot;形式エラー&quot;)</code></pre>



<p class="wp-block-paragraph">エラー時にメッセージを返すようにしておけば、シート全体の集計が止まらずに済みますよ。</p>



<h2 class="wp-block-heading"><span id="toc22">IMAGINARY関数とExcelの互換性</span></h2>



<p class="wp-block-paragraph">GoogleスプレッドシートのIMAGINARY関数は、ExcelのIMAGINARY関数と仕様が完全に一致しています。構文・引数・戻り値の形式・エラー条件まで同じですよ。</p>



<p class="wp-block-paragraph">ExcelファイルをGoogleスプレッドシートで開いてもIMAGINARY関数はそのまま動作します。逆にスプレッドシートで作った数式をExcelで開いても問題ありませんね。</p>



<p class="wp-block-paragraph">ExcelのIMAGINARY関数は、Excel 2007以降のすべてのバージョンで利用できます。Microsoft 365、Excel for Mac、Excel Online でも同じように使えますよ。</p>



<p class="wp-block-paragraph">Excel版の詳細な解説は<a href="https://mashukabu.com/excel-function-howto-use-imaginary/">ExcelのIMAGINARY関数の使い方</a>も参考にしてくださいね。プラットフォーム間で挙動が同じだと、ファイル共有のときにも安心です。</p>



<h2 class="wp-block-heading"><span id="toc23">複素数関連の関数一覧</span></h2>



<p class="wp-block-paragraph">IMAGINARY関数と一緒に使うことが多い、複素数関連の関数をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX</a></td><td>実数と虚数から複素数を作成する</td></tr><tr><td>IMREAL</td><td>複素数の実数係数を返す</td></tr><tr><td>IMAGINARY</td><td>複素数の虚数係数を返す</td></tr><tr><td>IMABS</td><td>複素数の絶対値を返す</td></tr><tr><td>IMARGUMENT</td><td>複素数の偏角（角度）を返す</td></tr><tr><td>IMCONJUGATE</td><td>共役複素数を返す</td></tr><tr><td>IMSUM</td><td>複素数の合計（足し算）を返す</td></tr><tr><td>IMSUB</td><td>複素数の差（引き算）を返す</td></tr><tr><td>IMPRODUCT</td><td>複素数の積（掛け算）を返す</td></tr><tr><td>IMDIV</td><td>複素数の商（割り算）を返す</td></tr><tr><td>IMEXP</td><td>複素数の指数関数を返す</td></tr><tr><td>IMLN</td><td>複素数の自然対数を返す</td></tr><tr><td>IMSQRT</td><td>複素数の平方根を返す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMAGINARY関数は、これら複素数関数群の中で「成分を取り出す」役割を担います。COMPLEXで作り、IMSUMやIMPRODUCTで計算してから、最後にIMAGINARYやIMREALで成分を抜くのが基本パターンですね。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのIMAGINARY関数は、複素数から虚数係数を取り出す関数です。エンジニアリング系の計算で複素数を扱うときに、欠かせない成分分離ツールになりますよ。</p>



<ul class="wp-block-list"><li>構文は <code>=IMAGINARY(複素数)</code> で引数は1つだけのシンプルな関数</li><li>「a+bi」「a+bj」のどちらの形式も受け付ける（虚数単位は小文字のみ）</li><li>純実数を渡すと0が返る（エラーにはならない）</li><li>COMPLEX関数の結果やセル参照、複素数演算の結果から虚部を取り出せる</li><li>IMREAL関数とペアで複素数の成分分離ができる</li><li>ARRAYFORMULAで複数の複素数を一括処理できる</li><li>交流回路のリアクタンス分析、フーリエ変換の正弦成分抽出などで活躍</li><li>ExcelのIMAGINARY関数と完全互換（Excel 2007以降）</li><li>虚数単位なしの文字列や大文字の「I」「J」は #NUM! エラーになる</li></ul>



<p class="wp-block-paragraph">複素数の虚部だけを使った計算やグラフ化が必要になったら、IMAGINARY関数の出番ですよ。COMPLEX関数で複素数を作り、IMAGINARY関数で成分を取り出す流れで、エンジニアリング系のシートを軽快に組み立ててみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-imaginary-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIMAGINARY関数の使い方｜複素数の虚数係数を取り出す方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-imaginary/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-imaginary/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 19 Nov 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[IMAGINARY]]></category>
		<category><![CDATA[エンジニアリング]]></category>
		<category><![CDATA[虚数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3031</guid>

					<description><![CDATA[ExcelのIMAGINARY関数の使い方を解説。複素数から虚数係数（b部分）を取り出す方法を、構文・引数・使用例・IMREAL関数との使い分けを交えてわかりやすく紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで複素数を扱うとき、虚数部分だけを取り出したい場面があります。</p>



<p class="wp-block-paragraph">IMAGINARY関数を使えば、複素数「a+bi」の虚数係数「b」を簡単に取得できます。</p>



<p class="wp-block-paragraph">この記事では、IMAGINARY関数の構文と基本操作を紹介します。交流回路や信号処理での実務活用例、IMREAL関数との違いもあわせて解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-3" checked><label class="toc-title" for="toc-checkbox-3">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">IMAGINARY関数とは</a><ol><li><a href="#toc2" tabindex="0">複素数の基礎知識</a></li></ol></li><li><a href="#toc3" tabindex="0">IMAGINARY関数の構文と引数</a></li><li><a href="#toc4" tabindex="0">IMAGINARY関数の基本的な使い方</a><ol><li><a href="#toc5" tabindex="0">文字列で複素数を直接指定する</a></li><li><a href="#toc6" tabindex="0">セル参照で複素数を指定する</a></li><li><a href="#toc7" tabindex="0">COMPLEX関数と組み合わせる</a></li></ol></li><li><a href="#toc8" tabindex="0">IMAGINARY関数の実務活用例</a><ol><li><a href="#toc9" tabindex="0">活用例1: 複素数データの成分分離</a></li><li><a href="#toc10" tabindex="0">活用例2: 交流回路のインピーダンス分析</a></li><li><a href="#toc11" tabindex="0">活用例3: 信号処理でのフーリエ成分分析</a></li><li><a href="#toc12" tabindex="0">活用例4: 複素数の演算結果から虚部を確認する</a></li></ol></li><li><a href="#toc13" tabindex="0">IMAGINARY関数とIMREAL関数の違い</a></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a></li><li><a href="#toc15" tabindex="0">まとめ</a><ol><li><a href="#toc16" tabindex="0">関連する複素数関数</a></li><li><a href="#toc17" tabindex="0">関数一覧</a></li></ol></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">IMAGINARY関数は、複素数の虚数係数を返すエンジニアリング関数です。</p>



<p class="wp-block-paragraph">複素数「a+bi」または「a+bj」を受け取り、虚数部分の係数「b」を数値で返します。読み方は「イマジナリー」で、英語の「imaginary（虚数の）」に由来します。</p>



<p class="wp-block-paragraph">Excel 2007以降のすべてのバージョンで使用できます。Microsoft 365やExcel for Mac、Excel Onlineにも対応しています。</p>



<h3 class="wp-block-heading"><span id="toc2">複素数の基礎知識</span></h3>



<p class="wp-block-paragraph">複素数は「実数部（a）＋虚数部（bi）」で構成されます。</p>



<figure class="wp-block-table"><table><thead><tr><th>複素数</th><th>実数係数（a）</th><th>虚数係数（b）</th></tr></thead><tbody><tr><td>3+2i</td><td>3</td><td>2</td></tr><tr><td>-4+6i</td><td>-4</td><td>6</td></tr><tr><td>5（実数のみ）</td><td>5</td><td>0</td></tr><tr><td>3i（純虚数）</td><td>0</td><td>3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Excelでは<a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX関数</a>で複素数を作成します。作成した複素数から各係数を取り出すには、IMAGINARY関数と<a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL関数</a>を使います。</p>



<h2 class="wp-block-heading"><span id="toc3">IMAGINARY関数の構文と引数</span></h2>



<pre class="wp-block-code"><code>=IMAGINARY(複素数)</code></pre>



<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">複素数は「&#8221;a+bi&#8221;」または「&#8221;a+bj&#8221;」の形式で指定します。虚数単位は「i」でも「j」でも同じ結果を返します。<a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX関数</a>で作成した値をそのまま渡すこともできます。</p>



<p class="wp-block-paragraph">実数（虚数部がない値）を渡した場合は 0 を返します。エラーにはなりません。</p>



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



<h3 class="wp-block-heading"><span id="toc5">文字列で複素数を直接指定する</span></h3>



<pre class="wp-block-code"><code>=IMAGINARY(&quot;-4+6i&quot;)</code></pre>



<p class="wp-block-paragraph">結果: 6</p>



<p class="wp-block-paragraph">「-4+6i」の虚数係数である「6」が返ります。</p>



<h3 class="wp-block-heading"><span id="toc6">セル参照で複素数を指定する</span></h3>



<p class="wp-block-paragraph">セルA1に「3+5i」が入力されている場合を考えます。</p>



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



<p class="wp-block-paragraph">結果: 5</p>



<p class="wp-block-paragraph">セルに入力された複素数から虚数係数を取り出します。</p>



<h3 class="wp-block-heading"><span id="toc7">COMPLEX関数と組み合わせる</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX関数</a>で複素数を作成し、虚数係数を取り出す例です。</p>



<pre class="wp-block-code"><code>=IMAGINARY(COMPLEX(3, 5))</code></pre>



<p class="wp-block-paragraph">結果: 5</p>



<p class="wp-block-paragraph">COMPLEX(3, 5)は「3+5i」を作成します。IMAGINARY関数がその虚数係数「5」を返します。</p>



<h2 class="wp-block-heading"><span id="toc8">IMAGINARY関数の実務活用例</span></h2>



<h3 class="wp-block-heading"><span id="toc9">活用例1: 複素数データの成分分離</span></h3>



<p class="wp-block-paragraph">A列に複素数のリストがあるとします。B列に実数係数、C列に虚数係数を一覧化できます。</p>



<pre class="wp-block-code"><code>B2: =IMREAL(A2)
C2: =IMAGINARY(A2)</code></pre>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL関数</a>で実数係数を取り出し、IMAGINARY関数で虚数係数を取り出します。下方向にコピーすれば全データの成分を一括分離できます。</p>



<h3 class="wp-block-heading"><span id="toc10">活用例2: 交流回路のインピーダンス分析</span></h3>



<p class="wp-block-paragraph">交流回路のインピーダンスは「Z = R + jX」の複素数で表されます。Rは抵抗、Xはリアクタンスです。</p>



<p class="wp-block-paragraph">セルA2にインピーダンス「50+30j」が入力されている場合を考えます。</p>



<pre class="wp-block-code"><code>=IMAGINARY(A2)</code></pre>



<p class="wp-block-paragraph">結果: 30</p>



<p class="wp-block-paragraph">リアクタンス成分（30Ω）を取り出せます。値が正なら誘導性（インダクタ優勢）、負なら容量性（コンデンサ優勢）と判断できます。</p>



<p class="wp-block-paragraph">さらに<a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS関数</a>でインピーダンスの大きさを求めたり、<a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT関数</a>で位相角を計算したりできます。</p>



<h3 class="wp-block-heading"><span id="toc11">活用例3: 信号処理でのフーリエ成分分析</span></h3>



<p class="wp-block-paragraph">フーリエ変換の結果は複素数で出力されます。虚部は正弦成分（sin成分）に対応します。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL関数</a>で余弦成分（cos成分）を取り出せます。IMAGINARY関数で正弦成分を取り出せます。両方の成分を比較することで、信号の位相特性を分析できます。</p>



<h3 class="wp-block-heading"><span id="toc12">活用例4: 複素数の演算結果から虚部を確認する</span></h3>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-imsub/">IMSUB関数</a>や<a href="https://mashukabu.com/excel-function-howto-use-improduct/">IMPRODUCT関数</a>の演算結果から虚数係数を取り出す例です。</p>



<pre class="wp-block-code"><code>=IMAGINARY(IMSUB(&quot;5+3i&quot;, &quot;2+1i&quot;))</code></pre>



<p class="wp-block-paragraph">結果: 2</p>



<p class="wp-block-paragraph">IMSUB関数が「(5+3i) &#8211; (2+1i) = 3+2i」を計算します。IMAGINARY関数がその虚数係数「2」を返します。</p>



<h2 class="wp-block-heading"><span id="toc13">IMAGINARY関数とIMREAL関数の違い</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>返す値</th><th>使用例</th><th>結果</th></tr></thead><tbody><tr><td>IMAGINARY</td><td>虚数係数（b）</td><td>=IMAGINARY(&#8220;3+5i&#8221;)</td><td>5</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL</a></td><td>実数係数（a）</td><td>=IMREAL(&#8220;3+5i&#8221;)</td><td>3</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">どちらも引数は「複素数」のみで、書き方はほぼ同じです。取り出す成分が異なるだけです。</p>



<p class="wp-block-paragraph">複素数の大きさ（絶対値）を求めるには<a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS関数</a>を使います。IMABS関数は「√(a² + b²)」を計算して返します。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>#NUM!</td><td>複素数として認識できない形式（例: &#8220;1+2&#8221; でiがない）</td><td>&#8220;a+bi&#8221; または &#8220;a+bj&#8221; 形式に修正する</td></tr><tr><td>#VALUE!</td><td>引数が空白・論理値・エラー値</td><td>正しい複素数文字列またはセル参照を使う</td></tr><tr><td>0 が返る</td><td>実数のみの値を指定（虚数部がゼロ）</td><td>正常動作。純実数の虚数係数は0</td></tr></tbody></table></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>複素数を手入力するときは、虚数単位の「i」または「j」を忘れないようにしましょう。「1+2」のように虚数単位がないと#NUM!エラーになります。</p></blockquote>



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



<p class="wp-block-paragraph">IMAGINARY関数は、複素数から虚数係数（b）を取り出す関数です。</p>



<ul class="wp-block-list"><li>引数は「複素数」のみで、書き方がシンプル</li><li>&#8220;a+bi&#8221; 形式の文字列または<a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX関数</a>の結果を渡せる</li><li><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL関数</a>と組み合わせて実数部・虚数部を分離できる</li><li>交流回路のインピーダンス分析や信号処理の成分分析で活用できる</li><li><a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS関数</a>・<a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT関数</a>など複素数関数群と連携して使う</li></ul>



<h3 class="wp-block-heading"><span id="toc16">関連する複素数関数</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX</a></td><td>実部と虚部から複素数を作成</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL</a></td><td>複素数の実数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS</a></td><td>複素数の絶対値を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT</a></td><td>複素数の偏角を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imsub/">IMSUB</a></td><td>2つの複素数の差を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-improduct/">IMPRODUCT</a></td><td>複素数の積を返す</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc17">関数一覧</span></h3>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-alphabetical-order/">アルファベット順 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-list-by-function/">機能別 Excel関数一覧</a></li><li><a href="https://mashukabu.com/excel-function-alphabetical-order-pronunciation/">Excel関数の読み方一覧</a></li><li><a href="https://mashukabu.com/excel-error-value-list/">Excel エラー値の種類と対処方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-imaginary/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのCOMPLEX関数の使い方｜複素数を作成する方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-complex/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-complex/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 12 Oct 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[COMPLEX関数]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[虚数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=2836</guid>

					<description><![CDATA[ExcelのCOMPLEX関数の使い方を解説。実数と虚数から複素数を作成する基本構文、引数の指定方法、エラー対処法、IMABS・IMREAL・IMAGINARYとの連携例まで実践的に紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで複素数を扱いたいけど、どう入力すればいいかわからない。そんな場面はありませんか？</p>



<p class="wp-block-paragraph">「3+4i」のような複素数を手入力するとテキスト扱いになり、計算に使えません。地味に困りますよね。</p>



<p class="wp-block-paragraph">そこで活躍するのがExcelのCOMPLEX関数です。実数と虚数を指定するだけで、計算可能な複素数を作成できますよ。</p>



<p class="wp-block-paragraph">この記事では、COMPLEX関数の基本的な書き方から実践的な活用例、よくあるエラーの対処法までわかりやすく解説します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのCOMPLEX関数とは？</a><ol><li><a href="#toc2" tabindex="0">読み方と語源</a></li><li><a href="#toc3" tabindex="0">COMPLEX関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">COMPLEX関数の書き方（構文と引数）</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">COMPLEX関数の基本的な使い方</a><ol><li><a href="#toc9" tabindex="0">値を直接指定して複素数を作成する</a></li><li><a href="#toc10" tabindex="0">セル参照を使って複素数を作成する</a></li><li><a href="#toc11" tabindex="0">特殊なケースの動作</a></li></ol></li><li><a href="#toc12" tabindex="0">COMPLEX関数の実践例｜他の複素数関数と組み合わせる</a><ol><li><a href="#toc13" tabindex="0">複素数の絶対値を求める（IMABS関数）</a></li><li><a href="#toc14" tabindex="0">実数部・虚数部を取り出す（IMREAL関数・IMAGINARY関数）</a></li><li><a href="#toc15" tabindex="0">複素数の四則演算（IMSUM・IMSUB・IMPRODUCT・IMDIV）</a></li></ol></li><li><a href="#toc16" tabindex="0">COMPLEX関数のよくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc18" tabindex="0">数式がテキストとして表示される</a></li></ol></li><li><a href="#toc19" tabindex="0">複素数関連のExcel関数一覧</a></li><li><a href="#toc20" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<h3 class="wp-block-heading"><span id="toc2">読み方と語源</span></h3>



<p class="wp-block-paragraph">COMPLEX関数の読み方は「コンプレックス関数」です。</p>



<p class="wp-block-paragraph">英語の「complex number（複素数）」が語源になっています。Excelのエンジニアリング関数のひとつで、複素数の作成に使います。</p>



<h3 class="wp-block-heading"><span id="toc3">COMPLEX関数でできること</span></h3>



<p class="wp-block-paragraph">COMPLEX関数は、実数係数と虚数係数を指定して複素数を作成する関数です。</p>



<p class="wp-block-paragraph">たとえば、実数部が3、虚数部が4の場合、「3+4i」という複素数を返します。作成した複素数は、IMSUMやIMABSなど他の複素数関数でそのまま計算に使えますよ。</p>



<p class="wp-block-paragraph">複素数とは「a+bi」の形で表される数のことです。aが実数部、bが虚数部、iは虚数単位（i二乗が-1になる数）を意味します。電気工学のインピーダンス計算や信号処理などで使われています。</p>



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



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



<pre class="wp-block-code"><code>=COMPLEX(実数, 虚数, [虚数単位])</code></pre>



<p class="wp-block-paragraph">COMPLEX関数の引数は3つあります。必須の引数は2つ、省略できる引数が1つです。</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>実数（real_num）</td><td>必須</td><td>複素数の実数係数を数値で指定します</td></tr><tr><td>虚数（i_num）</td><td>必須</td><td>複素数の虚数係数を数値で指定します</td></tr><tr><td>虚数単位（suffix）</td><td>省略可</td><td>虚数部分の単位を「i」または「j」で指定します。省略すると「i」になります</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc7">引数のポイント</span></h3>



<p class="wp-block-paragraph"><strong>実数と虚数</strong>には数値を指定します。セル参照でも直接入力でもOKです。文字列を指定すると <code>#VALUE!</code> エラーになるので注意してください。</p>



<p class="wp-block-paragraph"><strong>虚数単位</strong>は「i」か「j」のどちらかを指定できます。数学では「i」、電気工学では「j」がよく使われますよね。省略した場合は「i」が自動で設定されます。「i」「j」以外の文字を指定すると <code>#VALUE!</code> エラーになります。</p>



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



<h3 class="wp-block-heading"><span id="toc9">値を直接指定して複素数を作成する</span></h3>



<p class="wp-block-paragraph">実数部が3、虚数部が4の複素数を作成してみましょう。</p>



<pre class="wp-block-code"><code>=COMPLEX(3, 4)</code></pre>



<p class="wp-block-paragraph">結果は「3+4i」になります。</p>



<p class="wp-block-paragraph">虚数単位を「j」にしたい場合は、第3引数で指定します。</p>



<pre class="wp-block-code"><code>=COMPLEX(3, 4, &quot;j&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「3+4j」になります。</p>



<h3 class="wp-block-heading"><span id="toc10">セル参照を使って複素数を作成する</span></h3>



<p class="wp-block-paragraph">A1セルに実数部（例: 5）、B1セルに虚数部（例: -2）が入っている場合は、次のように書きます。</p>



<pre class="wp-block-code"><code>=COMPLEX(A1, B1)</code></pre>



<p class="wp-block-paragraph">結果は「5-2i」になります。虚数部がマイナスの場合は、自動的に「-」が付きますよ。</p>



<h3 class="wp-block-heading"><span id="toc11">特殊なケースの動作</span></h3>



<p class="wp-block-paragraph">COMPLEX関数の動作をいくつか確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果</th><th>説明</th></tr></thead><tbody><tr><td><code>=COMPLEX(0, 0)</code></td><td>0</td><td>実数部・虚数部ともに0</td></tr><tr><td><code>=COMPLEX(5, 0)</code></td><td>5</td><td>虚数部が0なら実数だけが返る</td></tr><tr><td><code>=COMPLEX(0, 3)</code></td><td>3i</td><td>実数部が0なら虚数部だけが返る</td></tr><tr><td><code>=COMPLEX(-2, -7)</code></td><td>-2-7i</td><td>マイナスの値もそのまま使える</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">虚数部が0の場合は、虚数部分が省略されて実数だけが返ります。このあたりの動作を覚えておくと便利ですよ。</p>



<h2 class="wp-block-heading"><span id="toc12">COMPLEX関数の実践例｜他の複素数関数と組み合わせる</span></h2>



<p class="wp-block-paragraph">COMPLEX関数の本領は、他の複素数関数と組み合わせるときに発揮されます。ここでは代表的な使い方を紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc13">複素数の絶対値を求める（IMABS関数）</span></h3>



<p class="wp-block-paragraph">作成した複素数の絶対値を求めるには、<a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS関数</a>を使います。</p>



<pre class="wp-block-code"><code>=IMABS(COMPLEX(3, 4))</code></pre>



<p class="wp-block-paragraph">結果は「5」になります。3+4iの絶対値は sqrt(3^2 + 4^2) = 5 ですね。</p>



<h3 class="wp-block-heading"><span id="toc14">実数部・虚数部を取り出す（IMREAL関数・IMAGINARY関数）</span></h3>



<p class="wp-block-paragraph">複素数から実数部だけ、または虚数部だけを取り出したいときに使います。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL関数</a>: 複素数の実数係数を返す</li><li><a href="https://mashukabu.com/excel-function-howto-use-imaginary/">IMAGINARY関数</a>: 複素数の虚数係数を返す</li></ul>



<pre class="wp-block-code"><code>=IMREAL(COMPLEX(3, 4))   → 結果: 3
=IMAGINARY(COMPLEX(3, 4)) → 結果: 4</code></pre>



<p class="wp-block-paragraph">COMPLEX関数で作成した複素数をそのまま渡せるので、数式がスッキリしますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">複素数の四則演算（IMSUM・IMSUB・IMPRODUCT・IMDIV）</span></h3>



<p class="wp-block-paragraph">2つの複素数で四則演算を行うには、次の関数を使います。</p>



<figure class="wp-block-table"><table><thead><tr><th>演算</th><th>関数</th><th>数式例</th><th>結果</th></tr></thead><tbody><tr><td>足し算</td><td><a href="https://mashukabu.com/excel-function-howto-use-imsum/">IMSUM</a></td><td><code>=IMSUM(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>4+6i</td></tr><tr><td>引き算</td><td><a href="https://mashukabu.com/excel-function-howto-use-imsub/">IMSUB</a></td><td><code>=IMSUB(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>2+2i</td></tr><tr><td>掛け算</td><td><a href="https://mashukabu.com/excel-function-howto-use-improduct/">IMPRODUCT</a></td><td><code>=IMPRODUCT(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>-5+10i</td></tr><tr><td>割り算</td><td><a href="https://mashukabu.com/excel-function-howto-use-imdiv/">IMDIV</a></td><td><code>=IMDIV(COMPLEX(3,4), COMPLEX(1,2))</code></td><td>2.2-0.4i</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">複素数の計算を手作業でやるのは大変ですが、関数を組み合わせればあっという間ですよね。</p>



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



<p class="wp-block-paragraph">COMPLEX関数を使っていて「あれ、エラーが出た」というときは、以下の原因を確認してみてください。</p>



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



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーは、次の2つのケースで発生します。</p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>対処法</th></tr></thead><tbody><tr><td>実数または虚数に数値以外を指定した</td><td>セルの値が数値かどうか確認する。文字列が入っていたら数値に修正する</td></tr><tr><td>虚数単位に「i」「j」以外の文字を指定した</td><td>第3引数は「&#8221;i&#8221;」または「&#8221;j&#8221;」のみ。大文字の「I」「J」も不可</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">特に虚数単位で大文字の「I」を指定してエラーになるケースは、見落としがちです。必ず小文字で指定してくださいね。</p>



<h3 class="wp-block-heading"><span id="toc18">数式がテキストとして表示される</span></h3>



<p class="wp-block-paragraph">COMPLEX関数の結果は文字列（テキスト）として返されます。そのため、通常の四則演算（+や-）では計算できません。</p>



<pre class="wp-block-code"><code>=COMPLEX(3,4) + COMPLEX(1,2)   ← これはエラーになる
=IMSUM(COMPLEX(3,4), COMPLEX(1,2))  ← こちらが正しい</code></pre>



<p class="wp-block-paragraph">複素数の計算には、必ずIM系の専用関数を使いましょう。</p>



<h2 class="wp-block-heading"><span id="toc19">複素数関連のExcel関数一覧</span></h2>



<p class="wp-block-paragraph">COMPLEX関数と一緒に使うことが多い、複素数関連の関数をまとめました。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS</a></td><td>複素数の絶対値を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imreal/">IMREAL</a></td><td>複素数の実数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imaginary/">IMAGINARY</a></td><td>複素数の虚数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imsum/">IMSUM</a></td><td>複素数の合計を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imsub/">IMSUB</a></td><td>複素数の差を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-improduct/">IMPRODUCT</a></td><td>複素数の積を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imdiv/">IMDIV</a></td><td>複素数の商を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imconjugate/">IMCONJUGATE</a></td><td>共役複素数を返す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT</a></td><td>複素数の偏角を返す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">COMPLEX関数はこれらの関数の「入力」を作る役割を持っています。まずCOMPLEXで複素数を作り、目的に応じた関数で計算する、という流れで使ってみてくださいね。</p>



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



<p class="wp-block-paragraph">ExcelのCOMPLEX関数は、実数と虚数から複素数を作成する関数です。</p>



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



<ul class="wp-block-list"><li>構文は <code>=COMPLEX(実数, 虚数, [虚数単位])</code> で、虚数単位は省略可能</li><li>虚数単位は「i」（数学用）または「j」（電気工学用）を小文字で指定する</li><li>作成した複素数はIMSUM・IMABS・IMREALなどの複素数関数で計算できる</li><li>通常の四則演算（+、-、*、/）は使えないので、IM系の専用関数を使う</li></ul>



<p class="wp-block-paragraph">複素数の計算が必要になったら、まずCOMPLEX関数で複素数を準備するところから始めてみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-complex/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
