<?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>BESSELI関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/besseli%E9%96%A2%E6%95%B0/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Wed, 10 Jun 2026 13:06:54 +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>BESSELI関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートにBESSELI関数はない｜#NAME?になる理由と3つの代替方法</title>
		<link>https://mashukabu.com/spreadsheet-besseli-function/</link>
					<comments>https://mashukabu.com/spreadsheet-besseli-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 11:25:28 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[BESSELI関数]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[変形ベッセル関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6367</guid>

					<description><![CDATA[GoogleスプレッドシートでBESSELI関数を入力すると#NAME?エラーになります。BESSELIはExcel専用のエンジニアリング関数で、スプレッドシートには未実装です。実機検証の結果と、Excelで計算する方法・GASカスタム関数で自作する方法など3つの代替手段を解説します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「GoogleスプレッドシートでBESSELI関数を入力したら <code>#NAME?</code> エラーになった」。それ、数式のミスではありません。</p>



<p class="wp-block-paragraph">先に結論をお伝えします。<strong>GoogleスプレッドシートにBESSELI関数はありません</strong>。BESSELIは Excel 専用のエンジニアリング関数で、スプレッドシートには実装されていないんです。</p>



<p class="wp-block-paragraph">この記事では、実際に検証した結果と、スプレッドシートユーザーが第1種変形ベッセル関数 I_n(x) を計算するための3つの代替方法を紹介します。</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">スプレッドシートでBESSELIは使えない（実機検証）</a></li><li><a href="#toc2" tabindex="0">代替方法1: Excelで計算する（いちばん手軽）</a></li><li><a href="#toc3" tabindex="0">代替方法2: GASカスタム関数を自作する</a></li><li><a href="#toc4" tabindex="0">代替方法3: 外部ツールで計算する</a></li><li><a href="#toc5" tabindex="0">そもそもBESSELI（第1種変形ベッセル関数）とは</a><ol><li><a href="#toc6" tabindex="0">Excelの4つのベッセル関数の使い分け</a></li></ol></li><li><a href="#toc7" tabindex="0">まとめ</a><ol><li><a href="#toc8" tabindex="0">関連記事</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">スプレッドシートでBESSELIは使えない（実機検証）</span></h2>



<p class="wp-block-paragraph">実際にGoogleスプレッドシートのセルに入力してみると、次のようになります。</p>



<pre class="wp-block-code"><code>=BESSELI(1, 0)   → #NAME? エラー</code></pre>



<p class="wp-block-paragraph"><code>#NAME?</code> は「そんな名前の関数は知らない」というエラーです。スペルミスでも設定の問題でもなく、Googleスプレッドシートの関数リストにBESSELIが存在しないことが原因です。BESSELJ・BESSELY・BESSELKも同様に未実装で、すべて <code>#NAME?</code> になります。</p>



<p class="wp-block-paragraph">ExcelにはBESSELJ・BESSELY・BESSELI・BESSELKの4関数が標準搭載されていますが、Googleスプレッドシートはエンジニアリング関数の一部しか実装しておらず、ベッセル関数系は対象外です。Web上には「スプレッドシートでBESSELIが使える」と書かれた解説も見かけますが、Excelの仕様と混同したものなので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc2">代替方法1: Excelで計算する（いちばん手軽）</span></h2>



<p class="wp-block-paragraph">BESSELIが必要なら、Excelを使うのが最も確実です。デスクトップ版だけでなく、無料のExcel On the web（Web版Excel）でもBESSELIは使えます。</p>



<pre class="wp-block-code"><code>=BESSELI(1, 0)   → 1.2661（Excelでの結果）</code></pre>



<p class="wp-block-paragraph">構文は <code>=BESSELI(x, n)</code> で、xに評価する値、nに次数（0以上の整数）を指定します。引数の意味やエラー対処の詳細は、<a href="https://mashukabu.com/excel-function-howto-use-besseli/">ExcelのBESSELI関数の使い方</a>で解説しています。</p>



<p class="wp-block-paragraph">Excelで計算した場合の参考値を載せておきます。検算にお使いください。</p>



<figure class="wp-block-table"><table><thead><tr><th>数式</th><th>結果（概算）</th></tr></thead><tbody><tr><td>=BESSELI(1, 0)</td><td>1.2661</td></tr><tr><td>=BESSELI(1, 1)</td><td>0.5652</td></tr><tr><td>=BESSELI(2, 0)</td><td>2.2796</td></tr><tr><td>=BESSELI(2, 1)</td><td>1.5906</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span id="toc3">代替方法2: GASカスタム関数を自作する</span></h2>



<p class="wp-block-paragraph">「どうしてもスプレッドシート内で完結させたい」場合は、Google Apps Script（GAS）でカスタム関数を作る方法があります。第1種変形ベッセル関数は級数展開で計算でき、すべての項が正なので桁落ちも起こりにくく、自作に向いている関数です。</p>



<p class="wp-block-paragraph">スプレッドシートのメニューから「拡張機能」→「Apps Script」を開き、次のコードを貼り付けて保存してください。</p>



<pre class="wp-block-code"><code>/**
 * 第1種変形ベッセル関数 I_n(x) を級数展開で計算するカスタム関数
 *
 * @param {number} x 評価する値
 * @param {number} n 次数（0以上の整数）
 * @return {number} I_n(x) の値
 * @customfunction
 */
function BESSELI_GAS(x, n) {
  n = Math.floor(n);
  if (n &lt; 0) throw new Error(&quot;次数nは0以上の整数を指定してください&quot;);
  var term = Math.pow(x / 2, n);
  for (var i = 1; i &lt;= n; i++) {
    term /= i; // (x/2)^n / n!
  }
  var sum = 0;
  for (var k = 0; k &lt; 200; k++) {
    sum += term;
    term *= (x * x / 4) / ((k + 1) * (k + n + 1));
    if (Math.abs(term) &lt; 1e-15) break;
  }
  return sum;
}</code></pre>



<p class="wp-block-paragraph">保存後、セルで次のように使えます。</p>



<pre class="wp-block-code"><code>=BESSELI_GAS(2, 1)   → 1.590637</code></pre>



<p class="wp-block-paragraph">この実装はI_n(x)の級数定義をそのまま計算するもので、実用範囲ではExcelのBESSELIと小数点以下6桁レベルで一致することを確認済みです。I_n(x)はxが大きくなると指数関数的に増大するため、極端に大きいxでは方法1か方法3を使ってください。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>NOTE</strong></p><p>カスタム関数は初回実行時に少し時間がかかります。また、シートを共有した相手にもスクリプトごと共有されます。</p></blockquote>



<h2 class="wp-block-heading"><span id="toc4">代替方法3: 外部ツールで計算する</span></h2>



<p class="wp-block-paragraph">単発で値が知りたいだけなら、外部ツールを使うのも手です。</p>



<ul class="wp-block-list"><li><strong>Wolfram Alpha</strong>: 検索欄に「BesselI(0, 1)」と入力するだけで値が得られます</li><li><strong>Python（SciPy）</strong>: <code>scipy.special.iv(n, x)</code> で高精度に計算できます</li></ul>



<p class="wp-block-paragraph">計算結果をスプレッドシートに貼り付ければ十分、というケースは意外と多いですよ。</p>



<h2 class="wp-block-heading"><span id="toc5">そもそもBESSELI（第1種変形ベッセル関数）とは</span></h2>



<p class="wp-block-paragraph">第1種変形ベッセル関数 I_n(x) は、円筒座標系の熱伝導・拡散の微分方程式を解くときに登場する特殊関数です。主に次のような場面で必要になります。</p>



<ul class="wp-block-list"><li>円柱の定常温度分布の計算（熱伝導）</li><li>拡散方程式の解析</li><li>信号処理のカイザー窓関数の計算（I_0(x) を使う）</li><li>統計学（フォン・ミーゼス分布の正規化定数など）</li></ul>



<p class="wp-block-paragraph">通常のベッセル関数 J_n(x) が振動しながら減衰するのに対し、I_n(x) は<strong>単調に増加（指数関数的に発散）</strong>するのが特徴です。また、I_0(0) = 1、I_n(0) = 0（n ≥ 1）という性質があり、原点で有限の値を持つため「正則解」として使われます。</p>



<h3 class="wp-block-heading"><span id="toc6">Excelの4つのベッセル関数の使い分け</span></h3>



<p class="wp-block-paragraph">Excelに搭載されている4関数の違いも整理しておきます（いずれもスプレッドシートでは未実装です）。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>正式名称</th><th>数学記号</th><th>特性</th><th>主な用途</th></tr></thead><tbody><tr><td>BESSELJ</td><td>第1種ベッセル関数</td><td>J_n(x)</td><td>振動的・原点で有限</td><td>振動・波動の正則解</td></tr><tr><td>BESSELY</td><td>第2種ベッセル関数</td><td>Y_n(x)</td><td>x→0 で発散・振動的</td><td>振動・波動の特異解</td></tr><tr><td><strong>BESSELI</strong></td><td><strong>第1種変形ベッセル関数</strong></td><td><strong>I_n(x)</strong></td><td><strong>単調増加（指数発散）</strong></td><td><strong>熱伝導・拡散の正則解</strong></td></tr><tr><td>BESSELK</td><td>第2種変形ベッセル関数</td><td>K_n(x)</td><td>単調減少（指数減衰）</td><td>熱伝導・拡散の特異解</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">振動・波動現象ならJ/Y、熱伝導・拡散現象ならI/K、原点で有限の解が欲しければJ/I、という使い分けです。</p>



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



<p class="wp-block-paragraph">ポイントを振り返っておきましょう。</p>



<ul class="wp-block-list"><li><strong>GoogleスプレッドシートにBESSELI関数はない</strong>。入力すると <code>#NAME?</code> エラーになる（BESSELJ/Y/Kも同様）</li><li>いちばん手軽な代替は<strong>Excel</strong>（Web版でも使える）。<code>=BESSELI(x, n)</code> で計算できる</li><li>スプレッドシート内で完結させたいなら<strong>GASカスタム関数</strong>を自作する（この記事のコードをコピペでOK）</li><li>単発の計算なら<strong>Wolfram AlphaやPython（SciPy）</strong>でも十分</li></ul>



<p class="wp-block-paragraph">「スプレッドシートに関数がない」とわかるだけでも、原因調査の時間をかなり節約できます。Excelでの詳しい使い方は<a href="https://mashukabu.com/excel-function-howto-use-besseli/">ExcelのBESSELI関数の使い方</a>をどうぞ。</p>



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



<ul class="wp-block-list"><li><a href="https://mashukabu.com/excel-function-howto-use-besseli/">ExcelのBESSELI関数の使い方｜第1種変形ベッセル関数を計算する</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-besselj/">ExcelのBESSELJ関数の使い方｜第1種ベッセル関数の値を求める方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-bessely/">ExcelのBESSELY関数の使い方｜第2種ベッセル関数の値を求める方法</a></li><li><a href="https://mashukabu.com/excel-function-howto-use-besselk/">ExcelのBESSELK関数の使い方｜第2種変形ベッセル関数を計算する</a></li><li><a href="https://mashukabu.com/spreadsheet-besselj-function/">スプレッドシートのBESSELJ関数は使えない？理由と代替方法</a></li><li><a href="https://mashukabu.com/spreadsheet-bessely-function/">スプレッドシートのBESSELY関数は使えない？理由と代替方法</a></li><li><a href="https://mashukabu.com/spreadsheet-besselk-function/">スプレッドシートのBESSELK関数は使えない？理由と代替方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-besseli-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
