表計算ソフトウエアを使って AHP を行う
高萩栄一郎
専修大学 商学部

1

1 はじめにこのプリントは，表計算ソフトウエア (Micorosoft EXCEL) を利用して，AHP の総合評価値の計算を行うものである．

1.1 特徴次のような特徴を持つ．

• 一対比較行列から重要度，整合度 (CI) を求める関数，AHP を作成してあり、それを利用する．
• 一対比較をアンケート用紙形式で記入することができる．
• 一対比較の結果や総合評価値をグラフ化できる．
• 関数と表計算の計算式で設定しているので，一対比較値を変更すれば，即座に総合評価値，グラフに反映する．

• 上記の機能を利用して，実際の利用者と対話的に AHP を行うことができる．
• Excel 用に作成しているが，若干の修正で他の表計算ソフトウエアでも利用可能である．

1.2 関数 AHP の利用
AHP の総合評価値の算出（固有値，固有ベクトルを求める計算）は，表計算ソフトウエアのマクロ（VBA) を用いている．マクロのソースファイルは，

http://www.senshu-u.ac.jp/%7ethc0456/AHP/index.htm
から，ダウンロードできる．

Excel での組み込み方は，次のように行う．
1. メニューバーのツール → マクロ → Visual Basic Editor
2. メニューバーの挿入 → 標準モジュール
3. メニューバーの挿入 → ファイル として，ダウンロードしたファイル (AHP.BAS) を読み込む
4. メニューバーのファイル → 終了して Microsoft Excel に戻る
また，§1.3 の例題のファイルから変更することも可能である．

1.3 例題のファイル
このテキストの例題のファイルは，

http://www.senshu-u.ac.jp/%7ethc0456/AHP/index.htm
から，ダウンロードできるので，このテキストと併用していただきたい．ただし，例題のファイル
は，Excel のマクロを利用しているので，起動時にマクロの確認をしてくる．このとき，「マクロを有効にする」としないと利用できない．

2

2 階層図の作成
階層図は，いろいろなドローソフトウエアで作成可能である．ここでは，Microsoft Organization

Chart を使って作成する．

t·É31¬ïªÉ3¶cºdb1"

tz~

t·j¤ t·j¤ t·j¤
図 1: 階層図の完成例

Word や Excel などを利用しておこなう．
1. Word(Excel) を起動します。
2. メニュー → 挿入 (I) → オブジェクト (O) →Microsoft Organization Chart

3. タイトルの欄は，必要があれな記入するが，ここでは不要なので， Delete キーで削除する．
4. 一番上 (Leval 1) の名前を問題の名前にする。（ここでは、「スポーツクラブの選定」）この四角のタイトルは削除する。（括弧 <> 付きになれば、削除されている。）
5. 2 層目 (Level 2) の評価基準も同様に名前をつけていく。
6. 2 層目の評価基準の四角は 3 つしかないので、1 つ追加する。
(a) 右側に付け加える「同レベル」のアイコンをクリック(b) 評価基準の四角の内、最も右側をクリック
7. 第３層 (Level 3) の代替案の四角を作る。
(a) すべての評価基準の四角を範囲指定する(b) メニュー → スタイル → 共同マネージャー
8. 四角の数が足りなければ、同レベルで付け加える。
9. 完成したら、メニュー → ファイル → 終了して戻る （．
．更新しますか？

[はい] とする）

3 一対比較のアンケート用紙
以下，表計算ソフトウエア (Excel) を用いて説明する．できるだけ，例題のファイルを参照されたい．

3

3.1 アンケート用紙の作成



















¡




¢
£
¤ ¥¦ §¨ ©
       JJ

K

.
K



ª II

K

JK

JJK

III

JJK

II

ª
ª
ª
É3¶cº
É3¶cºdb1"

.
K

J




On01û»§»ÀÀÀ
À

1
111À

1

1ÄÄ
Ä
Ä
11
Ä
+Äá
ááá    Ä  á    á  Ä    
Ø F V F á F  F  F  F á F V F Ø

ï
L
ï
»
»
ñ
ñ
KK





.
.
I




É3¶cºdb1"
tz~
db1"
tz~

tz~

図 2: アンケートのセル

