[Excel] SQRTで平方根(ルート)を計算する

エクセルで平方根を計算する

 実数の 平方根SQRT関数 を使って計算します。たとえば、

=SQRT(11)

と入力すると 3.31662479 が返ります。SQRT関数に渡す引数は正数でなければなりません。負数を渡すとエラー値 #NUM! を返します。負数の平方根を求めたい場合は後述する IMSQRT関数を使ってください。

 ベキ乗演算子 (^) を使って平方根を得ることもできます。たとえば、$11$ の平方根は

=11^0.5

によって計算できます (戻り値は 3.316625)。数値のべき乗を返す POWER 関数の第 2 引数に 0.5 または 1/2 を渡して平方根を計算させることもできます。たとえば、120 の平方根を計算する場合は

=POWER(120, 0.5)

と入力します (戻り値は 10.95445)。

 負数あるいは複素数の平方根 は IMSQRT関数を使って計算します。
 たとえば、$2+3i$ の平方根は

=IMSQRT("2+3i")

によって計算できます。戻り値は

 1.67414922803554+0.895977476129838i

となります。あるいは、複素数のベキ乗演算関数 IMSQRT の第 2 引数に 0.5 を渡します。たとえば、$2+3i$ の平方根を計算する場合は

=IMSQRT("2+3i")

と記述します。戻り値は次のようになります。

 1.67414922803554+0.895977476129838i

 

無理関数のグラフ

 SQRT関数を使って描いた無理関数 $y=\sqrt{x}$ のグラフです。

 ExcelのSQRT関数を用いて描いた無理関数のグラフ

 このグラフのデータが入ったワークシートをダウンロードすることができるので、興味のある人は開いてみてください:

 ≫ 無理関数のグラフデータをダウンロード
 

VBA で平方根を計算する

 VBA で 平方根 を計算するときは Sqr関数 を用います。
 引数は 0 以上の数値で指定します。
 戻り値は double 型(倍精度浮動小数点数型)です。

 任意の数を InputBox から入力してその平方根を得るマクロです。

'平方根を計算するプロシージャ

Sub Sqr2()

  Dim x As Double, s As Double

  x = InputBox("数値を入力してください")

  If x = -1 Then
    MsgBox ("i")
  ElseIf x < 0 Then
    s = Sqr(Abs(x))
    MsgBox (s & "i")
  Else
    s = Sqr(x)
    MsgBox (s)
  End If

End Sub

 上のマクロを実行すると値を入力するように促されます。
 入力した値によって、次のような形で表示されます。

  入力値:-1       虚数単位 i
  入力値:-1 以外の負数 [入力値の絶対値の平方根]i
  入力値:0 または正数  入力値の平方根

 たとえば「-3」と入力するとメッセージボックスに

1.73205080756888 i

と表示されます。
 
 以下のマクロを実行すると、ワークシートの A 列と B 列に指数関数 y = √x のグラフを描くためのデータが得られます。

'xの平方根を計算するプロシージャ

Sub Sqrx()
  Dim i As Double

  i = 0

  Range("A1") = "x"
  Range("B1") = "√x"
  Range("A2").Select

  Do While i <= 8.01
    ActiveCell.Value = i
    ActiveCell.Offset(, 1).Value = Sqr(i)
    ActiveCell.Offset(1).Select
    i = i + 0.02
  Loop

End Sub

 上のマクロを実行すると A 列と B 列に x と y の値が埋め込まれ、このデータを用いてグラフを描くことができます。原点付近を滑らかにつなぐために x の刻み幅は 0.02 という非常に小さな値をとっているので、400 行というやや大きなデータになります。必要に応じてデータを調整してください。 ≫ VBA 関数辞典

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください