<?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>IMLOG2 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/imlog2/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Jun 2026 14:19:36 +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>IMLOG2 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートのIMLOG2関数の使い方｜複素数の2を底とする対数を一発計算</title>
		<link>https://mashukabu.com/spreadsheet-imlog2-function/</link>
					<comments>https://mashukabu.com/spreadsheet-imlog2-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Tue, 28 Apr 2026 14:24:00 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[IMLOG2]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[対数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6270</guid>

					<description><![CDATA[GoogleスプレッドシートのIMLOG2関数の使い方を解説。複素数（a+bi）の2を底とする対数を一発で求める基本構文、IMLN関数との関係（IMLN(z)/ln(2)）、主値の範囲、COMPLEX関数との連携、情報理論のビット表現やオクターブ計算での実務活用例、よくあるエラー対処法まで実例付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「スプレッドシートで複素数のlog2を出したいけど、毎回IMLNをln(2)で割る式を書くのが面倒&#8230;」</p>



<p class="wp-block-paragraph">スプレッドシートで複素数を扱う場面では、log₂(a+bi) の値が必要になることがありますよね。情報理論やオクターブ計算では、自然対数より2を底とする対数のほうが直感的です。でも、毎回 IMLN とLNを組み合わせて分母にln(2)を入れるのは、数式が読みづらくなりがちです。</p>



<p class="wp-block-paragraph">そんなときに頼りになるのがGoogleスプレッドシートのIMLOG2関数です。複素数を1つ渡すだけで「その複素数の2を底とする対数」を一発で返してくれますよ。情報量計算やオクターブ分解の数式が、ぐっとすっきりしますね。</p>



<p class="wp-block-paragraph">ExcelのIMLOG2関数と完全互換なので、Excelファイルとやり取りする現場でも安心です。COMPLEX関数で作った複素数や、<a href="https://mashukabu.com/spreadsheet-imln-function/">IMLN関数</a>と組み合わせた式からも、そのまま渡せますよ。</p>



<p class="wp-block-paragraph">この記事では、スプレッドシートのIMLOG2関数の基本構文と実務での活用例を解説します。IMLNとの関係や、主値の範囲、よくあるエラーと対処法もしっかり紹介していきますね。</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">スプレッドシートのIMLOG2関数とは？</a></li><li><a href="#toc2" tabindex="0">IMLOG2関数の書き方（構文と引数）</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">IMLOG2関数の基本的な使い方</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">COMPLEX関数と組み合わせる</a></li><li><a href="#toc10" tabindex="0">ARRAYFORMULAで複数行を一括処理する</a></li></ol></li><li><a href="#toc11" tabindex="0">IMLOG2関数の実務活用例</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: IMLN関数との関係を確認する</a></li><li><a href="#toc15" tabindex="0">活用例4: ビット深度の計算（量子化レベル）</a></li><li><a href="#toc16" tabindex="0">活用例5: 計算量オーダーの可視化</a></li></ol></li><li><a href="#toc17" tabindex="0">IMLOG2関数とCOMPLEX関数群の関係</a></li><li><a href="#toc18" tabindex="0">IMLOG2関数のよくあるエラーと対処法</a><ol><li><a href="#toc19" tabindex="0">#NUM! エラー（複素数の形式エラー、または z=0）</a></li><li><a href="#toc20" tabindex="0">#VALUE! エラー（引数の型エラー）</a></li><li><a href="#toc21" tabindex="0">主値の範囲を超えた角度を期待してしまう問題</a></li><li><a href="#toc22" tabindex="0">IFERRORでまとめてエラーを吸収する</a></li></ol></li><li><a href="#toc23" tabindex="0">IMLOG2関数とExcelの互換性</a></li><li><a href="#toc24" tabindex="0">複素数関連の関数一覧</a></li><li><a href="#toc25" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">GoogleスプレッドシートのIMLOG2関数は、複素数の2を底とする対数（log₂(z)）を返す関数です。エンジニアリング関数（電気・物理・工学系の計算で使う関数群）のひとつに分類されますよ。</p>



<p class="wp-block-paragraph">読み方は「イマジナリー・ログ・ツー」または「アイエム・ログ・ツー」です。英語の「imaginary（虚数の）」と「logarithm base 2（2を底とする対数）」を組み合わせた名前ですね。複素数「a+bi」の2底対数を、複素数として返してくれるのが役割です。</p>



<p class="wp-block-paragraph">複素数の2底対数は、自然対数を ln(2) で割り算した形で定義できます。具体的な式は次のとおりですよ。</p>



<pre class="wp-block-code"><code>log2(a+bi) = ln(a+bi) / ln(2)
          = log2(|a+bi|) + i × arg(a+bi) / ln(2)
          = log2(√(a²+b²)) + i × atan2(b, a) / ln(2)</code></pre>



<p class="wp-block-paragraph">実部は「絶対値の2底対数」、虚部は「偏角を ln(2) で割った値」となり、結果も複素数で返るのが特徴ですね。ln(2) は約0.6931なので、IMLN の結果に対しておよそ1.4427倍したものに相当します。</p>



<figure class="wp-block-table"><table><thead><tr><th>複素数（z）</th><th>IMLOG2(z)の結果</th><th>内部計算</th></tr></thead><tbody><tr><td>1+0i</td><td>0</td><td>log2(1) = 0</td></tr><tr><td>2+0i</td><td>1+0i</td><td>log2(2) = 1</td></tr><tr><td>4+0i</td><td>2+0i</td><td>log2(4) = 2</td></tr><tr><td>8+0i</td><td>3+0i</td><td>log2(8) = 3</td></tr><tr><td>-1+0i</td><td>0+4.5324i</td><td>log2(1) + i×π/ln(2)</td></tr><tr><td>0+1i</td><td>0+2.2662i</td><td>log2(1) + i×π/(2ln(2))</td></tr><tr><td>1+1i</td><td>0.5+1.1331i</td><td>log2(√2) + i×(π/4)/ln(2)</td></tr></tbody></table></figure>



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



<p class="wp-block-paragraph">複素数の2底対数は、情報理論のエントロピー計算・オクターブ周波数比の解析・アルゴリズムの計算量解析・画像処理のビット深度計算などで活躍します。「2倍するごとに1ずつ増える」という直感的なスケールが欲しい場面で、欠かせない基礎パーツですね。</p>



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



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



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



<p class="wp-block-paragraph">引数は1つで、2底対数を取りたい複素数を渡す形ですよ。</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>2底対数を計算する複素数。文字列またはセル参照で指定する</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」が使われる慣習ですね。IMLOG2関数はどちらでも同じように動作してくれます。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>IMLOG2が返す虚部の範囲は -π/ln(2) < θ ≤ π/ln(2)、おおよそ -4.5324 < θ ≤ 4.5324 です。これは <a href="https://mashukabu.com/spreadsheet-imln-function/">IMLN関数</a> の主値（-π〜π）を ln(2) で割った値に相当しますよ。覚えておきましょう。</p></blockquote>



<p class="wp-block-paragraph">引数に正の実数だけを渡せば、通常のLOG関数（底2指定）と同じ結果になります。「IMLOG2(&#8220;8&#8221;)」も「LOG(8, 2)」もどちらも3ですね。違いは戻り値が複素数文字列になるか実数になるかだけですよ。</p>



<h2 class="wp-block-heading"><span id="toc5">IMLOG2関数の基本的な使い方</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>=IMLOG2(&quot;1+1i&quot;)</code></pre>



<p class="wp-block-paragraph">結果は「0.5+1.13309778050294i」になります。実部はlog₂(√2)=0.5、虚部は(π/4)/ln(2)≈1.1331ですね。</p>



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



<p class="wp-block-paragraph">正の実部だけの複素数を渡すと、通常のLOG関数と同じ結果になります。</p>



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



<p class="wp-block-paragraph">どちらも結果は約「3+0i」、つまり log₂(8) = 3 ですよ。実数の世界の2底対数と一致しますね。</p>



<p class="wp-block-paragraph">純虚数を渡すと、結果は実部0で虚部が±π/(2ln(2))になります。</p>



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



<p class="wp-block-paragraph">前者は「0+2.2662&#8230;i」、後者は「0-2.2662&#8230;i」になりますよ。複素平面の縦軸に乗っている純虚数の偏角が、±π/(2ln(2))として返ってきますね。</p>



<h3 class="wp-block-heading"><span id="toc7">負の実数の対数を計算する</span></h3>



<p class="wp-block-paragraph">実数の世界では「負の数の対数は計算できない」とされますよね。複素数まで広げると、IMLOG2はちゃんと値を返してくれます。</p>



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



<p class="wp-block-paragraph">結果は「0+4.5323601418&#8230;i」になりますよ。実部は0、虚部はπ/ln(2)となります。これは「-1 = 1 × e^(iπ)」を2底に直したものですね。LOG(-1, 2) はエラーになりますが、IMLOG2 なら計算できる点が便利なところです。</p>



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



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



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



<p class="wp-block-paragraph">結果は「0.5+1.1331&#8230;i」になります。セル参照を渡すだけで、入っている複素数の2底対数を取り出せますよ。</p>



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



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



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



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



<p class="wp-block-paragraph">結果は「0.5+1.1331&#8230;i」、つまり「IMLOG2(&#8220;1+1i&#8221;)」と同じですね。COMPLEX(1, 1)が内部で「1+1i」を作り、IMLOG2関数がその2底対数を返してくれます。</p>



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



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



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



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



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



<p class="wp-block-paragraph">A列の複素数を順番に2底対数に変換して、対応する結果をB列に一発で展開できますよ。情報理論のビット表現やオクターブ計算を一括処理するときに重宝しますね。</p>



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



<h3 class="wp-block-heading"><span id="toc12">活用例1: 情報量（ビット数）を求める</span></h3>



<p class="wp-block-paragraph">情報理論では「ある事象の情報量」を log₂(1/p) で表しますよね。確率pが複素数振幅の2乗で表される量子情報の文脈では、複素数のままlog₂を取れると便利です。</p>



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



<pre class="wp-block-code"><code>B2: =IMABS(A2)             ← 振幅 |z|
C2: =B2^2                  ← 確率 |z|^2
D2: =-LOG(C2, 2)           ← 情報量（ビット）</code></pre>



<p class="wp-block-paragraph">複素数の振幅と位相を一緒に解析したい場合は、IMLOG2を直接使う方法もありますよ。</p>



<pre class="wp-block-code"><code>E2: =IMLOG2(A2)            ← 複素2底対数
F2: =IMREAL(E2)            ← log2(|z|)</code></pre>



<p class="wp-block-paragraph">F列が log₂(|z|) です。情報量の符号反転を入れれば「-2×F2」で2乗の情報量が得られますね。エントロピー計算やシャノン情報量の解析シートで使えるパターンですよ。</p>



<h3 class="wp-block-heading"><span id="toc13">活用例2: オクターブ数を計算する</span></h3>



<p class="wp-block-paragraph">音響や周波数解析では、2倍ごとに「1オクターブ」と数えますよね。複素フェーザの周波数比を一発でオクターブ数に変換できますよ。</p>



<p class="wp-block-paragraph">基準周波数 f₀ と任意周波数 f の比 f/f₀ を複素数で扱う場合を考えてみましょう。</p>



<pre class="wp-block-code"><code>A2: =COMPLEX(8, 0)              ← 周波数比 8（実数）
B2: =IMLOG2(A2)                 ← オクターブ数
C2: =IMREAL(B2)                 ← 実数のオクターブ</code></pre>



<p class="wp-block-paragraph">C2の値は3になります。「8倍は3オクターブ上」という直感どおりの結果ですね。複素数を渡せば、位相情報も同時に扱える点が IMLOG2 の強みですよ。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>TIP</strong></p><p>オクターブ数だけが必要なら <code>=LOG(IMABS(A2), 2)</code> でも代用できます。位相情報も保ちたいときに IMLOG2 の出番ですね。</p></blockquote>



<h3 class="wp-block-heading"><span id="toc14">活用例3: IMLN関数との関係を確認する</span></h3>



<p class="wp-block-paragraph">IMLOG2関数は、内部的に「IMLN(z) ÷ ln(2)」と等価です。実際にスプレッドシートで確認してみましょう。</p>



<pre class="wp-block-code"><code>A2: =COMPLEX(1, 1)              ← z = 1+i
B2: =IMLOG2(A2)                 ← 直接計算
C2: =IMDIV(IMLN(A2), COMPLEX(LN(2), 0))   ← IMLNから計算</code></pre>



<p class="wp-block-paragraph">B2とC2の値は一致して「0.5+1.1331&#8230;i」になりますよ。IMLOG2は IMLN の結果を ln(2) で割った形と同じだと、数式レベルで確認できますね。底の変換公式を理解する勉強用にも使える書き方です。</p>



<h3 class="wp-block-heading"><span id="toc15">活用例4: ビット深度の計算（量子化レベル）</span></h3>



<p class="wp-block-paragraph">画像や音声のデジタル化では、量子化レベル数 N からビット深度 log₂(N) を求めます。複素数で表される量子化フェーザを扱う場合に便利ですよ。</p>



<pre class="wp-block-code"><code>A2: 256                         ← 量子化レベル数
B2: =COMPLEX(A2, 0)             ← 複素数化
C2: =IMLOG2(B2)                 ← ビット深度
D2: =IMREAL(C2)                 ← 実数ビット数</code></pre>



<p class="wp-block-paragraph">D2は8になります。256階調なら8ビットですね。複素数のまま処理を続けたい場合に IMLOG2 を挟んでおくと、後段の数式と型が揃って扱いやすくなりますよ。</p>



<h3 class="wp-block-heading"><span id="toc16">活用例5: 計算量オーダーの可視化</span></h3>



<p class="wp-block-paragraph">アルゴリズムの計算量解析では「O(log₂ N)」のような表記が出てきますよね。データサイズ N の対数を素早く可視化するときに IMLOG2 が使えますよ。</p>



<p class="wp-block-paragraph">A列にデータサイズが並んでいる場面を考えてみましょう。</p>



<pre class="wp-block-code"><code>B2: =IMLOG2(COMPLEX(A2, 0))     ← log2(N)
C2: =IMREAL(B2)                 ← 実数値</code></pre>



<p class="wp-block-paragraph">A2が1024なら C2 は10、A2が1,048,576なら C2 は20になります。データ量が2倍になるごとに1ずつ増えるスケールが、シート上で直感的に確認できますね。複素数を扱わない単純なケースなら <code>=LOG(A2, 2)</code> でも構いません。複素数を含む解析パイプラインの中では、IMLOG2 で型を揃えるとシートが整いますよ。</p>



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



<p class="wp-block-paragraph">複素数を扱う関数群の中で、IMLOG2関数の位置づけを整理しておきましょう。</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>実数（ラジアン）</td><td>偏角を取り出す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imexp-function/">IMEXP</a></td><td>複素数 z</td><td>複素数 e^z</td><td>指数関数</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imln-function/">IMLN</a></td><td>複素数 z</td><td>複素数 ln(z)</td><td>自然対数</td></tr><tr><td>IMLOG2</td><td>複素数 z</td><td>複素数 log₂(z)</td><td>2を底とする対数</td></tr><tr><td>IMLOG10</td><td>複素数 z</td><td>複素数 log₁₀(z)</td><td>10を底とする対数</td></tr><tr><td>IMPOWER</td><td>複素数 z, 実数 n</td><td>複素数 z^n</td><td>べき乗</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMLOG2関数とIMLN関数は「底の変換公式」でつながっています。「IMLOG2(z) = IMLN(z) / ln(2)」が数学的な関係ですよ。同様にIMLOG10は IMLN(z) / ln(10) と等価ですね。</p>



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



<pre class="wp-block-code"><code>=COMPLEX(LOG(SQRT(IMREAL(A2)^2+IMAGINARY(A2)^2), 2), ATAN2(IMREAL(A2), IMAGINARY(A2))/LN(2))</code></pre>



<p class="wp-block-paragraph">これはIMLOG2と同じ結果になりますが、絶対値と偏角を毎回手書きする必要がありますよね。IMLOG2を使えば1関数で済むので、数式が読みやすくなります。</p>



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



<h3 class="wp-block-heading"><span id="toc19">#NUM! エラー（複素数の形式エラー、または z=0）</span></h3>



<p class="wp-block-paragraph">複素数として認識できない文字列を渡したときや、ゼロを渡したときに発生します。</p>



<pre class="wp-block-code"><code>=IMLOG2(&quot;1+1I&quot;)     → #NUM!（大文字のIは不可）
=IMLOG2(&quot;1+1k&quot;)     → #NUM!（i・j以外は不可）
=IMLOG2(&quot;1 + 1i&quot;)   → #NUM!（途中の空白は不可）
=IMLOG2(&quot;0&quot;)        → #NUM!（log2(0)は定義されない）
=IMLOG2(&quot;0+0i&quot;)     → #NUM!（同上）</code></pre>



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



<p class="wp-block-paragraph">2つ目は、ゼロを渡さないことです。実数の世界でlog₂(0)が定義されないのと同じく、複素数の世界でも0の対数は計算できません。入力データに0が混じる可能性がある場合は、後述のIFERROR対策を入れておきましょう。</p>



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



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



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



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



<h3 class="wp-block-heading"><span id="toc21">主値の範囲を超えた角度を期待してしまう問題</span></h3>



<p class="wp-block-paragraph">IMLOG2が返す虚部は -π/ln(2) < θ ≤ π/ln(2)、つまり約 -4.5324 < θ ≤ 4.5324 の主値だけです。これは <a href="https://mashukabu.com/spreadsheet-imln-function/">IMLN関数</a> の主値 (-π, π] を ln(2) で割った値ですね。</p>



<pre class="wp-block-code"><code>=IMLOG2(&quot;0-1i&quot;)     → 0-2.2662i（-π/(2ln2)）</code></pre>



<p class="wp-block-paragraph">この複素数 -i は「3π/2 ラジアン回転した点」とも見なせますが、IMLOG2 はそのうち主値（-π/2 を ln(2) で割った値）を返します。連続的に偏角を追跡したい場面では、後段で「アンラップ処理」を実装する必要がある点に注意してくださいね。</p>



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



<p class="wp-block-paragraph">入力データの信頼性が低い場合や、ゼロが混じる可能性がある場合に備えておきたいですよね。そんなときはIFERROR関数（エラー時に代替値を返す関数）で包んでおきましょう。シート全体の集計が止まらず安心です。</p>



<pre class="wp-block-code"><code>=IFERROR(IMLOG2(A2), &quot;計算不可&quot;)</code></pre>



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



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



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



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



<p class="wp-block-paragraph">ExcelのIMLOG2関数は、Excel 2007以降のすべてのバージョンで利用できます。Microsoft 365、Excel for Mac、Excel Online でも同じように使えますよ。古いExcelファイルとの互換性も心配いりません。</p>



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



<p class="wp-block-paragraph">IMLOG2関数と一緒に使うことが多い、複素数関連の関数をまとめました。</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>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><a href="https://mashukabu.com/spreadsheet-imexp-function/">IMEXP</a></td><td>複素数の指数関数（eべき乗）を返す</td></tr><tr><td><a href="https://mashukabu.com/spreadsheet-imln-function/">IMLN</a></td><td>複素数の自然対数を返す</td></tr><tr><td>IMLOG2</td><td>複素数の2を底とする対数を返す</td></tr><tr><td>IMLOG10</td><td>複素数の10を底とする対数を返す</td></tr><tr><td>IMPOWER</td><td>複素数のべき乗を返す</td></tr><tr><td>IMSQRT</td><td>複素数の平方根を返す</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">IMLOG2関数は、これら複素数関数群の中で「2底対数」を担う基本関数ですね。COMPLEXで複素数を作り、IMLOG2で2底対数値を求めるのが基本の流れです。最後はIMREAL・IMAGINARYで実部と虚部に分けて可視化しましょう。情報理論やオクターブ解析のシートを軽快に組み立てられますよ。</p>



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



<p class="wp-block-paragraph">GoogleスプレッドシートのIMLOG2関数は、複素数の2を底とする対数（log₂(z)）を返す関数です。情報理論・オクターブ計算・ビット深度解析・アルゴリズム計算量の可視化など、「2倍ごとに1増える」直感的なスケールが欲しい場面で欠かせない関数ですよ。</p>



<ul class="wp-block-list"><li>構文は <code>=IMLOG2(複素数)</code> で複素数を1つ渡すだけ</li><li>「log2(a+bi) = ln(a+bi) / ln(2)」が内部計算式</li><li>実部は絶対値の2底対数、虚部は偏角を ln(2) で割った値になる</li><li>「a+bi」と「a+bj」のどちらの表記もそのまま受け付ける</li><li>虚部の主値は -π/ln(2) < θ ≤ π/ln(2)（約 -4.5324 〜 4.5324）</li><li>正の実部だけの複素数を渡すと通常のLOG(値, 2)と同じ結果になる</li><li>「log2(-1)」も計算でき、結果は 0+(π/ln(2))i になる</li><li>COMPLEX関数の結果やセル参照、複素数演算の結果も渡せる</li><li>ARRAYFORMULAで複数の複素数を一括処理できる</li><li>IMLN関数とは「IMLOG2(z) = IMLN(z) / ln(2)」の関係</li><li>z=0 を渡すと #NUM! エラー（log2(0)は定義されない）</li><li>大文字の「I」「J」やi・j以外の単位は #NUM! エラー</li><li>論理値やエラー値を渡すと #VALUE! エラー</li><li>ExcelのIMLOG2関数と完全互換（Excel 2007以降）</li></ul>



<p class="wp-block-paragraph">複素数の2底対数が必要になったら、IMLOG2関数の出番ですよ。COMPLEX関数で複素数を作り、IMLOG2で対数を取りましょう。最後にIMREAL・IMAGINARYで実部と虚部に分解すれば、情報理論やオクターブ解析のシートを軽快に組み立てられますね。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-imlog2-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのIMLOG2関数の使い方｜複素数の2を底とする対数を求める方法</title>
		<link>https://mashukabu.com/excel-function-howto-use-imlog2/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-imlog2/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sun, 11 Dec 2022 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[IMLOG2]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[対数]]></category>
		<category><![CDATA[底2対数]]></category>
		<category><![CDATA[複素数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3109</guid>

					<description><![CDATA[ExcelのIMLOG2関数の使い方を初心者向けに解説。複素数の2を底とする対数（log2(z)）を返す構文・引数・計算例・エラー対処法を、具体的なサンプルデータ付きで紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Excelで複素数の対数を求めたいとき、「底が2の場合はどうすればいいんだろう？」と迷うことはありませんか。通常のLOG関数は実数にしか対応していないので、複素数を渡すとエラーになってしまいます。</p>



<p class="wp-block-paragraph">そんなときに使えるのが <strong>IMLOG2関数</strong> です。複素数を渡すだけで、2を底とする対数（log2(z)）の結果を複素数で返してくれますよ。</p>



<p class="wp-block-paragraph">この記事では、IMLOG2関数の基本的な書き方から実践的な活用例、よくあるエラーの対処法まで、サンプルデータ付きでわかりやすく解説します。</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のIMLOG2関数とは？</a><ol><li><a href="#toc2" tabindex="0">底2対数とは？</a></li><li><a href="#toc3" tabindex="0">入力と出力のイメージ</a></li></ol></li><li><a href="#toc4" tabindex="0">IMLOG2関数の書き方（構文と引数）</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">ExcelでのIMLOG2関数の基本的な使い方</a><ol><li><a href="#toc8" tabindex="0">例1: セルの複素数から底2対数を求める</a></li><li><a href="#toc9" tabindex="0">例2: 関数内に直接値を指定する</a></li><li><a href="#toc10" tabindex="0">例3: COMPLEX関数と組み合わせる</a></li><li><a href="#toc11" tabindex="0">例4: 純虚数を渡した場合</a></li></ol></li><li><a href="#toc12" tabindex="0">IMLOG2関数の実践的な活用例</a><ol><li><a href="#toc13" tabindex="0">複数の複素数の底2対数を一括計算する</a></li><li><a href="#toc14" tabindex="0">IMEXP関数と組み合わせて検算する</a></li><li><a href="#toc15" tabindex="0">IMLN関数・IMLOG10関数と底を変換する</a></li></ol></li><li><a href="#toc16" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc17" tabindex="0">#NUM! エラー</a></li><li><a href="#toc18" tabindex="0">#VALUE! エラー</a></li><li><a href="#toc19" tabindex="0">#NAME? エラー</a></li></ol></li><li><a href="#toc20" tabindex="0">似た関数との違い・使い分け</a></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

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



<p class="wp-block-paragraph">IMLOG2関数は、複素数 z に対して <strong>2を底とする対数（log2(z)）</strong> を複素数で返すExcelのエンジニアリング関数です。</p>



<p class="wp-block-paragraph">読み方は <strong>「イマジナリー・ログ・ツー」</strong> です。「IM」は Imaginary（虚数・複素数）、「LOG2」は base-2 Logarithm（2を底とする対数）を意味しています。</p>



<h3 class="wp-block-heading"><span id="toc2">底2対数とは？</span></h3>



<p class="wp-block-paragraph">対数（ログ）は「ある数を何乗したらその値になるか」を求める演算です。底2対数の場合は「2を何乗したらその値になるか」を計算します。</p>



<p class="wp-block-paragraph">たとえば log2(8) = 3 は、「2を3乗すると8になる」ということです。情報理論やコンピュータサイエンスではビット数の計算に底2対数が使われるため、なじみのある方も多いかもしれませんね。</p>



<p class="wp-block-paragraph">IMLOG2関数はこの底2対数を複素数の世界に拡張したものです。数学的には、複素数 z の底2対数は次の式で定義されます。</p>



<p class="wp-block-paragraph"><strong>log2(z) = ln(z) / ln(2)</strong></p>



<p class="wp-block-paragraph">ここで ln は自然対数です。手計算だと面倒ですが、IMLOG2関数を使えば一発で求められますよ。</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>: log2(z) の結果を複素数で（例: &#8220;1.16096404744368+1.59727796468811i&#8221;）</li></ul>



<p class="wp-block-paragraph">結果も複素数で返ってくるのがポイントです。実数のLOG関数は正の値にしか使えませんが、IMLOG2関数は負の数や虚数を含む複素数にも対応しています。</p>



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



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



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



<p class="wp-block-paragraph">引数は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>複素数</td><td>必須</td><td>2を底とする対数を求めたい複素数。&#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>=IMLOG2("3+4i")</code></li><li><strong>セル参照</strong>: <code>=IMLOG2(A1)</code>（A1セルに複素数が入っている場合）</li><li><strong>COMPLEX関数の結果</strong>: <code>=IMLOG2(COMPLEX(3,4))</code></li></ul>



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



<h2 class="wp-block-heading"><span id="toc7">ExcelでのIMLOG2関数の基本的な使い方</span></h2>



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



<h3 class="wp-block-heading"><span id="toc8">例1: セルの複素数から底2対数を求める</span></h3>



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



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



<p class="wp-block-paragraph">結果: <strong>2.32192809488736+1.33780421245098i</strong></p>



<p class="wp-block-paragraph">log2(5) は約2.32ですが、虚部の影響で結果は複素数になります。実部は複素数の絶対値の底2対数に近い値になっていますよ。</p>



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



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



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



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



<p class="wp-block-paragraph">8は実数なので、結果はシンプルに3です。2^3 = 8 ですから、底2対数は3になるわけですね。</p>



<h3 class="wp-block-heading"><span id="toc10">例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に「1」が入っているとき:</p>



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



<p class="wp-block-paragraph">結果: <strong>0.5+1.13309003611042i</strong></p>



<p class="wp-block-paragraph">COMPLEX関数が「1+i」を作成し、IMLOG2関数が底2対数に変換する流れです。</p>



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



<p class="wp-block-paragraph">純虚数（実部がゼロの複素数）を渡すこともできます。</p>



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



<p class="wp-block-paragraph">結果: <strong>2+2.26618007222084i</strong></p>



<p class="wp-block-paragraph">実部の2は「4の底2対数 = 2」に対応し、虚部は i の偏角（pi/2）を ln(2) で割った値です。ちょっとむずかしく見えますが、IMLOG2関数に渡すだけで自動計算してくれるので安心してくださいね。</p>



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



<h3 class="wp-block-heading"><span id="toc13">複数の複素数の底2対数を一括計算する</span></h3>



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



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



<figure class="wp-block-table"><table><thead><tr><th>セル</th><th>複素数（A列）</th><th>log2(z) の結果（B列）</th></tr></thead><tbody><tr><td>1行目</td><td>2</td><td>1</td></tr><tr><td>2行目</td><td>4+3i</td><td>2.32192809488736+0.89853614163399i</td></tr><tr><td>3行目</td><td>1+i</td><td>0.5+1.13309003611042i</td></tr><tr><td>4行目</td><td>-1</td><td>0+4.53236014444168i</td></tr><tr><td>5行目</td><td>8i</td><td>3+2.26618007222084i</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">4行目の log2(-1) は実部が0、虚部が pi/ln(2) になる点に注目してください。負の実数の対数も複素数として計算できるのがIMLOG2関数の強みですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">IMEXP関数と組み合わせて検算する</span></h3>



<p class="wp-block-paragraph">IMLOG2関数で求めた対数を使って、元の複素数に戻してみましょう。底2対数の逆演算は「2のz乗」です。</p>



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



<pre class="wp-block-code"><code>=IMPOWER(&quot;2&quot;, IMLOG2(A1))</code></pre>



<p class="wp-block-paragraph">結果: <strong>3+4i</strong>（元の値に戻る）</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-impower/">IMPOWER関数</a>で2をIMLOG2の結果乗すると、もとの複素数に戻ります。計算結果の検算に使えるので覚えておくと便利ですよ。</p>



<h3 class="wp-block-heading"><span id="toc15">IMLN関数・IMLOG10関数と底を変換する</span></h3>



<p class="wp-block-paragraph">底の変換公式を使うと、IMLOG2関数の結果からIMLN（自然対数）やIMLOG10（常用対数）の値を求められます。</p>



<pre class="wp-block-code"><code>log2(z) = ln(z) / ln(2) = log10(z) / log10(2)</code></pre>



<p class="wp-block-paragraph">つまり、次の3つの関数は底が違うだけで同じ対数を異なるスケールで表しています。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数</th><th>底</th><th>=IMLOG系(&#8220;3+4i&#8221;) の結果（実部の近似値）</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imln/">IMLN</a></td><td>e（自然対数の底）</td><td>約 1.609</td></tr><tr><td>IMLOG2</td><td>2</td><td>約 2.322</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imlog10/">IMLOG10</a></td><td>10</td><td>約 0.699</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">底が大きいほど値が小さくなるイメージです。用途に応じて使い分けてくださいね。</p>



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



<h3 class="wp-block-heading"><span id="toc17">#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>=IMLOG2(&#8220;3+4&#8221;)</td><td>虚数単位の「i」または「j」を末尾に付ける</td></tr><tr><td>数値の間にスペースが入っている</td><td>=IMLOG2(&#8220;3 + 4i&#8221;)</td><td>スペースをすべて削除する</td></tr><tr><td>全角文字が混在している</td><td>=IMLOG2(&#8220;3+4i&#8221;)</td><td>半角英数字で入力し直す</td></tr><tr><td>ゼロ（0）を渡した</td><td>=IMLOG2(&#8220;0&#8221;)</td><td>log2(0) は数学的に定義されない。0以外の値を指定する</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">虚数単位の「i」を付け忘れるケースが一番多いので、気を付けてくださいね。また、ゼロの対数は定義されないため、引数に0を渡してもエラーになります。</p>



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



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



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



<p class="wp-block-paragraph">セル参照を使う場合は、参照先に正しい複素数テキストが入っているか確認してみてください。</p>



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



<p class="wp-block-paragraph">関数名のスペルミスで発生します。「IMLOG2」を「IMLOG」などと書いていないか確認しましょう。また、Excel 2007より前のバージョンではIMLOG2関数が使えない場合があります。お使いのバージョンが対応しているか、確認しておきましょう。</p>



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



<p class="wp-block-paragraph">IMLOG2関数と一緒に使うことが多い関連関数を整理しておきましょう。</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-log/">LOG</a></td><td>実数の対数を指定した底で求める</td><td>=LOG(8,2) → 3</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imln/">IMLN</a></td><td>複素数の自然対数を求める</td><td>=IMLN(&#8220;3+4i&#8221;) → 1.609&#8230;+0.927&#8230;i</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imlog10/">IMLOG10</a></td><td>複素数の常用対数を求める</td><td>=IMLOG10(&#8220;3+4i&#8221;) → 0.698&#8230;+0.402&#8230;i</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-imexp/">IMEXP</a></td><td>複素数の指数関数（e^z）を求める</td><td>=IMEXP(&#8220;1+2i&#8221;)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-impower/">IMPOWER</a></td><td>複素数のべき乗を求める</td><td>=IMPOWER(&#8220;2+3i&#8221;,2)</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-complex/">COMPLEX</a></td><td>実部と虚部から複素数を作成</td><td>=COMPLEX(3,4) → &#8220;3+4i&#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></tbody></table></figure>



<p class="wp-block-paragraph"><strong>LOG関数との違い</strong>: LOG関数は正の実数にしか使えませんが、IMLOG2関数は複素数にも対応しています。実数だけを扱う場面ではLOG関数で十分です。複素数のデータを含む場面ではIMLOG2関数を使い分けてくださいね。</p>



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



<p class="wp-block-paragraph">IMLOG2関数は、複素数の2を底とする対数（log2(z)）を返すExcelのエンジニアリング関数です。</p>



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



<ul class="wp-block-list"><li>IMLOG2関数は複素数を渡すだけで底2対数を複素数で返してくれる</li><li>引数は1つだけ。&#8221;x+yi&#8221; 形式のテキストで複素数を渡す</li><li>数学的には ln(z) / ln(2) を計算している</li><li>IMPOWER(&#8220;2&#8221;, IMLOG2(z)) で元の値に戻せるので検算に使える</li><li>IMLN（自然対数）やIMLOG10（常用対数）とは底が違うだけ</li><li>エラーが出たら、虚数単位（i / j）の付け忘れやゼロ入力をチェック</li></ul>



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