<?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>BESSELJ関数 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/besselj%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:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>BESSELJ関数 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>スプレッドシートにBESSELJ関数はない｜#NAME?になる理由と3つの代替方法</title>
		<link>https://mashukabu.com/spreadsheet-besselj-function/</link>
					<comments>https://mashukabu.com/spreadsheet-besselj-function/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Wed, 29 Apr 2026 12:13:15 +0000</pubDate>
				<category><![CDATA[Googleスプレッドシート]]></category>
		<category><![CDATA[BESSELJ関数]]></category>
		<category><![CDATA[エンジニアリング関数]]></category>
		<category><![CDATA[スプレッドシート]]></category>
		<category><![CDATA[ベッセル関数]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=6384</guid>

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



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



<p class="wp-block-paragraph">この記事では、実際に検証した結果と、スプレッドシートユーザーが第1種ベッセル関数 J_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">スプレッドシートでBESSELJは使えない（実機検証）</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">そもそもBESSELJ（第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">スプレッドシートでBESSELJは使えない（実機検証）</span></h2>



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



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



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



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



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



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



<pre class="wp-block-code"><code>=BESSELJ(1.5, 1)   → 0.5579（Excelでの結果）</code></pre>



<p class="wp-block-paragraph">構文は <code>=BESSELJ(x, n)</code> で、xに評価する値、nに次数（0以上の整数）を指定します。引数の意味やエラー対処の詳細は、<a href="https://mashukabu.com/excel-function-howto-use-besselj/">ExcelのBESSELJ関数の使い方</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>=BESSELJ(1.5, 0)</td><td>0.5118</td></tr><tr><td>=BESSELJ(1.5, 1)</td><td>0.5579</td></tr><tr><td>=BESSELJ(1.5, 2)</td><td>0.2321</td></tr><tr><td>=BESSELJ(2, 0)</td><td>0.2239</td></tr><tr><td>=BESSELJ(2, 1)</td><td>0.5767</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種ベッセル関数 J_n(x) を級数展開で計算するカスタム関数
 *
 * @param {number} x 評価する値
 * @param {number} n 次数（0以上の整数）
 * @return {number} J_n(x) の値
 * @customfunction
 */
function BESSELJ_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>=BESSELJ_GAS(1.5, 1)   → 0.557937</code></pre>



<p class="wp-block-paragraph">この実装はJ_n(x)の級数定義をそのまま計算するもので、|x|が20程度までの実用範囲ではExcelのBESSELJと小数点以下6桁レベルで一致することを確認済みです。|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>: 検索欄に「BesselJ(1, 1.5)」と入力するだけで値が得られます</li><li><strong>Python（SciPy）</strong>: <code>scipy.special.jv(n, x)</code> で高精度に計算できます</li></ul>



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



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



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



<ul class="wp-block-list"><li>円形膜（太鼓の膜）の振動モード計算</li><li>電磁波の解析（円形導波管の固有モード、アンテナ設計）</li><li>音響解析（スピーカーの放射パターン）</li><li>FM変調のスペクトル解析（変調指数βのn次側波帯の振幅がJ_n(β)になる）</li></ul>



<p class="wp-block-paragraph">J_n(x) は x の増加とともに振動しながら減衰していくのが特徴です。また、J_0(0) = 1、J_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><strong>BESSELJ</strong></td><td><strong>第1種ベッセル関数</strong></td><td><strong>J_n(x)</strong></td><td><strong>振動的・原点で有限</strong></td><td><strong>振動・波動の正則解</strong></td></tr><tr><td>BESSELY</td><td>第2種ベッセル関数</td><td>Y_n(x)</td><td>x→0 で発散・振動的</td><td>振動・波動の特異解</td></tr><tr><td>BESSELI</td><td>第1種変形ベッセル関数</td><td>I_n(x)</td><td>単調増加（指数発散）</td><td>熱伝導・拡散の正則解</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スプレッドシートにBESSELJ関数はない</strong>。入力すると <code>#NAME?</code> エラーになる（BESSELY/I/Kも同様）</li><li>いちばん手軽な代替は<strong>Excel</strong>（Web版でも使える）。<code>=BESSELJ(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-besselj/">ExcelのBESSELJ関数の使い方</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-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-besseli/">ExcelのBESSELI関数の使い方｜第1種変形ベッセル関数を計算する</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-bessely-function/">スプレッドシートのBESSELY関数は使えない？理由と代替方法</a></li><li><a href="https://mashukabu.com/spreadsheet-besseli-function/">スプレッドシートのBESSELI関数は使えない？理由と代替方法</a></li><li><a href="https://mashukabu.com/spreadsheet-besselk-function/">スプレッドシートのBESSELK関数は使えない？理由と代替方法</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/spreadsheet-besselj-function/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