まず，図 2 のような AHP のアンケート用紙を作成する．実際は，青の罫線で囲った部分になる．
茶で囲った部分は，対応する列の一対比較値で，後ほど使用する．また，CI の値も後ほど計算する．

3.2 一対比較の実施
一対比較は，青の枠線で囲った部分の一対比較で当てはまる部分に数字の 1 を記入していく．変
更する場合は，変更前の 1 を削除する．
注意：1 を記入するのは各行につき，1ヶ所となる．

3.3 一対比較値の計算
一対比較が正しく行われたかどうかと一対比較値を求める（図 3 参照）．
各行の合計を求める 一対比較が正しく行われたかどうか確かめるために，U 列に 1 を入力する場所の合計を求める．
セル

計算式

意味

U4=SUM(B4:R4)

左のセルの合計の計算式

複写元

U4

複写先

U5:U9

各行の合計が 1 かどうか確かめる 各行につき，1ヶ所 1 を記入するので，各行の合計を求め，1 でなければ NG を，1 ならば OK を出力する．
セル

計算式

意味

V4=IF(U4=1,”OK”,”NG”)

U4 が 1 かどうか確かめる計算式

4


¬­®

' I û»§»o ¦¢ ¦¢ ¦¢ ¦¢ ¦¢ ¦¢


図 3: 一対比較値の計算

複写元

V4

複写先

V5:V9

一対比較値を求める 1 を記入したセルの上方の茶色の枠線内の値を一対比較値とする．
計算の考え方• 一対比較を記入するセル (B4〜R4) と茶色の枠線の対応するセル (B1〜R1) との積を求め，その和 (総和) を求める．たとえば，W4 は，

B4 ∗ B1 + C4 ∗ C1 + D4 ∗ D1 + E4 ∗ E1 + F 4 ∗ F 1 + . . . + R4 ∗ R1(1)とする．

