0. はじめに
本資料では Excel 数値計算ソフトウェア XLPack の基本的な使い方を説明します.本章では全体の概要, および, 例題ワークシートの入手方法と使い方を説明します. 次章以下では数値計算の分野ごとに使い方を詳しく説明します.
説明で使用される例題が入った例題ワークシートをダウンロードすることができますので, 実際に使ってみながら説明を読むことをお勧めします. 例題は XLPack Basic を使って実行可能です.
なお, 解法の詳細についてはここでは触れませんが, 別途「数値計算解法編」で解説していく予定ですのでそちらもご覧ください.
0.1 XLPack の構成
XLPack はプログラミングをせずに数値計算するためのツールとプログラミングをサポートするツールの2つで構成されています. 前者としてはワークシート関数ライブラリおよびソルバー, 後者としては VBA サブルーチン/関数ライブラリが提供されます.
これらのツールは例題ワークシートをひな形として活用すれば容易に使い始めることができます. また, マニュアルには簡単なものを除きほとんどのサブルーチン/関数の使用例が掲載されているので, それを参考にすることもできます.
0.1.1 プログラミングせずに数値計算
ワークシート関数またはソルバーを使うとプログラミングを必要とせずに計算を行うことができます.
0.1.1.1 ワークシート関数ライブラリ
ワークシート関数は Excel ワークシートに直接記述できる関数です. XLPack のワークシート関数は, 大きく分けると, 値を1つ返すものとベクトルあるいは行列のようにひとまとまりの値を返すものの2種類があります.
前者の主な例は特殊関数で, 通常の Excel 関数のように数式の一部として使います.
後者は通常の Excel 関数とは違い配列型の結果を返す関数で, 主なものは線形計算(連立一次方程式, 固有値・固有ベクトル, 最小二乗法など)の関数です. 他に, 補間, 代数方程式および FFT もこのような関数となります. これらをワークシートに入力するには, 結果を出力するセル領域を選択し, 数式バーの fx をクリックするか, 「Shift」+「F3」のショートカットを押すと「関数の挿入」が表示されるのでこれを使って関数を選択します. パラメータを設定し終わったら, 「OK」をクリックしたり「Enter」を押したりはせずに, 「Ctrl」+「Shift」+「Enter」を押します. (下記 0.3.3.2 参照)
0.1.1.2 XLPackソルバー
Excel に標準添付されているソルバーと同じように, メニュー操作で指定されたセルを参照することにより計算をすすめるアドインです. 数式とそれに必要なデータをワークシートに入力するだけで計算を行うことができます. (下記 0.3.3.4 参照)
対象となるのは非線形方程式, 非線形最適化, 非線形最小二乗法, 数値積分および常微分方程式です.
0.1.2 VBA 数値計算プログラミングをサポート
0.1.2.1 VBA サブルーチン/関数ライブラリ
VBA サブルーチン/関数ライブラリは VBA プログラムから呼び出すことができるサブルーチン/関数群です. VBA による数値計算プログラミングが必要なときにこれらを使うことにより, 数値計算の専門的なプログラミングはライブラリに任せて, 主に入出力部分だけを作ればよいようになっています. (下記 0.3.3.3 参照)
0.2 対象とする数値計算の分野
XLPackは下記のように一般的な数値計算のほぼすべての分野をカバーしています. 次章以下ではそれぞれについて例題を用いて使い方を説明します.
1. 特殊関数
2. 連立一次方程式
3. 固有値・固有ベクトル
4. 線形最小二乗法
5. 補間法
6. 代数方程式
7. 1 変数非線形方程式
8. 多変数非線形方程式
9. 1 変数非線形最適化
10. 多変数非線形最適化
11. 数値積分
12. 常微分方程式 (ODE)
13. 高速フーリエ変換 (FFT)
14. 非線形最小二乗法
15. 乱数
16. 疎行列の線形計算および偏微分方程式 (PDE)
0.3 例題ワークシートの入手と使用方法
0.3.1 例題ワークシートの入手
例題ワークシートを下記で公開しています. ダウンロードして使用できます.
![]()
(別タブで開きます)
参考 – より多くの機能を使用したサンプル・ワークシートを下記で公開しています. こちらもご利用ください.
ダウンロード の「サンプルワークシート」をご覧ください.
0.3.2 例題ワークシート使用の前に
例題ワークシートを使用するために必要な環境は次のとおりです.
- Windows 10 (バージョン 22H2) または Windows 11
- Office 365, 2024, 2021, 2019 または 2016 の Excel
これらが満たされていれば ユーザーガイド の次の項目に従って必要なソフトウェアのインストールおよび設定を行います.
- XLPack Basic のインストール (ユーザーガイド 3 項)
- アドインの組み込み (ユーザーガイド 5 項の「アドインの組み込み」)
以上で準備完了です.
0.3.3 例題ワークシートの使用方法
0.3.3.1 例題ブックの構成
ダウンロードした例題ブックには 3 種類の例題ワークシートが入っています. すなわち, ワークシート関数を使用したワークシート, VBA プログラムを使用したワークシート, そして, ソルバーを使用したワークシートです.
ワークシート名は「Ex + 数字 + 記号」となっています. 数字は本入門編の章番号です. 記号は, W はワークシート関数を使用したもの, S はソルバーを使用したものを表します. 記号がないものは VBA プログラムを使用したものを表します.
例.
Ex2 – 「2. 連立一次方程式」の例題で VBA プログラムを使用したワークシート
Ex2W – 「2. 連立一次方程式」の例題でワークシート関数を使用したワークシート
Ex8S – 「8. 非線形連立方程式」の例題でソルバーを使用したワークシート
VBA プログラムが入っている標準モジュール名は「Ex + 数字」となっています. 数字は章番号です.
0.3.3.2 ワークシート関数を使用した例題ワークシートの使用法
「2. 連立一次方程式」の例を使って説明します.
例題
次の連立一次方程式を解く.
\[
\begin{align}
& 10x_1 – 7x_2 = 7 \\
& -3×1 + 2x_2 + 6x_3 = 4 \\
& 5x_1 – x_2 + 5x_3 = 6 \\
\end{align}
\]
これは, 行列で表すと次のようになります.
\[
\boldsymbol{A}\boldsymbol{x} = \boldsymbol{b}
\]
ただし,
\[
\boldsymbol{A} =
\begin{pmatrix}
10 & -7 & 0 \\
-3 & 2 & 6 \\
5 & -1 & 5 \\
\end{pmatrix},
\boldsymbol{b} =
\begin{pmatrix}
7 \\
4 \\
6 \\
\end{pmatrix},
\boldsymbol{x} =
\begin{pmatrix}
x_1 \\
x_2 \\
x_3 \\
\end{pmatrix}
\]
ここで, \(\boldsymbol{A}\) は係数行列, \(\boldsymbol{b}\) は右辺ベクトル, \(\boldsymbol{x}\) は解ベクトルです.
例題ワークシートでは, オレンジ色のセルはデータ(場合によっては式)を入力することを表し, 緑色のセルにはワークシート関数を入力することを表します.
公開されている例題ワークシートでは緑色のセルにワークシート関数を入力済ですが, ここでは最初から説明します.
まず, ワークシートの適当な場所に係数行列 \(\boldsymbol{A}\) と右辺ベクトル \(\boldsymbol{b}\) のデータを入力します(オレンジ色のセル). そして, 解ベクトルを入れる場所として(解の要素数 + 2)個のセルを選択します(緑色のセル).
ここで, 数式バーの fx をクリックすると, 使用する関数を聞かれるので, 関数の分類 XLPack より WDgesv を選択します.

