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