• 一対比較を記入したセル (B4〜R4) では，D4 のみ 1 で，他のセルは空白になっている．空白のセルは 0 と見なされるので，式 (1) では，D4 ∗ D1 のみが 0 以外で，他の項 (B4 ∗ B1など）は，0 となる．D4 = 1 なので，D4 ∗ D1 = D1 ，つまり一対比較値の 7 になる．
したがって，すべての項の和が一対比較値になる．
計算式の設定• 計算式は，積和を求める関数「sumproduct 」を用い，W4 には，次のように記入し，下に複写する．
セル計算式

意味

W4=SUMPRODUCT(B4:R4,B$1:R$1)

積和を求める

複写元

W4

複写先

W5:W9

• 「B1:R1」に$マークをつけたのは，下方に複写してもいつでも 1 行目との積和をとるためである．

5

• 一対比較値は，通常分数の形式で表示するので，表示形式を分数にする．
1. W4:W9 を範囲指定
2. メニューバーの書式 → セル
3. 表示形式のタグをクリック
4. 分類から「分数」を選び，[OK] をクリック

4 一対比較行列の作成と重要度の算出
図 4 にしたがって，一対比較行列の作成と重要度,CI を求める．

4.1 一対比較行列の作成
°±









ª
É3¶cºdb1"tz~ªÉ3¶cºdb1" tz~
















Ð2

 






    

図 4: 一対比較行列と重要度の算出

一対比較行列の作成は，次のように行う．

1. 一対比較行列の対角要素に 1 を記入する (Z5,AA6,AB7,AC8 に 1 を入力)
2. 一対比較行列の右上の部分を一対比較値のセルの値と同じにする．同じ値にするときには，セル W4 の複写し，AA5 に貼り付けるという作業で行ってはならない．複写と貼り付けで行うと，一対比較が変更されたときに，一対比較行列に反映されなくなる．また，AA4 の設定結果を AB5 などに複写と貼り付けで設定できないので，手作業で各セルを設定しなくてはならない．

6セル計算式

意味

AA5=W4AA5 のセルの値を W4 と同じにする

AB5=W5AB5 のセルの値を W4 と同じにする

AC5=W6AC5 のセルの値を W4 と同じにする

AB6=W7

AB6 のセルの値を W4 と同じにする

AC6=W8AC6 のセルの値を W4 と同じにする

AC7=W9AC7 のセルの値を W4 と同じにする

3. 2. で記入したセルの逆の位置の要素（対称の要素）に逆数を与える
セル

計算式

意味

Z6=1/AA5逆の位置の要素の逆数

Z7=1/AB5〃

Z8=1/AC5〃

AA7=1/AB6〃

AA8=1/AC6〃

AB8=1/AC7〃

4. 一対比較行列 (Z5:AC8) の表示形式を分数にする．

4.2 重要度の算出
重要度の算出には，Excel のマクロ (VBA) で作成した関数 AHP を利用する．関数 AHP は，一対比較行列を入力として与えると，関数の値として重要度や CI, 最大固有値を返す．関数 AHP の引数を表 1 に示す．実際には，一対比較行列は，対角要素の右上の要素しか計算には利用しない．
表 1: 関数 AHP の仕様
AHP

関数名機能

一対比較行列を与えると，重要度や CI, 最大固有値を返す．

引数 1

何を出力するか? -1:最大固有値,0:C.I.(整合度)
1:1 番目の重要度,2:2 番目の重要度, . . . , n:n 番目の重要度

引数 2

一対比較行列の列数（または行数）

引数 3

一対比較行列の範囲 (ただし，一対比較行列の右上しか利用しない)（関数 AHP の表への導入方法は，1.2 を参照）
準備 図 4 のように，AF の列 (AF5〜AF9) に，あらかじめ関数 AHP の１番目の引数の値を入力しておく．

1 番目の重要度 (AE5) 関数 AHP を用いて 1 番目の重要度を求める．AE5 には，
セル

計算式

意味

AE5=AHP(AF5,4,$Z$5:$AC$8)

1 番目の重要度を求める

7

と記入する．1 番目の引数 AF5 は，1 番目の重要度を表示するので，準備で入力した場所を指定する．2 番目の引数は，費用, 施設・環境，交通の便，スタッフの 4 項目なので，4 とする．3 番目の引数は，一対比較行列の範囲，Z5:AC8 を指定する．ただし，下方に複写するとき，この一対比較行列の場所は不変なので，$マークをつけておく．
計算式の複写 AE5 の計算式を AE6〜AE9 に複写する．

C.I.(整合度）セル AE9 の整合度の値の計算は，AF5 に 0 が設定されているので計算式の複写で行うことができる．
また，セル S1 に，セル

計算式

意味S1=AE9

アンケート用紙の部分にも CI を表示として，整合度を一対比較のアンケート用紙の近くに表示させる．

4.3 他の一対比較
評価項目間の場合と同様に，代替案の一対比較も行う．実際の例は，例題のファイルを参照されたい．

5 総合評価値の作成














°±

'Oo1Ð2UNè1oª É3¶cºdb1" tz~Ð2j¤j¤j¤                

Ð2U"ß1oª É3¶cºdb1" tz~ 'Ooj¤j¤j¤               図 5: 総合評価値の計算の表

図 5 は，総合評価値の計算の表であり，上部の「重要度の値をかけるまえの表」は，一対比較値そのままの値であり，下部の「重要度の値をかけた後の表」は，各評価項目の各代替案の評価値に，重要度を掛けた値である．
重要度の値 重要度の値を指すセルの指定は，縦に並んだセルを横に移すために，各セルを「=セルのアドレス」という形式で，手動で設定する．例では，次にように設定する．
セル

Z52AA52AB52AC52

計算式=AE5=AE6=AE8=AE98

注意：「形式を選択して貼り付け」で行と列を入れ替えて複写できるが，「形式を選択して貼り付け」では，計算式ではなく値そのものを複写する．この場合，一対比較なので値を変化させたとき，その値が反映されなくなる．
各代替案の評価値 重要度のセルと同様に各代替案の評価値も「=セルのアドレス」という形式で複写する．ただし，一番上の代替案（クラブ A）のセルの計算式を指定すれば，他の代替案の計算式は複写で設定できる．例の場合の設定は次のようになる．
セル

Z53

AA53

AB53AC53

計算式=AE15=AE24=AE33=AE42

複写元

Z53:AC53

複写先

Z54:AC55

代替案の評価値 × 重要度 総合評価値を計算するために，「代替案の評価値 × 重要度」を「重要度をかけた後の表」に計算する．Z59 の計算式は，
セル

計算式

意味Z59=Z53*Z$52

代替案の評価値 × 重要度となる．$マークを付けたのは，複写の際に，重要度のセルはいつも 52 行目なので，52 が変化しないようにしたためである（絶対番地，絶対参照)．この Z59 の計算式を複写する．
複写元

Z59

複写先

: Z59:AC61

総合評価値 各代替案の総合評価値は，それぞれの評価基準についての「代替案の評価値 × 重要度」の合計である．
セル計算式

意味

AD58=SUM(Z59:AC59)

代替案の評価値 × 重要度の合計

複写元

AD58

複写先:

AD59:AD61

6 グラフ化
各一対比較の結果や総合評価値をグラフ化することにより，視覚的に訴えることができる．
図 6 は，重要度を一対比較結果をグラフ化したものである．グラフ化には，複数の領域の範囲指定を使うので注意する．

1. Y5:Y8 を範囲指定
2. Ctrl キーを押しながら，AE4:AE8 を範囲指定
3. グラフ化を行う

9On01Ð2|||

ªÉ3¶cºdb1"
tz~

|

図 6: 重要度の一対比較結果のグラフ化

図 7 は，総合評価値をグラフ化したもので，各代替案の総合評価値とどの項目が影響したのかが一目でわかる．

1. Y58:AC61 を範囲指定
2. グラフ化のボタンをクリック
3. グラフの種類は「積み上げ横棒」を選ぶ
4. グラフの元データの系列では，行と列を誤認識することが多いので，必要に応じて，系列を行にする．

7 対話的な利用
この表計算ソフトウエアを使うと，一対比較の変更が瞬時に総合評価値（やそのグラフ）に反映する．この性質を使って，利用者が対話的に利用して，意思決定を行うことができる．そのとき，一対比較のある部分は，情報不足などで，利用者よりも専門家のほうが優れた一対比較を行うことができる．そこで，以下のようなシステムを作ることが可能である．

7.1 趣旨（イ）代替案の一対比較は，作成者が行う代替案間の一対比較は，意思決定者より専門家の方が情報が多かったり，ポイントを押さえていたりして，よりよい一対比較を行うことができることが多い．

10t·j¤1¬ï 'Oo
|

|

|

|

|

|

|

|

|

|

j¤
j¤j¤

ªÉ3¶cºdb1"

tz~

図 7: 総合評価値のグラフ化

たとえば，スポーツクラブの選択では，「施設・環境」や「スタッフ」は，パンフレットなどではわかりづらく，実際に利用してみなくてはわからない．そこで，「施設・環境」や「スタッフ」の各スポーツクラブ間の一対比較は，あらかじめ，専門家が行っておく．
代替案の一対比較，および，その結果は，専門家の知識となる．したがって，作成したシステム（表）は，専門家の知識が入ったシステムである．
（ロ） 評価基準の一対比較は，利用者が行う評価基準の一対比較は，利用者の目的や考え方，感性などで異なるので，利用者が行う．
（ハ）一部の代替案の一対比較は利用者が行う「交通の便」は，スポーツクラブの所在地と職場，学校、自宅との関係であるので，スポーツクラブの専門家より利用者の方がよく知っていることが多い．そこで，この評価項目の代替案間の一対比較は，利用者が行ってもよい．
また，「費用」については，入会金と年会費など関係があり，単純に比較できない場合があり，専門家が行うのが良いのか，利用者行うべきなのかは，微妙である．

7.2 利用方法
あらかじめ行っておくこと

1. （ロ）の一対比較は，あらかじめ作成者が行っておく．作成者（専門家）が複数いるときは，グループによる一対比較（一対比較値の幾何平均）で決定する．

2. （ハ）の一対比較についても，（ロ）と同様にデフォルトの値をあらかじめ決定しておく．
11

対話的な利用時

1. 利用者に（イ）の一対比較を行ってもらい，総合評価値のグラフ (図 7) を提示する．
2. 利用者と対話していき，（ハ）の値を修正する必要があるときは，一対比較を行ってもらう．
3. グラフや CI の値を見ながら，一対比較をやり直したりする．

問い合わせ先高萩栄一郎
専修大学商学部

E-mailtakahagi@isc.senshu-u.ac.jp

URL:
住所

http://www.senshu-u.ac.jp/∼thc0456/〒 214-8580 神奈川県川崎市多摩区東三田 2-1-1

TEL044-900-7988
FAX044-900-7849
c2001
高萩栄一郎

12