必要なパラメータ(N, A, B, Nrhs)の入力を要求されるので, それぞれに適切な値を入力します.
N: 要素数(この例では 3)
A: 係数行列 \(\boldsymbol{A}\) の範囲
B: 右辺ベクトル \(\boldsymbol{b}\) の範囲
Nrhs: 右辺ベクトルの本数 (入力を省略可. 1 とみなす)

入力が終了したら Ctrl + Shift + Enter を押します.

これで, 解 \(\boldsymbol{x} = \begin{pmatrix} 0 & -1 & 1\end{pmatrix}^T\) が求められました. なお, 表示されている 0.078283 は条件数の推定値の逆数, 一番下の 0 はリターンコード(正常終了を示す)です.
\(\boldsymbol{x}\) の場所を 2 つ余分に確保したのはこれらを表示させるためです. しかし, この例では 3 セルだけ選択しても構わなく, その場合は解だけが表示されます.
0.3.3.3 VBA プログラムを使用した例題ワークシートの使用法
上と同様に「2. 連立一次方程式」の例を使って説明します.
オレンジ色のセルはデータ(場合によっては式)を入力することを表し, 緑色のセルは VBA プログラムが書き込むセルを表します.

プログラムは標準モジュール Ex2 に入っています.

プログラムを実行するためには「開発」「マクロ」をクリックして Ex2.Start を選び「実行」をクリックします. なお, ボタン「Start」には Start マクロが登録されています. これをクリックして実行を開始することもできます.

緑色のセルに結果が書き込まれます.

ボタン「Clear」には緑色のセルをクリアするマクロが登録されています.
0.3.3.4 ソルバーを使用した例題ワークシートの使用法
「8. 非線形連立方程式」の例を使って説明します.
例題
次の非線形連立方程式を解く.
\[
\begin{align}
&f_1(x_1, x_2) = 4x_1^2 + x_2^2 – 16 = 0 \\
&f_2(x_1, x_2) = x_1^2 + x_2^2 – 9 = 0 \\
\end{align}
\]
オレンジ色のセルはデータ(場合によっては式)を入力することを表し, 緑色のセルはソルバーが書き込むセルを表し, 青色のセルはソルバーのパラメータの保存領域を表します.
セル A5, B5 は, それぞれ変数 \(x_1\), \(x_2\) として使用することにします. セル B9 には第1式(=4*B8^2+C8^2-16), C9 には第2式(=B8^2+C8^2-9)を入力しておきます.

「アドイン」「XLPack ソルバー」から「非線形連立方程式」をクリックします.

「保存/読込(S)」をクリックします.
青色のパラメータの保存領域を選択し, 「読込」をクリックします

必要なパラメータがソルバーに設定されます.

「計算開始」をクリックすると, 緑色のセルに結果が書き込まれます.



