「Excelでベッセル関数の値を求めたいけど、どう入力すればいいの?」
Excelには、第1種ベッセル関数Jn(x)の値を返すBESSELJ関数が用意されています。ベッセル関数は振動や波動の解析で使われる特殊関数で、理工系の計算で必要になることがありますよね。
この記事では、ExcelのBESSELJ関数の使い方を基本から解説します。構文と引数のルール、次数を変えた比較、BESSELY関数との違い、エラーの対処法まで網羅しますよ。
ExcelのBESSELJ関数とは?読み方と基本概要
BESSELJ関数は、第1種ベッセル関数Jn(x)の値を返すExcelの関数です。
エンジニアリング関数のひとつで、物理学や工学の計算に使われます。Excel 2010以降であれば、アドインなしで標準で利用できますよ。
読み方と意味
読み方は「ベッセル・ジェイ」です。
- BESSEL = Bessel(ベッセル、数学者フリードリヒ・ベッセルの名前に由来)
- J = 第1種ベッセル関数を表す記号
第1種ベッセル関数は、数学ではJn(x)と表記します。nが次数、xが変数です。
ベッセル関数とは?直感的に理解する
ベッセル関数は「円筒形の振動パターンを表す関数」と覚えるとイメージしやすいです。
たとえば、太鼓の膜を叩いたときの振動パターンを数式で表すと、ベッセル関数が登場します。円筒座標系(丸い座標系)での波動方程式や熱伝導方程式の解として現れる特殊関数です。
日常業務で使う場面は限られますが、以下のような分野で必要になります。
- 電磁波の解析(アンテナ設計、導波管)
- 振動・音響の解析(ドラムヘッド、スピーカー)
- 熱伝導の計算(円筒形の部品の温度分布)
- 信号処理(FM変調のスペクトル解析)
BESSELJ関数の構文と引数
基本構文
=BESSELJ(x, n)
引数は2つで、どちらも必須です。
| 引数 | 説明 | 必須/省略可 |
|---|---|---|
| x | 関数に代入する値 | 必須 |
| n | ベッセル関数の次数 | 必須 |
引数x(関数に代入する値)
xには、ベッセル関数に代入する数値を指定します。正の数・負の数・0のいずれも指定できます。
数値以外の値(文字列など)を指定すると、#VALUE!エラーになるので注意しましょう。
引数n(ベッセル関数の次数)
nには、ベッセル関数の次数を0以上の整数で指定します。
注意点は以下のとおりです。
- 負の数を指定 → #NUM!エラーになります
- 小数を指定 → 小数点以下が切り捨てられます(例: n=2.7 → n=2として計算)
- 数値以外を指定 → #VALUE!エラーになります
n=0ならJ0(x)、n=1ならJ1(x)のように計算されます。次数によって関数の形状が変わりますよ。
BESSELJ関数の使用例
基本的な使い方
もっともシンプルな使い方は、引数に直接数値を入力する方法です。
=BESSELJ(1.9, 2)
この数式は、第1種ベッセル関数J2(1.9)の値を返します。結果は約0.329926です。
セル参照を使えば、xやnの値を自由に変更できます。
=BESSELJ(A2, B2)
A2にxの値、B2にnの値を入力しておけば、値を変えるだけで再計算されるので便利ですよ。
次数を変えて比較する
次数nの値を変えると、ベッセル関数の振る舞いがどう変わるか見てみましょう。x=1.5を例にします。
| 数式 | 次数 | 結果 |
|---|---|---|
=BESSELJ(1.5, 0) | n=0 | 0.5118 |
=BESSELJ(1.5, 1) | n=1 | 0.5579 |
=BESSELJ(1.5, 2) | n=2 | 0.2321 |
=BESSELJ(1.5, 3) | n=3 | 0.0610 |
n=0とn=1では比較的大きな値になっています。一方、次数が上がるにつれて値が小さくなります。次数が高いほどx=0付近での値が0に近づく性質があるためです。
x=0のときの特殊な性質
x=0を代入した場合、次数によって結果が変わります。
=BESSELJ(0, 0) → 結果: 1
=BESSELJ(0, 1) → 結果: 0
=BESSELJ(0, 2) → 結果: 0
J0(0)=1、Jn(0)=0(n>=1)というのはベッセル関数の重要な性質です。覚えておくと検算に便利ですよ。
BESSELJ関数とBESSELY関数の違い
Excelにはもうひとつ、BESSELY関数があります。これは第2種ベッセル関数Yn(x)の値を返す関数です。
2つの関数の違いをまとめます。
| 項目 | BESSELJ | BESSELY |
|---|---|---|
| 返す値 | 第1種 Jn(x) | 第2種 Yn(x) |
| x=0のとき | J0(0)=1(n=0の場合) | #NUM!エラー(Yn(0)は負の無限大) |
| xに負の数 | 計算可能 | #NUM!エラー |
| 主な用途 | 境界条件が有限の問題 | 境界条件が無限大を含む問題 |
大きな違いは、BESSELYはx<=0で使えない点です。第2種ベッセル関数はx=0で負の無限大に発散するため、Excelでは#NUM!エラーを返します。
一方、BESSELJはx=0でも問題なく計算できます(n=0のときJ0(0)=1)。
どちらを使うかは、解きたい問題の境界条件によって決まります。迷ったときは、まずBESSELJ関数を試してみてください。BESSELY関数の詳しい使い方はBESSELY関数の解説記事で紹介していますよ。
よくあるエラーと対処法
BESSELJ関数で発生するエラーは主に2種類です。
#NUM!エラー
引数nに負の数を指定したときに発生します。
=BESSELJ(1.5, -1) → #NUM!エラー
対処法: nには0以上の整数を指定してください。nが別セルを参照している場合は、そのセルの値が負になっていないかチェックしましょう。
#VALUE!エラー
引数xまたはnに数値以外の値(文字列など)を指定したときに発生します。
=BESSELJ("abc", 1) → #VALUE!エラー
=BESSELJ(1.5, "二") → #VALUE!エラー
対処法: xとnの両方が数値であることを確認してください。セル参照の場合は、参照先が文字列になっていないかチェックしましょう。
IFERROR関数と組み合わせれば、エラーの場合に代替値を表示できます。
=IFERROR(BESSELJ(A2, B2), "入力値を確認してください")
まとめ
この記事では、ExcelのBESSELJ関数の使い方を解説しました。ポイントを振り返りましょう。
- BESSELJ関数は第1種ベッセル関数Jn(x)の値を返す
- 引数はx(代入する値)とn(次数、0以上の整数)の2つ
- nに小数を指定すると切り捨て、負の数で#NUM!エラー
- x=0のとき、J0(0)=1、Jn(0)=0(n>=1)
- BESSELYとの違いは、x<=0での動作(BESSELJは計算可能、BESSELYはエラー)
ベッセル関数を使う場面は専門的ですが、ExcelのBESSELJ関数を使えば手計算の手間が省けますよ。BESSELY関数との使い分けも押さえて、計算業務を効率化してみてください。
関連する関数一覧
関数一覧
下記どちらの関数一覧からでも各関数の解説記事へアクセスできます。
