<?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>IMSQRT &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/imsqrt/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 15:16:34 +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>IMSQRT &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのIMSQRT関数の使い方｜複素数の平方根を一発で求める</title>
		<link>https://mashukabu.com/spreadsheet-imsqrt-function/</link>
					<comments>https://mashukabu.com/spreadsheet-imsqrt-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 11:24:35 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IMSQRT]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[平方根]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6353</guid>

					<description><![CDATA[GoogleスプレッドシートのIMSQRT関数の使い方を解説。複素数（a+bi）の平方根を一発で求める基本構文、虚数単位i/jの扱い、COMPLEX関数やIMPOWERとの連携、ARRAYFORMULAでの一括計算、交流回路や制御工学での実務活用例、よくあるエラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで負の数の平方根を出したいのに、SQRTだとエラーになる…」</p>



<p class="wp-block-paragraph">電気回路のインピーダンスや制御工学の特性方程式を扱っていると、複素数や負の数の平方根を計算したい場面が出てきますよね。実数しか受け付けない通常のSQRT関数では、<code>-9</code> のような負の数を渡した瞬間に <code>#NUM!</code> エラーになってしまいます。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがGoogleスプレッドシートのIMSQRT関数です。複素数の文字列を渡すだけで平方根を一発で返してくれるので、負の数でも複素数でもセル1つで処理できますよ。</p>



<p class="wp-block-paragraph">ExcelのIMSQRT関数と完全互換なので、Excelファイルとやり取りする現場でも安心ですね。COMPLEX関数で組み立てた複素数や、ARRAYFORMULAでの一括計算にも対応しています。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのIMSQRT関数の基本構文と実務での活用例を解説します。よくあるエラーと対処法、IMPOWER関数との検算ペアパターンもしっかり紹介していきますよ。</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">スプレッドシートのIMSQRT関数とは？</a><ol><li><a href="#toc2" tabindex="0">IMSQRT関数とSQRT関数の違い</a></li><li><a href="#toc3" tabindex="0">こんな人におすすめ</a></li></ol></li><li><a href="#toc4" tabindex="0">IMSQRT関数の書き方（構文と引数）</a><ol><li><a href="#toc5" tabindex="0">基本構文</a></li><li><a href="#toc6" tabindex="0">引数の詳細</a></li></ol></li><li><a href="#toc7" tabindex="0">IMSQRT関数の基本的な使い方【3パターン】</a><ol><li><a href="#toc8" tabindex="0">パターン1: 文字列で複素数を直接指定する</a></li><li><a href="#toc9" tabindex="0">パターン2: セル参照で指定する</a></li><li><a href="#toc10" tabindex="0">パターン3: COMPLEX関数と組み合わせる</a></li></ol></li><li><a href="#toc11" tabindex="0">ARRAYFORMULAで複素数列を一括計算する</a></li><li><a href="#toc12" tabindex="0">IMSQRT関数の実務活用例</a><ol><li><a href="#toc13" tabindex="0">活用例1: 交流回路のインピーダンスの平方根</a></li><li><a href="#toc14" tabindex="0">活用例2: 制御工学の特性方程式の解</a></li><li><a href="#toc15" tabindex="0">活用例3: IMPOWERとのペアで検算する</a></li></ol></li><li><a href="#toc16" tabindex="0">IMSQRT関数と一緒に覚えたい複素数関数</a></li><li><a href="#toc17" tabindex="0">IMSQRT関数のよくあるエラーと対処法</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">戻り値が文字列で計算できない問題</a></li></ol></li><li><a href="#toc21" tabindex="0">ExcelのIMSQRT関数との違いと互換性</a></li><li><a href="#toc22" tabindex="0">IMSQRT関数に関するよくある質問</a><ol><li><a href="#toc23" tabindex="0">Q. IMSQRT関数は実数（普通の数）にも使えますか？</a></li><li><a href="#toc24" tabindex="0">Q. 戻り値の小数が長くて見づらいです</a></li><li><a href="#toc25" tabindex="0">Q. ExcelファイルをGoogleスプレッドシートで開いても動きますか？</a></li><li><a href="#toc26" tabindex="0">Q. 虚数単位に i と j はどちらを使えばいいですか？</a></li><li><a href="#toc27" tabindex="0">Q. 平方根の負の解（マイナス側）も取り出せますか？</a></li></ol></li><li><a href="#toc28" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">読み方は「イマジナリー・スクエア・ルート」または「アイエム・スクエア・ルート」で、英語の「imaginary number（虚数）」の「square root（平方根）」に由来します。複素数「a+bi」に対して、その平方根 √(a+bi) を返してくれるのが役割ですね。</p>



<p class="wp-block-paragraph">そもそも複素数の平方根は、極形式 r(cosθ + i sinθ) で表すと「絶対値は√r、偏角はθ/2」というシンプルなルールで計算できます。定義式は次のようになります。</p>



<pre class="wp-block-code"><code>√(r(cosθ + i sinθ)) = √r × (cos(θ/2) + i sin(θ/2))</code></pre>



<p class="wp-block-paragraph">複素数の平方根は本来2つあります。たとえば 3+4i の平方根は 2+i と -2-i の2つですね。IMSQRT関数は、このうち実部が0以上の主値（principal square root）の方だけを返してくれます。</p>



<figure class="wp-block-table"><table><thead><tr><th>入力する複素数</th><th>IMSQRTの戻り値</th></tr></thead><tbody><tr><td><code>"-9"</code></td><td><code>"3i"</code></td></tr><tr><td><code>"-4"</code></td><td><code>"2i"</code></td></tr><tr><td><code>"3+4i"</code></td><td><code>"2+i"</code></td></tr><tr><td><code>"5+12i"</code></td><td><code>"3+2i"</code></td></tr><tr><td><code>"4"</code></td><td><code>"2"</code></td></tr><tr><td><code>"0+1i"</code></td><td><code>"0.707...+0.707...i"</code></td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMSQRT関数を使えば、この表の右側にある「複素数の平方根」をサクッと取り出せます。Excelとの互換性も完璧で、Excel 2013以降のすべてのバージョンに対応していますよ。</p>



<p class="wp-block-paragraph">複素数の平方根は、電気工学のインピーダンス計算・制御工学の特性方程式・振動解析の固有値問題など、複素数演算が必要な場面で活躍する基礎パーツですね。</p>



<h3 class="wp-block-heading"><span id="toc2">IMSQRT関数とSQRT関数の違い</span></h3>



<p class="wp-block-paragraph">通常のSQRT関数は実数専用なので、負の数を渡すとエラーになります。IMSQRT関数は複素数（実数も含む）に対応しているので、負の数の平方根もスムーズに求められます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対応する数値</th><th>負の数を渡したとき</th><th>戻り値の型</th></tr></thead><tbody><tr><td>SQRT</td><td>実数のみ</td><td><code>#NUM!</code> エラー</td><td>数値</td></tr><tr><td>IMSQRT</td><td>複素数（実数を含む）</td><td>虚数解を返す</td><td>文字列</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば <code>=SQRT(-9)</code> はエラーになりますが、<code>=IMSQRT("-9")</code> は文字列 <code>"3i"</code> を返してくれます。負の数の平方根を扱う場面では、IMSQRT一択ですね。</p>



<h3 class="wp-block-heading"><span id="toc3">こんな人におすすめ</span></h3>



<ul class="wp-block-list"><li>電気・電子系で交流回路のインピーダンス計算をスプレッドシートで完結したい</li><li>制御工学の伝達関数や極・零点を表計算で検証したい</li><li>学校・研究で複素数を含む計算を大量に処理したい</li><li>SQRT関数で <code>#NUM!</code> エラーが出て困っている</li><li>ExcelからGoogleスプレッドシートに移行したばかりで挙動を確認したい</li></ul>



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



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



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



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



<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>複素数（inumber）</td><td>必須</td><td>平方根を求めたい複素数。<code>"x+yi"</code> または <code>"x+yj"</code> の文字列で指定する</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">虚数単位は小文字の <code>i</code> または <code>j</code> のどちらでも受け付けます。数学では <code>i</code>、電気工学では <code>j</code> が使われる慣習ですね。IMSQRT関数はどちらでも同じように動作してくれます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>戻り値は元の入力と同じ虚数単位で返されます。「3+4i」を渡せば「2+i」、「3+4j」を渡せば「2+j」が返るので、表記の統一性も保たれますよ。</p></blockquote>



<p class="wp-block-paragraph">使うときに押さえておきたいポイントは、次の3点です。</p>



<ol class="wp-block-list"><li>引数は<strong>必ずダブルクォーテーションで囲んだ文字列</strong>か、複素数が入ったセル参照で渡す</li><li>虚数単位は <code>i</code> と <code>j</code> の両方が使えるが、<strong>混在はNG</strong>（例: <code>"3+4ij"</code> のような指定はエラー）</li><li>戻り値も<strong>文字列型の複素数</strong>（<code>"a+bi"</code> 形式）なので、そのまま四則演算はできない</li></ol>



<p class="wp-block-paragraph">3点目は最初につまずきやすいポイントです。戻り値をさらに計算に使いたい場合は、IMABS関数（絶対値）やIMREAL関数（実部を取り出す関数）など他のIM系関数と組み合わせる必要がありますよ。</p>



<h2 class="wp-block-heading"><span id="toc7">IMSQRT関数の基本的な使い方【3パターン】</span></h2>



<p class="wp-block-paragraph">IMSQRT関数の基本パターンを3つに分けて紹介します。いずれも同じ関数ですが、入力方法によって使い勝手が変わります。</p>



<h3 class="wp-block-heading"><span id="toc8">パターン1: 文字列で複素数を直接指定する</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>=IMSQRT(&quot;3+4i&quot;)
→ 2+i</code></pre>



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



<p class="wp-block-paragraph">手計算で確認すると (2+i)² = 4 + 4i + i² = 4 + 4i &#8211; 1 = 3+4i ですね。元の複素数に戻るので、計算が合っています。</p>



<p class="wp-block-paragraph">負の実数だけを渡すこともできます。SQRT関数でエラーになる場合の代替として覚えておきましょう。</p>



<pre class="wp-block-code"><code>=IMSQRT(&quot;-9&quot;)
→ 3i</code></pre>



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



<p class="wp-block-paragraph"><code>SQRT(-9)</code> では <code>#NUM!</code> エラーになりますが、IMSQRTなら虚数解をきちんと返してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc9">パターン2: セル参照で指定する</span></h3>



<p class="wp-block-paragraph">複素数をセルに入力しておき、別のセルでIMSQRTを呼び出す方法です。A2セルに <code>5+12i</code> と入力しておき、B2セルに次の式を入れます。</p>



<pre class="wp-block-code"><code>=IMSQRT(A2)
→ 3+2i</code></pre>



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



<p class="wp-block-paragraph">複数行の複素数データをまとめて処理したいときは、このセル参照方式が便利です。オートフィルで一気に全行計算できるので、感度解析やパラメータスイープに向いています。</p>



<h3 class="wp-block-heading"><span id="toc10">パターン3: COMPLEX関数と組み合わせる</span></h3>



<p class="wp-block-paragraph">実部と虚部が別々のセルに入っている場合は、COMPLEX関数で複素数を組み立ててから渡すのがおすすめです。</p>



<pre class="wp-block-code"><code>=IMSQRT(COMPLEX(3, 4))
→ 2+i</code></pre>



<p class="wp-block-paragraph">A2に実部、B2に虚部を入れているなら、<code>=IMSQRT(COMPLEX(A2, B2))</code> と書きます。データ入力がシンプルになり、文字列の書式ミスも減らせるので、実務ではこの組み合わせが一番安定しますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>パターン</th><th>向いている場面</th></tr></thead><tbody><tr><td>文字列で直接入力</td><td>単発の計算・動作確認</td></tr><tr><td>セル参照</td><td>複数行のデータを一気に処理したいとき</td></tr><tr><td>COMPLEX関数との組み合わせ</td><td>実部・虚部が別列に分かれているデータ</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc11">ARRAYFORMULAで複素数列を一括計算する</span></h2>



<p class="wp-block-paragraph">スプレッドシートには ARRAYFORMULA 関数（数式を範囲全体に展開する関数）があり、複数行の複素数を一発で平方根に変換できます。Excelのスピル機能に相当する仕組みですね。</p>



<p class="wp-block-paragraph">A2:A10 に複素数のリストが並んでいるとします。B2 に次の式を入れるだけで、B2:B10 全体に平方根が一気に展開されます。</p>



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



<p class="wp-block-paragraph">オートフィルで1行ずつコピーする手間が省けるので、大量の複素数データを処理するときに便利ですよ。たとえば伝送線路の周波数スイープ計算で、各周波数のインピーダンスの平方根を一気に求めたい場面で重宝します。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>ARRAYFORMULA は範囲内に1つでも不正な複素数があると、その行で <code>#NUM!</code> や <code>#VALUE!</code> を返します。<code>IFERROR</code> で包んでおくと、エラー行があっても他の行の計算は止まりませんよ。</p></blockquote>



<p class="wp-block-paragraph">エラー対策まで仕込むなら、こんな書き方になります。</p>



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



<p class="wp-block-paragraph">エラー時に「形式エラー」と表示されるので、どの行が原因なのかも一目でわかりますね。</p>



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



<p class="wp-block-paragraph">IMSQRT関数は学術的な関数に見えますが、実務でも使いどころがあります。代表的な3つのシーンを紹介しますね。</p>



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



<p class="wp-block-paragraph">交流回路では抵抗とリアクタンス（コンデンサやコイルが交流に対して示す抵抗成分）を複素数として扱います。電気系では虚数単位として <code>j</code> を使うのが慣例ですね。</p>



<p class="wp-block-paragraph">抵抗R = 3Ω、リアクタンスX = 4Ω のときのインピーダンスは Z = 3+4j と書けます。このZの平方根は次のように求められます。</p>



<pre class="wp-block-code"><code>A2: =COMPLEX(3, 4, &quot;j&quot;)    ← Z = 3+4j
B2: =IMSQRT(A2)            ← √Z = 2+j</code></pre>



<p class="wp-block-paragraph">伝送線路の特性インピーダンス Z₀ = √(Z/Y) を求める場面や、共振回路の解析でインピーダンスの平方根が必要になる場面で、IMSQRT関数が一瞬で答えを出してくれます。手計算だと極形式への変換が必要な計算も、セル1つで完結するのは大きな魅力ですよね。</p>



<h3 class="wp-block-heading"><span id="toc14">活用例2: 制御工学の特性方程式の解</span></h3>



<p class="wp-block-paragraph">制御系の極（ポール）や零点（ゼロ）を求める際、2次方程式の解として複素数の平方根が登場します。判別式が負になるケース（振動系で虚数解が出るケース）でも、IMSQRT関数ならそのまま処理できますね。</p>



<p class="wp-block-paragraph">たとえば、特性方程式 <code>s² + 2ζω_n s + ω_n² = 0</code> の解は <code>s = -ζω_n ± ω_n√(ζ²-1)</code> です。減衰比 ζ が1未満のときは平方根の中身が負になりますよね。</p>



<pre class="wp-block-code"><code>A2: 0.5    ← 減衰比 ζ
B2: 10     ← 固有角周波数 ω_n
C2: =IMSQRT(COMPLEX(A2^2-1, 0))
→ 0.866...i</code></pre>



<p class="wp-block-paragraph">判別式が負の値（ζ²-1 = -0.75）になるシーンでも、IMSQRTが虚数解を返してくれるので、SQRTのように <code>#NUM!</code> エラーで止まりません。スプレッドシートで感度解析やパラメータスイープをするなら、IMSQRTで解析式をそのままセルに落とし込めますよ。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例3: IMPOWERとのペアで検算する</span></h3>



<p class="wp-block-paragraph">手計算で求めた複素数の平方根が合っているかを確認したいときも、IMSQRTが便利です。<a href="https://mashukabu.com/spreadsheet-impower-function/">IMPOWER関数</a>（複素数のべき乗を求める関数）と組み合わせれば、検算の精度をさらに上げられますね。</p>



<p class="wp-block-paragraph">IMSQRTで求めた平方根をIMPOWERで2乗して、元の値に戻るかを確認する流れです。</p>



<pre class="wp-block-code"><code>=IMPOWER(IMSQRT(&quot;3+4i&quot;), 2)
→ 3+4i（元の値に戻る）

=IMPOWER(IMSQRT(&quot;-4+6i&quot;), 2)
→ -4+6i（元の値に戻る）</code></pre>



<p class="wp-block-paragraph">数値誤差で末尾の桁が微妙にずれることはありますが、ROUND関数で丸めれば見た目もきれいになります。学習用シートや、計算結果のクロスチェックに使えるパターンですよ。</p>



<h2 class="wp-block-heading"><span id="toc16">IMSQRT関数と一緒に覚えたい複素数関数</span></h2>



<p class="wp-block-paragraph">IMSQRT単体でも十分便利ですが、他の複素数関数（IM〜で始まる関数群）と組み合わせるとスプレッドシートで本格的な複素数計算ができるようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>IMSQRTとの典型的な組み合わせ</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX</a></td><td>実部・虚部から複素数を作成</td><td>IMSQRTへの入力作成</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-impower-function/">IMPOWER</a></td><td>複素数のべき乗</td><td>IMSQRTの逆演算で検証</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-improduct-function/">IMPRODUCT</a></td><td>複素数の積</td><td>複数の複素数の積の平方根</td></tr><tr><td>IMSUM</td><td>複素数の和</td><td><code>=IMSQRT(IMSUM(Z1, Z2))</code></td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imabs-function/">IMABS</a></td><td>複素数の絶対値（実数）</td><td>戻り値を実数に変換して丸める</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imreal-function/">IMREAL</a></td><td>複素数の実部を取り出す</td><td>戻り値の実部だけを使う計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imaginary-function/">IMAGINARY</a></td><td>複素数の虚部を取り出す</td><td>戻り値の虚部だけを使う計算</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imargument-function/">IMARGUMENT</a></td><td>複素数の偏角（ラジアン）</td><td>極形式での確認</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば <code>=IMREAL(IMSQRT("3+4i"))</code> で実部だけ、<code>=IMAGINARY(IMSQRT("3+4i"))</code> で虚部だけを数値として取り出せます。戻り値が文字列で扱いにくいときは、この2関数で分解してから続きの計算をするのが定石ですよ。</p>



<p class="wp-block-paragraph">複素数のsec（正割）やsech（双曲正割）など、より高度な三角関数を扱いたい場面では、<a href="https://mashukabu.com/spreadsheet-imsec-function/">IMSEC関数</a>や<a href="https://mashukabu.com/spreadsheet-imsech-function/">IMSECH関数</a>も合わせて確認してみてくださいね。</p>



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



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NUM!</code></td><td>虚数単位 <code>i</code> と <code>j</code> の混在、大文字 <code>I</code>・<code>J</code>、全角文字、不正な複素数形式</td><td>形式を <code>x+yi</code> か <code>x+yj</code> のいずれかに統一する</td></tr><tr><td><code>#VALUE!</code></td><td>引数が複素数として解釈できない文字列（全角や空白混入など）</td><td>半角で入力し、余計な空白を削除する</td></tr><tr><td>意図しない結果</td><td>セル参照先が単なる数値で虚部が認識されていない</td><td>COMPLEX関数で明示的に複素数化する</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス（IMSQRT以外の綴り）</td><td>関数名のスペルを確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc18">#NUM! エラー（虚数単位の混在・大文字・全角）</span></h3>



<p class="wp-block-paragraph">複素数として認識できない文字列を渡したときに発生します。よくあるパターンは次のとおりです。</p>



<pre class="wp-block-code"><code>=IMSQRT(&quot;3+4I&quot;)    → #NUM!（大文字のIは不可）
=IMSQRT(&quot;3+4ij&quot;)   → #NUM!（i・j混在は不可）
=IMSQRT(&quot;３+４i&quot;)  → #NUM!（全角数字は不可）
=IMSQRT(&quot;3+4k&quot;)    → #NUM!（i・j以外の文字は不可）</code></pre>



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



<h3 class="wp-block-heading"><span id="toc19">#VALUE! エラー（型エラー・全角空白）</span></h3>



<p class="wp-block-paragraph">スペースが入っている場合（例: <code>"3 + 4i"</code>）や、数値型のセルから複素数として解釈できない値を渡した場合に発生します。</p>



<pre class="wp-block-code"><code>=IMSQRT(&quot;3 + 4i&quot;)  → #VALUE!（半角空白が入っているとNG）
=IMSQRT(TRUE)      → #VALUE!（論理値は不可）</code></pre>



<p class="wp-block-paragraph">Webサイトや論文PDFからコピペで入力した場合は、全角記号や余計な空白が混入していないか必ず確認しましょう。見た目が似ているので気づきにくいですが、スプレッドシートは半角文字しか複素数の要素として認識してくれませんよ。</p>



<h3 class="wp-block-heading"><span id="toc20">戻り値が文字列で計算できない問題</span></h3>



<p class="wp-block-paragraph">IMSQRT関数のもう1つの落とし穴が、戻り値の型です。結果は見た目が数字でも<strong>文字列</strong>なので、<code>=IMSQRT("4")+1</code> のような計算を書くと <code>#VALUE!</code> エラーになります。</p>



<p class="wp-block-paragraph">戻り値を数値として扱いたいときは、IMREAL関数（実部を数値で返す）かIMABS関数（絶対値を数値で返す）で一度実数に変換してから計算してくださいね。</p>



<pre class="wp-block-code"><code>=IMREAL(IMSQRT(&quot;4&quot;)) + 1
→ 3（数値として計算できる）

=ROUND(IMABS(IMSQRT(&quot;3+4i&quot;)), 4)
→ 2.2361（絶対値を4桁で丸める）</code></pre>



<p class="wp-block-paragraph">虚部だけ取り出したいときは IMAGINARY関数を使います。3つの関数（IMREAL・IMAGINARY・IMABS）を覚えておくと、戻り値が文字列でも困らなくなりますよ。</p>



<h2 class="wp-block-heading"><span id="toc21">ExcelのIMSQRT関数との違いと互換性</span></h2>



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



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



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>スプレッドシート</th><th>Excel</th></tr></thead><tbody><tr><td>構文</td><td><code>=IMSQRT(複素数)</code></td><td><code>=IMSQRT(複素数)</code></td></tr><tr><td>戻り値の型</td><td>文字列</td><td>文字列</td></tr><tr><td>虚数単位</td><td><code>i</code> または <code>j</code></td><td><code>i</code> または <code>j</code></td></tr><tr><td>一括計算</td><td>ARRAYFORMULA</td><td>スピル（Microsoft 365）/ Ctrl+Shift+Enter</td></tr><tr><td>対応バージョン</td><td>全バージョン</td><td>Excel 2013以降・Microsoft 365</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">スプレッドシート固有の差は ARRAYFORMULA で配列展開する点くらいですね。Excelの場合はMicrosoft 365のスピル機能、または旧バージョンでは Ctrl+Shift+Enter で配列数式として確定する形になります。</p>



<p class="wp-block-paragraph">両方を行き来する環境なら、関数の挙動はほぼ同じと考えて大丈夫ですよ。詳しいExcel版の解説は<a href="https://mashukabu.com/excel-function-howto-use-imsqrt/">ExcelのIMSQRT関数の使い方</a>も参考にしてみてくださいね。</p>



<h2 class="wp-block-heading"><span id="toc22">IMSQRT関数に関するよくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc23">Q. IMSQRT関数は実数（普通の数）にも使えますか？</span></h3>



<p class="wp-block-paragraph">A. はい、使えます。<code>=IMSQRT("4")</code> は文字列 <code>"2"</code> を返します。ただし戻り値は文字列型なので、引き続き実数として計算するには IMREAL 関数で実部を取り出してください。</p>



<pre class="wp-block-code"><code>=IMREAL(IMSQRT(&quot;4&quot;))
→ 2（数値）</code></pre>



<h3 class="wp-block-heading"><span id="toc24">Q. 戻り値の小数が長くて見づらいです</span></h3>



<p class="wp-block-paragraph">A. IMABS関数で絶対値（実数）に変換してからROUND関数で丸めるか、IMREAL関数・IMAGINARY関数で実部・虚部を取り出してそれぞれ丸めましょう。</p>



<pre class="wp-block-code"><code>=ROUND(IMREAL(IMSQRT(&quot;1+i&quot;)), 4)
→ 1.0987

=ROUND(IMAGINARY(IMSQRT(&quot;1+i&quot;)), 4)
→ 0.4551</code></pre>



<h3 class="wp-block-heading"><span id="toc25">Q. ExcelファイルをGoogleスプレッドシートで開いても動きますか？</span></h3>



<p class="wp-block-paragraph">A. はい、動きます。IMSQRT関数は両方のプラットフォームで完全互換なので、<code>.xlsx</code> ファイルを Sheets で開いた場合でも、関数の結果はそのまま反映されますよ。</p>



<h3 class="wp-block-heading"><span id="toc26">Q. 虚数単位に i と j はどちらを使えばいいですか？</span></h3>



<p class="wp-block-paragraph">A. 数学・物理系の慣例では <code>i</code>、電気・制御系の慣例では <code>j</code> が使われます。どちらもIMSQRTは受け付けますが、<strong>同じブック内では統一</strong>したほうが混乱がありません。セル参照で計算を連結する場合、片方は <code>i</code>・もう片方は <code>j</code> だと <code>#NUM!</code> エラーになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc27">Q. 平方根の負の解（マイナス側）も取り出せますか？</span></h3>



<p class="wp-block-paragraph">A. IMSQRT関数は主値（実部 ≥ 0 の方）だけを返すので、もう一つの解（マイナス側）は直接は取り出せません。ただし、平方根の2つの解は符号が反転するだけなので、IMSQRTの結果に -1 を掛ければ求められますよ。</p>



<pre class="wp-block-code"><code>A2: =IMSQRT(&quot;3+4i&quot;)        ← 主値 2+i
B2: =IMPRODUCT(A2, &quot;-1&quot;)   ← もう一つの解 -2-i</code></pre>



<p class="wp-block-paragraph">IMPRODUCT関数で -1 を掛けると、複素数全体の符号が反転します。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのIMSQRT関数は、複素数の平方根を一発で返してくれる便利なエンジニアリング関数です。ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>構文は <code>=IMSQRT(複素数)</code> で引数は1つだけ</li><li>引数は <code>"x+yi"</code> または <code>"x+yj"</code> の文字列か、複素数が入ったセル参照で渡す</li><li>SQRT関数がエラーになる負の数も、IMSQRTなら虚数解として処理できる</li><li>主値（実部 ≥ 0 の方）だけを返す。もう一つの解は -1 倍で取り出せる</li><li>虚数単位 <code>i</code> と <code>j</code> は混在させず、ブック内で統一する</li><li>戻り値は文字列型なので、さらに計算を続けるなら IMREAL・IMABS・IMAGINARY 関数と組み合わせる</li><li>実部・虚部が別セルにあるときは COMPLEX 関数で組み立ててから渡すと扱いやすい</li><li>ARRAYFORMULA で複数行の複素数を一括処理できる</li><li>IMPOWER 関数で2乗すれば、元の複素数に戻るかを検算できる</li><li>大文字の <code>I</code>・<code>J</code>、全角文字、<code>i</code>・<code>j</code> 混在は <code>#NUM!</code> エラー</li><li>半角空白の混入や論理値の引数は <code>#VALUE!</code> エラー</li><li>ExcelのIMSQRT関数と完全互換（Excel 2013以降）</li></ul>



<p class="wp-block-paragraph">交流回路や制御工学の計算を手作業でやっていた方は、ぜひスプレッドシートにIMSQRT関数を組み込んで作業時間を短縮してみてくださいね。複素数関連の他の関数（COMPLEX・IMPOWER・IMABS など）とセットで覚えておくと、さらに応用が広がりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-imsqrt-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIMSQRT関数の使い方｜複素数の平方根をセル1つで求める実務ガイド</title>
		<link>https://mashukabu.com/excel-function-howto-use-imsqrt/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-imsqrt/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 07 Dec 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[IMSQRT]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3101</guid>

					<description><![CDATA[ExcelのIMSQRT関数で複素数の平方根を求める方法を、構文・3つの使い方・実務例・よくあるエラーまで網羅的に解説します。SQRT関数との違いや関連関数もまとめて確認できます。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">電気回路のインピーダンス計算や制御工学の伝達関数で「負の数の平方根」「複素数の平方根」を扱いたい場面は意外と多いですよね。手計算で極形式に変換して…とやるのは面倒ですが、ExcelのIMSQRT関数を使えばセル1つで一瞬です。</p>



<p class="wp-block-paragraph">通常のSQRT関数は実数しか扱えず、負の数を渡すと<code>#NUM!</code>エラーになります。一方、ExcelのIMSQRT関数なら負の実数や複素数もそのまま処理でき、結果も複素数形式の文字列で返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、ExcelのIMSQRT関数の構文から3つの基本的な使い方、電気・制御工学での実務活用例、よくあるエラーの対処法までまとめて解説します。読み終わるころには、複素数を含む計算を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">ExcelのIMSQRT関数とは？複素数の平方根を返すエンジニアリング関数</a><ol><li><a href="#toc2" tabindex="0">IMSQRT関数とSQRT関数の違い</a></li><li><a href="#toc3" tabindex="0">こんな人におすすめ</a></li></ol></li><li><a href="#toc4" tabindex="0">IMSQRT関数の構文と引数</a></li><li><a href="#toc5" tabindex="0">IMSQRT関数の基本的な使い方【3パターン】</a><ol><li><a href="#toc6" tabindex="0">パターン1: 直接複素数を入力する</a></li><li><a href="#toc7" tabindex="0">パターン2: セル参照で指定する</a></li><li><a href="#toc8" tabindex="0">パターン3: COMPLEX関数と組み合わせる</a></li></ol></li><li><a href="#toc9" tabindex="0">実務でのIMSQRT関数の活用シーン</a><ol><li><a href="#toc10" tabindex="0">交流回路のインピーダンス計算</a></li><li><a href="#toc11" tabindex="0">制御工学の伝達関数の解析</a></li><li><a href="#toc12" tabindex="0">学習・研究用途での検算</a></li></ol></li><li><a href="#toc13" tabindex="0">IMSQRT関数と一緒に覚えたい複素数関数</a></li><li><a href="#toc14" tabindex="0">IMSQRT関数でよく起きるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">とくに多いのが全角文字の混入</a></li><li><a href="#toc16" tabindex="0">IMSQRT関数のTIP: 戻り値が文字列であることを忘れない</a></li></ol></li><li><a href="#toc17" tabindex="0">IMSQRT関数に関するよくある質問</a><ol><li><a href="#toc18" tabindex="0">Q. IMSQRT関数は実数（普通の数）にも使えますか？</a></li><li><a href="#toc19" tabindex="0">Q. 戻り値の小数が長くて見づらいです</a></li><li><a href="#toc20" tabindex="0">Q. Googleスプレッドシートでも同じ使い方で動きますか？</a></li><li><a href="#toc21" tabindex="0">Q. 虚数単位にiとjはどちらを使えばいいですか？</a></li><li><a href="#toc22" tabindex="0">Q. IMSQRT関数で配列数式は使えますか？</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のIMSQRT関数とは？複素数の平方根を返すエンジニアリング関数</span></h2>



<p class="wp-block-paragraph">IMSQRT関数は、<code>x+yi</code>または<code>x+yj</code>の形式で指定した<strong>複素数の平方根</strong>を返すExcelの関数です。読み方は「イマジナリー・スクエア・ルート関数」。Excelの<strong>エンジニアリング関数</strong>カテゴリに分類され、電気回路・制御工学・振動解析など、複素数を扱う現場で活躍します。</p>



<p class="wp-block-paragraph">対応バージョンはExcel 2013以降とMicrosoft 365です。Googleスプレッドシートでも同じ構文で使えるので、環境を問わず活用できますよ。</p>



<h3 class="wp-block-heading"><span id="toc2">IMSQRT関数とSQRT関数の違い</span></h3>



<p class="wp-block-paragraph">SQRT関数は実数専用なので、負の数を渡すとエラーになります。IMSQRT関数は複素数（実数も含む）に対応しているので、負の数の平方根もスムーズに求められます。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>対応する数値</th><th>負の数を渡したとき</th><th>戻り値の型</th></tr></thead><tbody><tr><td>SQRT</td><td>実数のみ</td><td><code>#NUM!</code>エラー</td><td>数値</td></tr><tr><td>IMSQRT</td><td>複素数（実数を含む）</td><td>虚数解を返す</td><td>文字列</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば<code>=SQRT(-9)</code>はエラーになりますが、<code>=IMSQRT("-9")</code>は文字列<code>"3i"</code>を返してくれます。負の数の平方根を扱う場面では、IMSQRT一択ですね。</p>



<h3 class="wp-block-heading"><span id="toc3">こんな人におすすめ</span></h3>



<ul class="wp-block-list"><li>電気・電子系で交流回路のインピーダンス計算をExcelで済ませたい</li><li>制御工学の伝達関数や極・零点を表計算で検証したい</li><li>学校・研究で複素数を含む計算を大量に処理したい</li><li>SQRT関数で<code>#NUM!</code>エラーが出て困っている</li></ul>



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



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



<pre class="wp-block-code"><code>=IMSQRT(複素数)</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>平方根を求めたい複素数を<code>"x+yi"</code>または<code>"x+yj"</code>の文字列で指定</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">使うときに押さえておきたいポイントは、次の3点です。</p>



<ol class="wp-block-list"><li>引数は<strong>必ずダブルクォーテーションで囲んだ文字列</strong>か、複素数が入ったセル参照で渡す</li><li>虚数単位は<code>i</code>と<code>j</code>の両方が使えるが、<strong>混在はNG</strong>（<code>3+4ij</code>のような指定はエラー）</li><li>戻り値も<strong>文字列型の複素数</strong>（<code>"a+bi"</code>形式）なので、そのまま四則演算はできない</li></ol>



<p class="wp-block-paragraph">3点目は最初につまずきやすいポイントです。戻り値をさらに計算に使いたい場合は、IMABS関数やIMREAL関数など他のIM系関数と組み合わせる必要がありますよ。</p>



<h2 class="wp-block-heading"><span id="toc5">IMSQRT関数の基本的な使い方【3パターン】</span></h2>



<p class="wp-block-paragraph">IMSQRT関数の基本パターンを3つに分けて紹介します。いずれも同じ関数ですが、入力方法によって使い勝手が変わります。</p>



<h3 class="wp-block-heading"><span id="toc6">パターン1: 直接複素数を入力する</span></h3>



<p class="wp-block-paragraph">もっともシンプルなのが、関数内に直接複素数を書く方法です。</p>



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



<p class="wp-block-paragraph">結果の小数桁が多くて見づらい場合は、IMABS関数で絶対値（実数）に変換してからROUND関数で丸めると読みやすくなります。</p>



<pre class="wp-block-code"><code>=ROUND(IMABS(IMSQRT(&quot;-4+6i&quot;)), 4)
→ 2.7080</code></pre>



<p class="wp-block-paragraph">負の実数だけを渡すこともできます。SQRT関数でエラーになる場合の代替として覚えておきましょう。</p>



<pre class="wp-block-code"><code>=IMSQRT(&quot;-9&quot;)
→ 3i</code></pre>



<p class="wp-block-paragraph"><code>SQRT(-9)</code>では<code>#NUM!</code>エラーになりますが、IMSQRTなら虚数解をきちんと返してくれますよ。</p>



<h3 class="wp-block-heading"><span id="toc7">パターン2: セル参照で指定する</span></h3>



<p class="wp-block-paragraph">複素数をセルに入力しておき、別のセルでIMSQRTを呼び出す方法です。A1セルに<code>3+4i</code>と入力しておき、B1セルに次の式を入れます。</p>



<pre class="wp-block-code"><code>=IMSQRT(A1)
→ 2+i</code></pre>



<p class="wp-block-paragraph">複数行の複素数データをまとめて処理したいときは、このセル参照方式が便利です。オートフィルで一気に全行計算できるので、感度解析やパラメータスイープに向いています。</p>



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



<p class="wp-block-paragraph">実部と虚部が別々のセルに入っている場合は、COMPLEX関数（実部と虚部から複素数を組み立てる関数）で複素数を作ってから渡すのがおすすめです。</p>



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



<p class="wp-block-paragraph">A1に実部、B1に虚部を入れておくだけで、IMSQRTが自動的に平方根を返してくれます。データ入力がシンプルになり、文字列の書式ミスも減らせるので、実務ではこの組み合わせが一番安定しますよ。</p>



<figure class="wp-block-table"><table><thead><tr><th>パターン</th><th>向いている場面</th></tr></thead><tbody><tr><td>直接入力</td><td>単発の計算・動作確認</td></tr><tr><td>セル参照</td><td>複数行のデータを一気に処理したいとき</td></tr><tr><td>COMPLEX関数との組み合わせ</td><td>実部・虚部が別列に分かれているデータ</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc9">実務でのIMSQRT関数の活用シーン</span></h2>



<p class="wp-block-paragraph">IMSQRT関数は学術的な関数に見えますが、実務でも使いどころがあります。代表的な3つのシーンを紹介しますね。</p>



<h3 class="wp-block-heading"><span id="toc10">交流回路のインピーダンス計算</span></h3>



<p class="wp-block-paragraph">交流回路では抵抗とリアクタンスを複素数として扱います。電気系では虚数単位として<code>j</code>を使うのが慣例なので、たとえば抵抗R = 3Ω、リアクタンスX = 4Ωのときのインピーダンスは<code>Z = 3+4j</code>と書けます。</p>



<pre class="wp-block-code"><code>=IMSQRT(&quot;3+4j&quot;)
→ 2+j</code></pre>



<p class="wp-block-paragraph">伝送線路の特性インピーダンス<code>Z₀ = √(Z/Y)</code>を求める場面や、共振回路の解析でインピーダンスの平方根が必要になる場面で、IMSQRT関数が一瞬で答えを出してくれます。手計算だと極形式への変換が必要な計算も、セル1つで完結するのは大きな魅力ですよね。</p>



<h3 class="wp-block-heading"><span id="toc11">制御工学の伝達関数の解析</span></h3>



<p class="wp-block-paragraph">制御系の<strong>極（ポール）や零点（ゼロ）</strong>を求める際、2次方程式の解として複素数の平方根が登場します。判別式が負になるケース（振動系で虚数解が出るケース）でも、IMSQRT関数ならそのまま処理できます。</p>



<p class="wp-block-paragraph">たとえば、特性方程式<code>s² + 2ζω_n s + ω_n² = 0</code>の解は<code>s = -ζω_n ± ω_n√(ζ²-1)</code>ですが、減衰比ζが1未満のときは平方根の中身が負になりますよね。Excelで感度解析やパラメータスイープをするなら、IMSQRTで解析式をそのままセルに落とし込めるので、複素数専用の計算ソフトを立ち上げる手間が省けます。</p>



<h3 class="wp-block-heading"><span id="toc12">学習・研究用途での検算</span></h3>



<p class="wp-block-paragraph">手計算で求めた複素数の平方根が合っているかを確認したいときにも便利です。IMSQRTの結果と突き合わせれば、符号の取り違えや計算ミスをすぐ発見できます。</p>



<p class="wp-block-paragraph">IMPOWER関数（複素数のべき乗を求める関数）と組み合わせれば、検算の精度もさらに上げられます。IMSQRTで求めた平方根をIMPOWERで2乗して、元の値に戻るかを確認する流れですね。</p>



<pre class="wp-block-code"><code>=IMPOWER(IMSQRT(&quot;-4+6i&quot;), 2)
→ -4+6i（元の値に戻る）</code></pre>



<h2 class="wp-block-heading"><span id="toc13">IMSQRT関数と一緒に覚えたい複素数関数</span></h2>



<p class="wp-block-paragraph">IMSQRT単体でも十分便利ですが、他の複素数関数（IM〜で始まる関数群）と組み合わせるとExcelで本格的な複素数計算ができるようになります。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>機能</th><th>IMSQRTとの典型的な組み合わせ</th></tr></thead><tbody><tr><td>COMPLEX</td><td>実部・虚部から複素数を作成</td><td>IMSQRTへの入力作成</td></tr><tr><td>IMPOWER</td><td>複素数のべき乗</td><td>IMSQRTの逆演算で検証</td></tr><tr><td>IMPRODUCT</td><td>複素数の積</td><td>複数の複素数の積の平方根</td></tr><tr><td>IMSUM</td><td>複素数の和</td><td><code>=IMSQRT(IMSUM(Z1, Z2))</code></td></tr><tr><td>IMABS</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>IMARGUMENT</td><td>複素数の偏角（ラジアン）</td><td>極形式での確認</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">たとえば、<code>=IMREAL(IMSQRT("3+4i"))</code>で実部だけ、<code>=IMAGINARY(IMSQRT("3+4i"))</code>で虚部だけを数値として取り出せます。戻り値が文字列で扱いにくいときは、この2関数で分解してから続きの計算をするのが定石ですよ。</p>



<h2 class="wp-block-heading"><span id="toc14">IMSQRT関数でよく起きるエラーと対処法</span></h2>



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



<figure class="wp-block-table"><table><thead><tr><th>エラー</th><th>主な原因</th><th>対処法</th></tr></thead><tbody><tr><td><code>#NUM!</code></td><td>虚数単位<code>i</code>と<code>j</code>が混在している、または複素数の形式が不正</td><td>形式を<code>x+yi</code>か<code>x+yj</code>のいずれかに統一する</td></tr><tr><td><code>#VALUE!</code></td><td>引数が複素数として解釈できない文字列（全角や空白混入など）</td><td>半角で入力し、余計な空白を削除する</td></tr><tr><td>意図しない結果</td><td>セル参照先が単なる数値で虚部が認識されていない</td><td>COMPLEX関数で明示的に複素数化する</td></tr><tr><td><code>#NAME?</code></td><td>関数名のスペルミス（IMSQRT以外の綴り）</td><td>関数名のスペルを確認する</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc15">とくに多いのが全角文字の混入</span></h3>



<p class="wp-block-paragraph">実際につまずきやすいのが、全角文字の混入です。全角の<code>ｉ</code>（虚数単位）、全角の<code>＋</code>、大文字の<code>I</code>や<code>J</code>、全角のマイナス記号などが紛れ込んでいるとエラーになります。</p>



<p class="wp-block-paragraph">Webサイトや論文PDFからコピペで入力した場合は、全角記号が混入していないか必ず確認しましょう。見た目が似ているので気づきにくいですが、ExcelはJIS X 0201の半角文字しか複素数の要素として認識してくれませんよ。</p>



<h3 class="wp-block-heading"><span id="toc16">IMSQRT関数のTIP: 戻り値が文字列であることを忘れない</span></h3>



<p class="wp-block-paragraph">IMSQRT関数のもう1つの落とし穴が、戻り値の型です。結果は見た目が数字でも<strong>文字列</strong>なので、<code>=IMSQRT("4")+1</code>のような計算を書くと<code>#VALUE!</code>エラーになります。</p>



<p class="wp-block-paragraph">戻り値を数値として扱いたいときは、IMREAL関数（実部を数値で返す）かIMABS関数（絶対値を数値で返す）で一度実数に変換してから計算してくださいね。</p>



<h2 class="wp-block-heading"><span id="toc17">IMSQRT関数に関するよくある質問</span></h2>



<h3 class="wp-block-heading"><span id="toc18">Q. IMSQRT関数は実数（普通の数）にも使えますか？</span></h3>



<p class="wp-block-paragraph">A. はい、使えます。<code>=IMSQRT("4")</code>は文字列<code>"2"</code>を返します。ただし戻り値は文字列型なので、引き続き実数として計算するにはIMREAL関数で実部を取り出してください。</p>



<pre class="wp-block-code"><code>=IMREAL(IMSQRT(&quot;4&quot;))
→ 2（数値）</code></pre>



<h3 class="wp-block-heading"><span id="toc19">Q. 戻り値の小数が長くて見づらいです</span></h3>



<p class="wp-block-paragraph">A. IMABS関数で絶対値（実数）に変換してからROUND関数で丸めるか、IMREAL関数・IMAGINARY関数で実部・虚部を取り出してそれぞれ丸めましょう。</p>



<pre class="wp-block-code"><code>=ROUND(IMREAL(IMSQRT(&quot;1+i&quot;)), 4)
→ 1.0987

=ROUND(IMAGINARY(IMSQRT(&quot;1+i&quot;)), 4)
→ 0.4551</code></pre>



<h3 class="wp-block-heading"><span id="toc20">Q. Googleスプレッドシートでも同じ使い方で動きますか？</span></h3>



<p class="wp-block-paragraph">A. はい、Googleスプレッドシートでも<code>=IMSQRT("3+4i")</code>と書けば同じように動作します。構文は完全に互換なので、ExcelとGoogleスプレッドシートを行き来する環境でも安心ですよ。</p>



<h3 class="wp-block-heading"><span id="toc21">Q. 虚数単位にiとjはどちらを使えばいいですか？</span></h3>



<p class="wp-block-paragraph">A. 数学・物理系の慣例では<code>i</code>、電気・制御系の慣例では<code>j</code>が使われます。どちらもIMSQRTは受け付けますが、<strong>同じブック内では統一</strong>したほうが混乱がありません。セル参照で計算を連結する場合、片方は<code>i</code>・もう片方は<code>j</code>だと<code>#NUM!</code>エラーになりますよ。</p>



<h3 class="wp-block-heading"><span id="toc22">Q. IMSQRT関数で配列数式は使えますか？</span></h3>



<p class="wp-block-paragraph">A. Microsoft 365のスピル対応バージョンなら、<code>=IMSQRT(A2:A10)</code>のように範囲指定で一括計算できます。旧バージョンではオートフィルで対応してください。</p>



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



<p class="wp-block-paragraph">IMSQRT関数とあわせて使う複素数関数の詳しい解説は、次の記事もご覧くださいね。</p>



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-complex/">ExcelのCOMPLEX関数の使い方</a>では、実部と虚部からIMSQRTへ渡す複素数を組み立てる方法を解説しています。</li><li><a href="https://mashukabu.com/excel-function-howto-use-impower/">ExcelのIMPOWER関数の使い方</a>を読めば、IMSQRTの逆演算で平方根の検算をする手順がわかります。</li><li><a href="https://mashukabu.com/excel-function-howto-use-imabs/">ExcelのIMABS関数の使い方</a>では、文字列で返る戻り値を絶対値（実数）に変換する方法を確認できます。</li><li><a href="https://mashukabu.com/excel-function-howto-use-imreal/">ExcelのIMREAL関数の使い方</a>で、IMSQRTの戻り値から実部だけを数値で取り出す方法を押さえておきましょう。</li></ul>



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



<p class="wp-block-paragraph">IMSQRT関数は、<code>=IMSQRT(複素数)</code>という短い式で複素数の平方根を返してくれる便利なエンジニアリング関数です。ポイントをおさらいしておきましょう。</p>



<ul class="wp-block-list"><li>引数は<code>"x+yi"</code>または<code>"x+yj"</code>の文字列か、複素数が入ったセル参照で渡す</li><li>SQRT関数がエラーになる負の数も、IMSQRTなら虚数解として処理できる</li><li>虚数単位<code>i</code>と<code>j</code>は混在させず、ブック内で統一する</li><li>戻り値は文字列型なので、さらに計算を続けるならIMREAL・IMABS・IMAGINARY関数と組み合わせる</li><li>実部・虚部が別セルにあるときはCOMPLEX関数で組み立ててから渡すと扱いやすい</li><li>全角文字の混入が<code>#NUM!</code>エラーの最頻出原因</li></ul>



<p class="wp-block-paragraph">交流回路や制御工学の計算を手作業でやっていた方は、ぜひExcelにIMSQRT関数を組み込んで作業時間を短縮してみてくださいね。複素数関連の他の関数（COMPLEX・IMPOWER・IMABSなど）とセットで覚えておくと、さらに応用が広がりますよ。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-imsqrt/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
