<?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>IMCOS &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/imcos/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:22:18 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>IMCOS &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのIMCOS関数の使い方｜複素数の余弦（コサイン）を一発で計算</title>
		<link>https://mashukabu.com/spreadsheet-imcos-function/</link>
					<comments>https://mashukabu.com/spreadsheet-imcos-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:26:15 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IMCOS]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[コサイン]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6307</guid>

					<description><![CDATA[GoogleスプレッドシートのIMCOS関数の使い方を解説。複素数（a+bi）のコサイン（余弦）を一発で求める基本構文、虚数単位i/jの扱い、COMPLEX関数やIMSIN関数との連携、オイラーの公式に基づく計算式、信号処理や交流回路解析での実務活用例、よくあるエラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで複素数のコサインを計算したいけど、オイラーの公式から手で展開するのは面倒&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで複素数を扱っていると、三角関数を複素数に拡張した計算が必要になる場面がありますよね。実部と虚部に分けてオイラーの公式（e^(ix) = cos x + i sin x）から展開し、cos(a+bi) = cos a × cosh b &#8211; i sin a × sinh b という式を組み立てる&#8230;という手順を毎回踏むのはちょっと大変です。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがGoogleスプレッドシートのIMCOS関数です。複素数を渡すだけでコサインの値を一発で返してくれるので、フーリエ解析や交流回路の数式が一気にすっきりしますよ。</p>



<p class="wp-block-paragraph">ExcelのIMCOS関数と完全互換なので、Excelファイルとやり取りする現場でも安心ですね。COMPLEX関数で作った複素数や、IMSUM・IMPRODUCTの演算結果からも、そのままコサインを計算できます。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのIMCOS関数の基本構文と実務での活用例を解説します。オイラーの公式に基づく内部計算の仕組みや、よくあるエラーと対処法もしっかり紹介していきますよ。</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">スプレッドシートのIMCOS関数とは？</a></li><li><a href="#toc2" tabindex="0">IMCOS関数の書き方（構文と引数）</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">IMCOS関数の基本的な使い方</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">度数法で角度を渡す（RADIANS関数と組み合わせる）</a></li><li><a href="#toc10" tabindex="0">ARRAYFORMULAで複数行を一括処理する</a></li></ol></li><li><a href="#toc11" tabindex="0">IMCOS関数の実務活用例</a></li><li><a href="#toc12" tabindex="0">IMCOS関数の実務活用例</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: 交流回路の過渡応答シミュレーション</a></li><li><a href="#toc16" tabindex="0">活用例4: IMSIN関数と組み合わせて三角関数恒等式を確認する</a></li><li><a href="#toc17" tabindex="0">活用例5: 量子力学の波動関数の重ね合わせ</a></li></ol></li><li><a href="#toc18" tabindex="0">IMCOS関数とCOMPLEX関数群の関係</a></li><li><a href="#toc19" tabindex="0">IMCOS関数のよくあるエラーと対処法</a><ol><li><a href="#toc20" tabindex="0">#NUM! エラー（複素数の形式エラー）</a></li><li><a href="#toc21" tabindex="0">#VALUE! エラー（引数の型エラー）</a></li><li><a href="#toc22" tabindex="0">数値そのものを渡した場合</a></li><li><a href="#toc23" tabindex="0">虚部が大きすぎてオーバーフロー</a></li><li><a href="#toc24" tabindex="0">IFERRORでまとめてエラーを吸収する</a></li></ol></li><li><a href="#toc25" tabindex="0">IMCOS関数とExcelの互換性</a></li><li><a href="#toc26" tabindex="0">複素数関連の関数一覧</a></li><li><a href="#toc27" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



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



<p class="wp-block-paragraph">読み方は「イマジナリー・コサイン」または「アイエム・コス」で、英語の「imaginary number（虚数）」の「cosine（余弦）」に由来します。複素数「a+bi」に対して、複素数版のコサイン値を返してくれるのが役割ですね。</p>



<p class="wp-block-paragraph">そもそも複素数のコサインとは、実数の三角関数を複素数全体に拡張したものです。オイラーの公式から導かれる定義式は次のようになります。</p>



<pre class="wp-block-code"><code>cos(a+bi) = cos(a) × cosh(b) - i × sin(a) × sinh(b)</code></pre>



<p class="wp-block-paragraph">実部は「cos(a) × cosh(b)」、虚部は「-sin(a) × sinh(b)」となり、結果も複素数で返るのが特徴ですね。実数のコサインのように-1〜1に収まらず、虚部が大きくなるとどんどん値が大きくなる点も覚えておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>複素数（z）</th><th>IMCOS(z)の結果（概算）</th><th>内部計算</th></tr></thead><tbody><tr><td>0+0i</td><td>1</td><td>cos(0)×cosh(0) = 1×1</td></tr><tr><td>π/2+0i</td><td>0</td><td>cos(π/2) = 0</td></tr><tr><td>0+1i</td><td>1.5430806&#8230;</td><td>cosh(1) ≈ 1.5431</td></tr><tr><td>1+1i</td><td>0.8337-0.9889i</td><td>cos(1)cosh(1) &#8211; i sin(1)sinh(1)</td></tr><tr><td>π+0i</td><td>-1</td><td>cos(π) = -1</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">複素数のコサインは、フーリエ解析・量子力学・交流回路の過渡応答・制御工学の伝達関数など、複素数三角関数が必要な場面で活躍する基礎パーツですね。</p>



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



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



<pre class="wp-block-code"><code>=IMCOS(複素数)</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;1+2i&#8221;」や「&#8221;1+2j&#8221;」のような複素数文字列を直接渡せます。COMPLEX関数（実数と虚数から複素数を作成する関数）の結果や、複素数が入ったセルの参照も指定できますよ。</p>



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



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



<p class="wp-block-paragraph">引数の実部・虚部はラジアン（弧度法）で扱われる点に注意してください。度数法（°）で角度を渡したい場合は、RADIANS関数（度をラジアンに変換する関数）で事前に変換する必要がありますね。</p>



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



<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>



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



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



<pre class="wp-block-code"><code>=IMCOS(&quot;1+1i&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「0.833730025131149-0.988897705762865i」になります。実部・虚部それぞれが小数で返ってきますね。</p>



<p class="wp-block-paragraph">!<a href="https://mashukabu.com/_images/spreadsheet-imcos-function/02_formula_imcos-basic.png/">_images/spreadsheet-imcos-function/02_formula_imcos-basic.png</a></p>



<p class="wp-block-paragraph">実部だけの複素数（虚部0）を渡すと、通常のコサインと同じ結果になります。</p>



<pre class="wp-block-code"><code>=IMCOS(&quot;0&quot;)
=IMCOS(&quot;0+0i&quot;)</code></pre>



<p class="wp-block-paragraph">どちらも結果は「1」です。cos(0) = 1 という基本的な値が返ってきますね。</p>



<p class="wp-block-paragraph">虚部だけの純虚数（実部0）を渡すと、結果はハイパボリックコサイン（双曲線余弦）になります。</p>



<pre class="wp-block-code"><code>=IMCOS(&quot;1i&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「1.54308063481524」になります。これはcosh(1)の値ですね。cos(0+1i) = cos(0)×cosh(1) = 1×cosh(1) という計算が裏で動いています。</p>



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



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



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



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



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



<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>=IMCOS(COMPLEX(1, 1))</code></pre>



<p class="wp-block-paragraph">結果は「0.833730025131149-0.988897705762865i」、つまり「IMCOS(&#8220;1+1i&#8221;)」と同じですね。COMPLEX(1, 1)が内部で「1+1i」を作り、IMCOS関数がそのコサインを返してくれます。</p>



<p class="wp-block-paragraph">数値で角度を渡したいときに便利な書き方ですよ。</p>



<h3 class="wp-block-heading"><span id="toc9">度数法で角度を渡す（RADIANS関数と組み合わせる）</span></h3>



<p class="wp-block-paragraph">実部を「30度」のような度数法で渡したい場合は、RADIANS関数で変換します。</p>



<pre class="wp-block-code"><code>=IMCOS(COMPLEX(RADIANS(30), 0))</code></pre>



<p class="wp-block-paragraph">結果は「0.866025403784439」、つまりcos(30°) = √3/2 ≈ 0.866 ですね。実数のCOS関数と同じ値が返ってきます。</p>



<p class="wp-block-paragraph">虚部にも度数法を使いたい場合は両方をRADIANSで包みます。</p>



<pre class="wp-block-code"><code>=IMCOS(COMPLEX(RADIANS(30), RADIANS(45)))</code></pre>



<p class="wp-block-paragraph">度数法で角度を扱う実務シートでは、RADIANSとセットで使うのが定番ですよ。</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(IMCOS(A2:A10))</code></pre>



<p class="wp-block-paragraph">A列に並んだ複素数から、対応するコサイン値をB列に一発で展開できますよ。フーリエ解析の各周波数成分を一括処理するときに重宝しますね。</p>



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



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



<h3 class="wp-block-heading"><span id="toc13">活用例1: 実部と虚部に分解して可視化する</span></h3>



<p class="wp-block-paragraph">IMCOS関数の戻り値は複素数なので、グラフにしたいときは実部と虚部に分けて取り出します。IMREAL関数とIMAGINARY関数を組み合わせる流れですよ。</p>



<p class="wp-block-paragraph">A列に複素数が並んでいるとしましょう。</p>



<pre class="wp-block-code"><code>B2: =IMCOS(A2)                ← 複素数のコサイン
C2: =IMREAL(B2)               ← 実部
D2: =IMAGINARY(B2)            ← 虚部</code></pre>



<p class="wp-block-paragraph">C列を実部、D列を虚部としてプロットすれば、複素平面上での挙動が一目で分かりますね。複素関数の振る舞いを学ぶ教材や、解析結果の可視化レポートで使えるパターンです。</p>



<h3 class="wp-block-heading"><span id="toc14">活用例2: オイラーの公式の検算</span></h3>



<p class="wp-block-paragraph">オイラーの公式「e^(ix) = cos(x) + i sin(x)」から、cos(x) = (e^(ix) + e^(-ix)) / 2 という関係が導けます。IMCOSとIMEXP（複素指数関数）を使って、この関係式を検算してみましょう。</p>



<p class="wp-block-paragraph">セルA2に複素数「1+1i」が入っているとします。</p>



<pre class="wp-block-code"><code>=IMCOS(A2)
=IMDIV(IMSUM(IMEXP(IMPRODUCT(&quot;i&quot;, A2)), IMEXP(IMPRODUCT(&quot;-i&quot;, A2))), 2)</code></pre>



<p class="wp-block-paragraph">両者は同じ結果「0.833730025131149-0.988897705762865i」になりますよ。複素関数論の基本公式を、スプレッドシート上で確認できる仕組みですね。教育用の教材や、数式処理ソフトの代替として使える場面です。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例3: 交流回路の過渡応答シミュレーション</span></h3>



<p class="wp-block-paragraph">電気回路の過渡応答（スイッチを入れた直後の振る舞い）では、減衰振動が「e^(-αt) × cos(ωt)」という形で表されます。これを複素数表現「cos((ω + iα)t)」に置き換えて計算する場面で、IMCOS関数が役立ちますよ。</p>



<p class="wp-block-paragraph">時間t=0.5秒、減衰係数α=2、角周波数ω=10rad/sの場合を考えましょう。</p>



<pre class="wp-block-code"><code>A2: 0.5         ← 時間 t
B2: =IMCOS(COMPLEX(10*A2, 2*A2))    ← cos((ω + iα)t)
C2: =IMREAL(B2)                     ← 実部（観測される振動）</code></pre>



<p class="wp-block-paragraph">実部の値が、その時刻での電圧や電流の瞬時値に対応しますね。RLC回路の応答解析や、制御工学の過渡解析シートで活躍するパターンです。</p>



<h3 class="wp-block-heading"><span id="toc16">活用例4: IMSIN関数と組み合わせて三角関数恒等式を確認する</span></h3>



<p class="wp-block-paragraph">複素数の三角関数にも「sin²(z) + cos²(z) = 1」という恒等式が成り立ちます。IMCOSとIMSIN（複素サイン関数）、IMPRODUCT、IMSUMを組み合わせて確認してみましょう。</p>



<pre class="wp-block-code"><code>A2: 1+1i
B2: =IMCOS(A2)                              ← cos(z)
C2: =IMSIN(A2)                              ← sin(z)
D2: =IMSUM(IMPRODUCT(B2, B2), IMPRODUCT(C2, C2))   ← cos²z + sin²z</code></pre>



<p class="wp-block-paragraph">D2の結果は「1」（実部1・虚部ほぼ0）になりますよ。複素数でも実数の三角関数と同じ恒等式が成り立つことを、数値で確認できる仕組みですね。</p>



<h3 class="wp-block-heading"><span id="toc17">活用例5: 量子力学の波動関数の重ね合わせ</span></h3>



<p class="wp-block-paragraph">量子力学では、粒子の状態を「e^(ikx)」のような複素指数関数で表すことが多いですね。これをcos表現に変換するときにIMCOS関数が登場します。</p>



<p class="wp-block-paragraph">位置x=2、波数k=3+0.1i（減衰を含む）の場合、波動関数の実部はこう書けます。</p>



<pre class="wp-block-code"><code>A2: 2          ← 位置 x
B2: 3          ← 波数の実部
C2: 0.1        ← 減衰係数
D2: =IMREAL(IMCOS(COMPLEX(B2*A2, C2*A2)))</code></pre>



<p class="wp-block-paragraph">物理の教材や、波動関数のシミュレーションシートで使える書き方ですよ。</p>



<h2 class="wp-block-heading"><span id="toc18">IMCOS関数とCOMPLEX関数群の関係</span></h2>



<p class="wp-block-paragraph">複素数を扱う関数群の中で、IMCOS関数の位置づけを整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>入力</th><th>出力</th><th>役割</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/spreadsheet-complex-function/">COMPLEX</a></td><td>実数 a, b</td><td>複素数 a+bi</td><td>複素数を作る</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imreal-function/">IMREAL</a></td><td>複素数 a+bi</td><td>実数 a</td><td>実部を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imaginary-function/">IMAGINARY</a></td><td>複素数 a+bi</td><td>実数 b</td><td>虚部を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imabs-function/">IMABS</a></td><td>複素数 a+bi</td><td>実数 √(a²+b²)</td><td>大きさを取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imargument-function/">IMARGUMENT</a></td><td>複素数 a+bi</td><td>実数 atan2(b,a)</td><td>偏角を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imconjugate-function/">IMCONJUGATE</a></td><td>複素数 a+bi</td><td>複素数 a-bi</td><td>共役を作る</td></tr><tr><td>IMCOS</td><td>複素数 z</td><td>複素数 cos(z)</td><td>コサインを計算する</td></tr><tr><td>IMSIN</td><td>複素数 z</td><td>複素数 sin(z)</td><td>サインを計算する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMREALやIMABSが「複素数から実数を取り出す」のに対して、IMCOS関数は「複素数から複素数を計算する」役割です。出力もそのまま複素数なので、IMSUMやIMPRODUCTにそのまま渡してさらに計算を続けられますよ。</p>



<p class="wp-block-paragraph">たとえば定義式どおりにcos(a+bi)を手動で組み立てると次のようになります。</p>



<pre class="wp-block-code"><code>=COMPLEX(COS(IMREAL(A2))*COSH(IMAGINARY(A2)), -SIN(IMREAL(A2))*SINH(IMAGINARY(A2)))</code></pre>



<p class="wp-block-paragraph">これはIMCOSと同じ結果になりますが、4つの関数を組み合わせる必要がありますよね。IMCOSを使えば1関数で済むので、数式が読みやすくなります。</p>



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



<h3 class="wp-block-heading"><span id="toc20">#NUM! エラー（複素数の形式エラー）</span></h3>



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



<pre class="wp-block-code"><code>=IMCOS(&quot;1+1I&quot;)   → #NUM!（大文字のIは不可）
=IMCOS(&quot;1+1k&quot;)   → #NUM!（i・j以外は不可）
=IMCOS(&quot;１+１i&quot;) → #NUM!（全角文字は不可）</code></pre>



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



<p class="wp-block-paragraph">スペースが入っている場合（例: <code>"1 + 1i"</code>）も認識できないことがあるので、余計な空白を除いておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc21">#VALUE! エラー（引数の型エラー）</span></h3>



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



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



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



<h3 class="wp-block-heading"><span id="toc22">数値そのものを渡した場合</span></h3>



<p class="wp-block-paragraph">数値（虚部0の実数）を渡すと、実数のコサインと同じ値が返ります。</p>



<pre class="wp-block-code"><code>=IMCOS(0)    → 1
=IMCOS(1)    → 0.5403023058681...</code></pre>



<p class="wp-block-paragraph">エラーにはなりません。ただし戻り値は複素数文字列として扱われる場合があるので、後続の数値計算で使うときはIMREAL関数で実部を取り出しておくと安心です。</p>



<h3 class="wp-block-heading"><span id="toc23">虚部が大きすぎてオーバーフロー</span></h3>



<p class="wp-block-paragraph">虚部が極端に大きい複素数を渡すと、cosh(b)が指数関数的に大きくなって、計算結果がオーバーフローすることがあります。</p>



<pre class="wp-block-code"><code>=IMCOS(&quot;0+1000i&quot;)   → #NUM!（cosh(1000)が大きすぎる）</code></pre>



<p class="wp-block-paragraph">対処法は、虚部の値を物理的に意味のある範囲に制限することです。減衰計算なら時定数の数倍程度に抑える、といった調整が必要ですね。</p>



<h3 class="wp-block-heading"><span id="toc24">IFERRORでまとめてエラーを吸収する</span></h3>



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



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



<p class="wp-block-paragraph">エラー時にメッセージを返すようにしておけば、安心して大量データに適用できますよ。</p>



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



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



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



<p class="wp-block-paragraph">ExcelのIMCOS関数は、Excel 2013以降のバージョンで利用できます。Microsoft 365、Excel for Mac、Excel Online でも同じように使えますよ。Excel 2010以前のバージョンでは利用できないので、古い環境とファイルを共有する場合は注意してくださいね。</p>



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



<p class="wp-block-paragraph">IMCOS関数と一緒に使うことが多い、複素数関連の関数をまとめました。</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><a href="https://mashukabu.com/spreadsheet-imreal-function/">IMREAL</a></td><td>複素数の実数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imaginary-function/">IMAGINARY</a></td><td>複素数の虚数係数を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imabs-function/">IMABS</a></td><td>複素数の絶対値（大きさ）を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imargument-function/">IMARGUMENT</a></td><td>複素数の偏角（角度）をラジアンで返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imconjugate-function/">IMCONJUGATE</a></td><td>共役複素数を返す</td></tr><tr><td>IMCOS</td><td>複素数のコサインを返す</td></tr><tr><td>IMSIN</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">IMCOS関数は、これら複素数関数群の中で「コサインを計算する」役割を担います。COMPLEXで作り、IMCOSでコサインを取り、IMREAL・IMAGINARYで実部と虚部に分けて可視化するのが基本パターンですね。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのIMCOS関数は、複素数のコサイン（余弦）を返す関数です。フーリエ解析や量子力学の波動関数、交流回路の過渡応答、制御工学の伝達関数など、複素数三角関数が必要な場面で欠かせない関数ですよ。</p>



<ul class="wp-block-list"><li>構文は <code>=IMCOS(複素数)</code> で引数は1つだけのシンプルな関数</li><li>「a+bi」を渡すと「cos(a)cosh(b) &#8211; i sin(a)sinh(b)」が返る</li><li>「a+bj」のような工学系表記もそのまま受け付ける</li><li>引数の角度はラジアンで扱う（度数法ならRADIANS関数で変換）</li><li>虚部0の実数を渡すと、実数のCOS関数と同じ値になる</li><li>実部0の純虚数を渡すと、双曲線余弦cosh(b)の値が返る</li><li>COMPLEX関数の結果やセル参照、複素数演算の結果からコサインを計算できる</li><li>IMSIN関数と組み合わせて三角関数恒等式を確認できる</li><li>ARRAYFORMULAで複数の複素数を一括処理できる</li><li>大文字の「I」「J」や全角文字、i・j以外の単位は #NUM! エラー</li><li>論理値やエラー値を渡すと #VALUE! エラー</li><li>虚部が極端に大きいとオーバーフローで #NUM! エラー</li><li>ExcelのIMCOS関数と完全互換（Excel 2013以降）</li></ul>



<p class="wp-block-paragraph">複素数のコサインが必要になったら、IMCOS関数の出番ですよ。COMPLEX関数で複素数を作り、IMCOSでコサインを取り、IMREAL・IMAGINARYで成分を分解する流れで、エンジニアリング系のシートを軽快に組み立ててみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-imcos-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIMCOS関数の使い方｜複素数のコサイン（余弦）を求める方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-imcos/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-imcos/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 22 Nov 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IMCOS]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[コサイン]]></category>
		<category><![CDATA[三角関数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3048</guid>

					<description><![CDATA[ExcelのIMCOS関数の使い方を初心者向けに徹底解説。複素数のコサイン（余弦）を返す構文・引数・計算例に加えて、電気工学の交流回路解析や信号処理、物理シミュレーションでの実務活用例、IMSIN・IMTAN・COS関数との使い分け、#NUM!や#VALUE!エラーの原因と対処法までサンプル付きでまとめています。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで複素数を扱っていると、「この複素数のコサインってどう計算するんだろう？」と悩む場面がありますよね。通常のCOS関数は実数にしか対応していないので、複素数を渡すとエラーになってしまいます。</p>



<p class="wp-block-paragraph">そんなときに使えるのが <strong>IMCOS関数</strong> です。複素数を渡すだけで、そのコサイン（余弦）を複素数の形でサッと返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、IMCOS関数の基本的な書き方から、電気工学や信号処理など実務での活用例、IMSIN・IMTAN との使い分け、よくあるエラーの対処法まで、サンプルデータ付きでわかりやすく解説します。</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のIMCOS関数とは？</a><ol><li><a href="#toc2" tabindex="0">複素数のコサインとは？</a></li><li><a href="#toc3" tabindex="0">入力と出力のイメージ</a></li><li><a href="#toc4" tabindex="0">IMCOS関数が使えるバージョン</a></li></ol></li><li><a href="#toc5" tabindex="0">IMCOS関数の書き方（構文と引数）</a><ol><li><a href="#toc6" tabindex="0">基本構文</a></li><li><a href="#toc7" tabindex="0">引数の説明</a></li></ol></li><li><a href="#toc8" tabindex="0">IMCOS関数の基本的な使い方</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: COMPLEX関数と組み合わせる</a></li><li><a href="#toc12" tabindex="0">例4: 実数を渡した場合</a></li></ol></li><li><a href="#toc13" tabindex="0">IMCOS関数の実務での活用例</a><ol><li><a href="#toc14" tabindex="0">活用例1: 交流回路の電圧波形解析（電気工学）</a></li><li><a href="#toc15" tabindex="0">活用例2: 信号処理・フーリエ解析</a></li><li><a href="#toc16" tabindex="0">活用例3: 物理シミュレーション（波動・減衰振動）</a></li><li><a href="#toc17" tabindex="0">活用例4: 複数の複素数のコサインを一括計算する</a></li><li><a href="#toc18" tabindex="0">活用例5: IMSIN関数と組み合わせて恒等式を検証する</a></li></ol></li><li><a href="#toc19" tabindex="0">IMSIN・IMTAN・COSとの使い分け</a></li><li><a href="#toc20" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc21" tabindex="0">#NUM! エラー</a></li><li><a href="#toc22" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc23" tabindex="0">#NAME? エラー</a></li><li><a href="#toc24" tabindex="0">意図しない大きな値が返る場合</a></li></ol></li><li><a href="#toc25" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc26" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">IMCOS関数は、指定した複素数の <strong>コサイン（余弦）</strong> を複素数で返すExcelのエンジニアリング関数です。</p>



<p class="wp-block-paragraph">読み方は <strong>「イマジナリー・コサイン」</strong> です。「IM」は Imaginary（虚数・複素数）、「COS」は Cosine（余弦）を意味しています。</p>



<h3 class="wp-block-heading"><span id="toc2">複素数のコサインとは？</span></h3>



<p class="wp-block-paragraph">実数のコサイン（COS関数）はなじみがある方も多いと思います。複素数のコサインは、その考え方を複素数の世界に拡張したものです。</p>



<p class="wp-block-paragraph">数学的には、複素数 z のコサインは次の公式で定義されます。</p>



<p class="wp-block-paragraph"><strong>cos(z) = (e^(iz) + e^(-iz)) / 2</strong></p>



<p class="wp-block-paragraph">ここで e は自然対数の底（ネイピア数）、i は虚数単位です。この公式はオイラーの公式から導かれます。実部と虚部を分けると、次のように表せます。</p>



<p class="wp-block-paragraph"><strong>cos(x+yi) = cos(x)cosh(y) &#8211; i*sin(x)sinh(y)</strong></p>



<p class="wp-block-paragraph">手計算だとかなり面倒ですが、IMCOS関数を使えば一発で求められるので便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc3">入力と出力のイメージ</span></h3>



<ul class="wp-block-list"><li><strong>入力</strong>: 複素数（例: &#8220;1+2i&#8221;）</li><li><strong>出力</strong>: 複素数のコサイン（例: &#8220;2.03272300701967-3.0518977991518i&#8221;）</li></ul>



<p class="wp-block-paragraph">結果も複素数で返ってくるのがポイントです。実数のCOS関数のように -1 から 1 の範囲には収まりません。虚部が大きくなるほど cosh(y)・sinh(y) が指数関数的に増大するため、出力の絶対値もぐんぐん大きくなっていきます。</p>



<h3 class="wp-block-heading"><span id="toc4">IMCOS関数が使えるバージョン</span></h3>



<p class="wp-block-paragraph">IMCOS関数は <strong>Excel 2013以降</strong> で利用できます。Microsoft 365・Excel 2016/2019/2021 はもちろん、Excel for the web や Excel for Mac でも使えますよ。Excel 2010 以前では #NAME? エラーが発生するので、使いたい場合はバージョンアップを検討してみてください。</p>



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



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



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



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



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



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>複素数</td><td>必須</td><td>コサインを求めたい複素数。&#8221;x+yi&#8221; または &#8220;x+yj&#8221; のテキスト形式で指定します</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">引数には、次のいずれかの方法で値を渡せます。</p>



<ul class="wp-block-list"><li><strong>文字列で直接指定</strong>: <code>=IMCOS("1+2i")</code></li><li><strong>セル参照</strong>: <code>=IMCOS(A1)</code>（A1セルに複素数が入っている場合）</li><li><strong>COMPLEX関数の結果</strong>: <code>=IMCOS(COMPLEX(1,2))</code></li></ul>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX関数</a>を使えば、実部と虚部を別々に指定して複素数を作れます。セルの値を組み合わせたいときに便利ですよ。</p>



<p class="wp-block-paragraph">なお、虚数単位は <code>i</code> でも <code>j</code> でも構いません（電気工学では電流 i との混同を避けるため <code>j</code> を使うのが一般的です）。ただし同じ数式内では表記を統一する必要がある点だけ注意してください。</p>



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



<p class="wp-block-paragraph">実際にIMCOS関数を使ってみましょう。</p>



<h3 class="wp-block-heading"><span id="toc9">例1: セルの複素数からコサインを求める</span></h3>



<p class="wp-block-paragraph">セルA1に「1+2i」が入っているとします。</p>



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



<p class="wp-block-paragraph">結果: <strong>2.03272300701967-3.0518977991518i</strong></p>



<p class="wp-block-paragraph">実部が約2.03、虚部が約-3.05の複素数が返ります。実数のコサインとは違い、値が1を超えることがあるのが特徴ですね。</p>



<h3 class="wp-block-heading"><span id="toc10">例2: 関数内に直接値を指定する</span></h3>



<p class="wp-block-paragraph">セル参照を使わず、直接テキストで複素数を指定することもできます。</p>



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



<p class="wp-block-paragraph">結果: <strong>-27.0349456030742-3.85115333481178i</strong></p>



<p class="wp-block-paragraph">実部の絶対値がかなり大きくなっていますよね。虚部が大きい複素数ほど、コサインの結果も大きくなる傾向があります。直接指定するときは、ダブルクォーテーション（&#8221;）で囲むのを忘れないでくださいね。</p>



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



<p class="wp-block-paragraph">実部と虚部を別々のセルで管理している場合は、<a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX関数</a>と組み合わせると便利です。</p>



<p class="wp-block-paragraph">セルA1に「1」、B1に「2」が入っているとき:</p>



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



<p class="wp-block-paragraph">結果: <strong>2.03272300701967-3.0518977991518i</strong></p>



<p class="wp-block-paragraph">COMPLEX関数が「1+2i」を作り、それをIMCOSがコサインに変換する流れです。実部と虚部をそれぞれ独立したセルで管理できるので、パラメータを動かしながらシミュレーションするときに特に重宝しますよ。</p>



<h3 class="wp-block-heading"><span id="toc12">例4: 実数を渡した場合</span></h3>



<p class="wp-block-paragraph">実数（虚部がゼロの複素数）を渡すと、通常のCOS関数と同じ結果が返ります。</p>



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



<p class="wp-block-paragraph">結果: <strong>1</strong>（cos(0) = 1）</p>



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



<p class="wp-block-paragraph">結果: <strong>-1</strong>（cos(π) = -1）</p>



<p class="wp-block-paragraph">実数しか扱わない場面では通常のCOS関数で十分ですが、実数と複素数が混在するデータをまとめて処理したいときにはIMCOS関数が役立ちますよ。</p>



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



<p class="wp-block-paragraph">ここからは、複素数のコサインが実務でどう使われるかを具体的なシーンごとに紹介します。</p>



<h3 class="wp-block-heading"><span id="toc14">活用例1: 交流回路の電圧波形解析（電気工学）</span></h3>



<p class="wp-block-paragraph">交流回路の解析では、電圧・電流・インピーダンスをすべて <strong>複素数（フェーザ）</strong> で表現します。抵抗・インダクタ・キャパシタが複合した回路では、角周波数 ω と時間項を複素指数で表し、必要に応じて三角関数で実部・虚部の瞬時値を取り出します。</p>



<p class="wp-block-paragraph">たとえば、複素角 z = ωt + φi のような時間変化を含む量について、コサイン成分（実部に対応する瞬時値）を取り出したいときに IMCOS関数 が使えます。</p>



<pre class="wp-block-code"><code>=IMCOS(COMPLEX(角周波数*時間, 減衰項))</code></pre>



<p class="wp-block-paragraph">減衰振動（e^(-αt) cos(ωt)）のような波形を、実部・虚部を自在にコントロールして表形式でシミュレートできるので、手計算よりずっと楽ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例2: 信号処理・フーリエ解析</span></h3>



<p class="wp-block-paragraph">信号処理では、時間領域の信号を周波数領域に変換するフーリエ変換が基本になります。変換の中身は <code>exp(-iωt) = cos(ωt) - i*sin(ωt)</code> という複素指数の積分なので、コサイン成分を切り出す場面が頻繁に登場します。</p>



<p class="wp-block-paragraph">Excel で小規模な離散フーリエ変換（DFT）を手組みする場合、各周波数ビンでの基底関数の値を IMCOS と <a href="https://mashukabu.com/excel-function-howto-use-imsin/">IMSIN関数</a> で作れば、仕組みの理解がぐっと深まります。学習用途や検証用のミニDFTには十分使えますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">活用例3: 物理シミュレーション（波動・減衰振動）</span></h3>



<p class="wp-block-paragraph">減衰振動の変位は、複素数を使うと <code>z(t) = A * exp((-γ + iω)t)</code> のような一本の式で書けます。実際の変位はこの実部、すなわちコサイン側の値で表されます。</p>



<p class="wp-block-paragraph">IMCOS関数を使えば、時間 t を縦方向に展開した表の各行で <code>=IMCOS(COMPLEX(ω<em>t, -γ</em>t))</code> のように書くだけで、減衰しながら振動する波形のコサイン成分を一括で出せます。グラフ化すれば、減衰のかかり具合を視覚的に確認できますよ。</p>



<h3 class="wp-block-heading"><span id="toc17">活用例4: 複数の複素数のコサインを一括計算する</span></h3>



<p class="wp-block-paragraph">複素数がA1:A5に並んでいる場合、B1にIMCOS関数を入力してB5までコピーすれば、まとめてコサインを求められます。</p>



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



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>複素数（A列）</th><th>コサイン（B列）</th></tr></thead><tbody><tr><td>1行目</td><td>1+i</td><td>0.833730025131149-0.988897705762865i</td></tr><tr><td>2行目</td><td>2+3i</td><td>-4.18962569096881-9.10922789375534i</td></tr><tr><td>3行目</td><td>0+i</td><td>1.54308063481524</td></tr><tr><td>4行目</td><td>3-2i</td><td>-3.72454550491532+0.511822569987385i</td></tr><tr><td>5行目</td><td>1</td><td>0.540302305868140</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">3行目のように純虚数（実部がゼロ）を渡すと、結果が実数になる点に注目してください。cos(yi) = cosh(y) なので、<a href="https://mashukabu.com/excel-function-howto-use-imcosh/">IMCOSH関数</a>と同じ値になりますよ。</p>



<h3 class="wp-block-heading"><span id="toc18">活用例5: IMSIN関数と組み合わせて恒等式を検証する</span></h3>



<p class="wp-block-paragraph">三角関数には「sin^2(z) + cos^2(z) = 1」という恒等式があります。複素数でもこれが成り立つか、Excelで確かめてみましょう。</p>



<p class="wp-block-paragraph">セルA1に「2+3i」が入っているとき:</p>



<pre class="wp-block-code"><code>=IMSUM(IMPRODUCT(IMSIN(A1),IMSIN(A1)),IMPRODUCT(IMCOS(A1),IMCOS(A1)))</code></pre>



<p class="wp-block-paragraph">結果: <strong>1</strong>（実数の1が返る）</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-imsin/">IMSIN関数</a>でサインを求め、<a href="https://mashukabu.com/excel-function-howto-use-improduct/">IMPRODUCT関数</a>で2乗してから<a href="https://mashukabu.com/excel-function-howto-use-imsum/">IMSUM関数</a>で足し合わせています。複素数でも恒等式がしっかり成り立つのは面白いですよね。数値誤差の検証や、複素関数の公式を授業や研修で説明するときにも使えますよ。</p>



<h2 class="wp-block-heading"><span id="toc19">IMSIN・IMTAN・COSとの使い分け</span></h2>



<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>実数 x だけを扱う</td><td>COS(x)</td><td>引数が実数ならCOSで十分。計算も速い</td></tr><tr><td>複素数 z の余弦成分が必要</td><td>IMCOS(z)</td><td>複素数対応の唯一の選択肢</td></tr><tr><td>複素数 z の正弦成分が必要</td><td><a href="https://mashukabu.com/excel-function-howto-use-imsin/">IMSIN(z)</a></td><td>コサインと対になる関数</td></tr><tr><td>複素数 z の tan が必要</td><td><a href="https://mashukabu.com/excel-function-howto-use-imtan/">IMTAN(z)</a></td><td>内部的には IMSIN÷IMCOS に相当</td></tr><tr><td>振幅（絶対値）が知りたい</td><td><a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS(IMCOS(z))</a></td><td>コサインの大きさだけ欲しいとき</td></tr><tr><td>位相（偏角）が知りたい</td><td><a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT(IMCOS(z))</a></td><td>コサインの位相だけ欲しいとき</td></tr></tbody></table></figure>



<p class="wp-block-paragraph"><strong>COS関数との違い</strong>: COS関数は実数のみ対応で、結果は -1 から 1 の範囲になります。IMCOS関数は複素数に対応し、結果も複素数で返ります。実数だけを扱う場面ではCOS関数、複素数を含むデータを扱う場面ではIMCOS関数を使い分けてくださいね。</p>



<p class="wp-block-paragraph"><strong>IMTAN と組み合わせて使うコツ</strong>: <code>IMTAN(z)</code> は内部的に <code>IMSIN(z) / IMCOS(z)</code> の関係にあります。IMCOS(z) がゼロに近い値を返す複素数を渡すと、IMTAN は巨大な値になって誤差が増えるので、場合によっては IMCOS と IMSIN を別々に計算してチェックした方が安全ですよ。</p>



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



<p class="wp-block-paragraph">IMCOS関数でよく出るエラーと、その対処法をまとめました。</p>



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



<p class="wp-block-paragraph">引数に有効な複素数として認識できない値を渡すと、#NUM! エラーが表示されます。</p>



<p class="wp-block-paragraph"><strong>よくある原因と対処法:</strong></p>



<figure class="wp-block-table"><table><thead><tr><th>原因</th><th>例</th><th>対処法</th></tr></thead><tbody><tr><td>複素数のテキスト形式が正しくない</td><td>=IMCOS(&#8220;1+2&#8221;)</td><td>虚数単位の「i」または「j」を末尾に付ける</td></tr><tr><td>数値の間にスペースが入っている</td><td>=IMCOS(&#8220;1 + 2i&#8221;)</td><td>スペースをすべて削除する</td></tr><tr><td>全角文字が混在している</td><td>=IMCOS(&#8220;１+2i&#8221;)</td><td>半角英数字で入力し直す</td></tr><tr><td>i と j を混在させた</td><td>=IMCOS(&#8220;1+2i+3j&#8221;)</td><td>どちらか一方に統一する</td></tr><tr><td>虚数単位が大文字</td><td>=IMCOS(&#8220;1+2I&#8221;)</td><td>小文字の i または j にする</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">虚数単位の「i」を付け忘れるケースが一番多いので、気を付けてくださいね。外部データから複素数を読み込んだときは、TRIM関数や SUBSTITUTE関数でスペース・全角文字を除去してから IMCOS に渡すと、エラーを防ぎやすくなりますよ。</p>



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



<p class="wp-block-paragraph">引数が数値でもテキストでもない場合（論理値や空のセルなど）に、#VALUE! エラーが発生します。</p>



<pre class="wp-block-code"><code>=IMCOS(TRUE)   → #VALUE!エラー
=IMCOS(&quot;&quot;)     → #VALUE!エラー</code></pre>



<p class="wp-block-paragraph">セル参照を使う場合は、参照先に正しい複素数テキストが入っているか確認してみてください。空欄になる可能性があるなら、<code>=IF(A1="","",IMCOS(A1))</code> のように IF で包んでおくと安全です。</p>



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



<p class="wp-block-paragraph">関数名のスペルミスで発生します。「IMCOS」を「IMCOSINE」などと書いていないか確認しましょう。また、Excel 2010 以前のバージョンでは IMCOS関数 そのものが未実装なので、この場合も #NAME? エラーになります。お使いのバージョンが対応しているか、確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc24">意図しない大きな値が返る場合</span></h3>



<p class="wp-block-paragraph">エラーではないものの、「値が急に大きくなってビックリする」ケースもあります。</p>



<pre class="wp-block-code"><code>=IMCOS(&quot;1+10i&quot;)</code></pre>



<p class="wp-block-paragraph">結果: <strong>5950.65522831798-9267.34335971235i</strong></p>



<p class="wp-block-paragraph">これはバグではなく、cos(x+yi) = cos(x)cosh(y) &#8211; i*sin(x)sinh(y) の cosh(y)・sinh(y) が y=10 のときすでに 1万前後まで膨らんでいるためです。虚部の大きい複素数を扱うときは、結果が指数的に大きくなることを念頭に置いておきましょう。</p>



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



<p class="wp-block-paragraph">IMCOS関数と一緒に使うことが多い関連関数を整理しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>機能</th><th>使用例</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cos/">COS</a></td><td>実数のコサインを求める</td><td>=COS(1) → 0.5403&#8230;</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imsin/">IMSIN</a></td><td>複素数のサインを求める</td><td>=IMSIN(&#8220;1+2i&#8221;) → 3.165&#8230;+1.959&#8230;i</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imtan/">IMTAN</a></td><td>複素数のタンジェントを求める</td><td>=IMTAN(&#8220;1+2i&#8221;)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imcot/">IMCOT</a></td><td>複素数のコタンジェントを求める</td><td>=IMCOT(&#8220;1+2i&#8221;)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imsec/">IMSEC</a></td><td>複素数のセカントを求める</td><td>=IMSEC(&#8220;1+2i&#8221;)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imcsc/">IMCSC</a></td><td>複素数のコセカントを求める</td><td>=IMCSC(&#8220;1+2i&#8221;)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imcosh/">IMCOSH</a></td><td>複素数の双曲線コサインを求める</td><td>=IMCOSH(&#8220;1+2i&#8221;)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX</a></td><td>実部と虚部から複素数を作成</td><td>=COMPLEX(1,2) → &#8220;1+2i&#8221;</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imabs/">IMABS</a></td><td>複素数の絶対値を求める</td><td>=IMABS(&#8220;3+4i&#8221;) → 5</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imargument/">IMARGUMENT</a></td><td>複素数の偏角を求める</td><td>=IMARGUMENT(&#8220;3+4i&#8221;) → 0.927&#8230;</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imexp/">IMEXP</a></td><td>複素数の指数関数を求める</td><td>=IMEXP(&#8220;1+2i&#8221;)</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">IMCOS関数は、複素数のコサイン（余弦）を返すExcelのエンジニアリング関数です。</p>



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



<ul class="wp-block-list"><li>IMCOS関数は複素数を渡すだけでコサインを複素数で返してくれる</li><li>引数は1つだけ。&#8221;x+yi&#8221; 形式のテキストで複素数を渡す</li><li>結果は複素数になる（実数のCOS関数とは範囲が異なる）</li><li>電気工学の交流回路解析、信号処理のフーリエ変換、物理シミュレーションの減衰振動など実務で活躍する</li><li>COMPLEX関数やIMSIN関数と組み合わせて使うのが実践的</li><li>純虚数のコサインは IMCOSH関数の結果と一致する</li><li>エラーが出たら、虚数単位（i / j）の付け忘れ・スペース・全角文字・大文字をチェック</li><li>虚部が大きい複素数は結果が指数的に大きくなる点に注意</li></ul>



<p class="wp-block-paragraph">複素数の三角関数をExcelで効率的に計算したい方は、ぜひ活用してみてくださいね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-imcos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
