【Excel VBA】平方根(素朴な計算方法(1桁つづ求める))

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

平方根を自力で計算するアルゴリズム(筆算と同じように1桁ずつ求める方法)を勉強するため、VBAで平方根を計算するプログラムを作成しました。

このプログラムでは、数値を入力すると小数点以下へ向けて1桁ずつ近似値を計算し、その結果と2乗した値をイミディエイトウィンドウに出力します。

VBAコード

Sub Sql11_VBA()
    Dim k As Integer
    Dim a As Double ' 平方根を求めたい数値
    Dim d As Double
    Dim r As Double ' 近似値
    
    Do While (1)
        a = 1.1
        a = CDbl(InputBox("正の数を入力してください (0入力で終了)"))
        ' 0の場合またはキャンセル時は終了
        If a <= 0# Then Exit Do
        
        Debug.Print a & " の平方根"
        Debug.Print "近似値                  近似値の2乗"
        
        d = 1#
        r = 0
        For k = 1 To 10
            Do While (r * r <= a)
                r = r + d
            Loop
            r = r - d
            Debug.Print Format(r, "0.0000000000") & "    " & Format((r * r), "0.0000000000")
            d = d / 10#
        Next k
        
    Loop
End Sub

実行例(2.0を入力した場合)

数値を 2.0 として実行した場合、イミディエイトウィンドウには次のような計算経過が出力されます。

2の平方根
近似値                  近似値の2条
1.0000000000     1.0000000000
1.4000000000     1.9600000000
1.4100000000     1.9881000000
1.4140000000     1.9993960000
1.4142000000     1.9999616400
1.4142100000     1.9999899241
1.4142130000     1.9999984094
1.4142135000     1.9999998236
1.4142135600     1.9999999933
1.4142135620     1.9999999989

使い方とポイント

Excelの標準関数(SQR関数)を使えば一瞬で平方根を求めることができますが、このようにアルゴリズムをコードで実装してみることで、数値計算の仕組みをより深く理解することができます。

この記事の更新履歴

この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。

2026年9月12日

  • 削除リンク切れとなっている古い外部参考URLを削除しました。
  • 追加VBAマクロの実行手順と期待される出力結果の解説を追加しました。

文書情報

記事タイトル
【Excel VBA】平方根(素朴な計算方法(1桁つづ求める))
作成日
更新日
Source URL
https://papanda925.com/?p=513

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました