パスカルの三角形(Pascal's triangle)は、数字を三角形状に並べたものです。17世紀のフランスの哲学者ブレーズ・パスカルの名前が付けられていますが、パスカルが生まれる何百年も前から数学の古い文献に載っている、数学的に特徴のある三角形です。
一番上に「1」を書き、右下と左下方向にも「1」を書きます。2段目の1と1を足すと2です。このように左上と右上の数字を足して、ピラミッドの形に並べます。
これを用いて、最短経路問題をExcelで解いてみたいと思います。
- オートフィルは累積的に同じ計算を繰り返すときにも使う
- 連番を振るなら数式を使え、いや、使ってみてください。
- 計算式で数列を求めることによって規則的にデータを並べる練習
- 計算が苦手な人のための「累計」「残高」「繰越」
- パスカルの三角形の簡単な作り方と最短経路問題を解く方法
目次
問題文のあとに簡単な操作方法を解説していますが、静止画では、わかりにくいと思いますので、最後に動画を載せています。ぜひご覧ください。
1.エクセルでパスカルの三角形を作る
問題
次の図のように入力しなさい。
解説
Excelでパスカルの三角形を作ってみましょう。A列~W列の幅を狭くします。さらに、すべての列を中央揃えにします。
セルL1に「1」と入力します。
セルB1に「=A1+C1」と入力します。
これを、オートフィルでB1:V11にコピーします。
「0」を消せば完成ですが、0を消す方法が2通りあります。
B1:V11を選択したまま、検索の画面を出します(Ctrl+F)。検索する文字列を「0」、オプションとして「セル内容が完全に同一であるものを検索する」にチェックを入れ、検索対象を「値」とします(参考:【Excel】特定の文字列を含むセルを全部選択するには[すべて検索]をして[すべて選択]をすればよい)。
すべて検索します。
そして、この検索の画面で、Ctrl+Aを押すと、「0」のセルがすべて選択できます。
検索の画面を閉じます。この状態でDeleteキーを押すと0が消えます。
別解
この状態でB2:V11をコピーします。
値の貼り付けをして計算式を消します。
B1:V11を選択したまま、置換の画面を出します(Ctrl+H)。検索する文字列を「0」、置換後の文字列は空欄、オプションとして「セル内容が完全に同一であるものを検索する」にチェックを入れます(参考:【Excel】置換には一括削除や挿入、入れ替えの機能も含まれる)。
すべて置換をすると、0が消えます。
*補足説明*
置換の検索対象に「値」がないのは、仮に、数式の計算結果だけを置換することができたとしても、数式の自動再計算で元に戻るからです。数式の計算結果を検索して全部選択をすることはできても、置換をすることはできません。
(罫線を使うとこんな図が描けます)
2.最短経路問題
問題
縦5本・横20本の格子の道について、左上のスタートから右下のゴールまでの最短経路は何通りあるか、Excelを用いて計算しなさい。
解説
高校数学では23C4=8855通りと計算します。ExcelではCOMBIN関数です。
- =COMBIN(23,4)
ここでは関数を使わずに計算してみましょう。最短経路問題はまずゴールから考えます。ゴールへたどり着ける道は2本しかありません。
例えば、赤までの道が4通り、緑までの道が6通りあったとすると、ゴールに行くには必ず赤か緑を通る必要があるので10通りとなります。これはすべての点について言えることです。Excelで表すと上のセルと左のセルを足すことになります。
スタートから右と下に行ける道は1本しかないので、一番上の道にある点と、一番左の道にある点に行くには1通りしかありません。
これをExcelを使って計算します。まずA列と1行目に1を入力します。
次に上のセルと左のセルを足します(=B1+A2)。
オートフィルをします。これで完成です。8855通りとなります。
このような三角形をパスカルの三角形といいます。
たとえば、通行止めで通れない点があるときは、その点に該当するセルの計算式をDeleteで消せばよいです。この図の場合、5225通りとなります。
逆に、必ず通らなければならない点(チェックポイント)がある場合は、この点より右上と左下は通ってはならないということですから、この部分の計算式を消します。この図の場合、チェックポイントまでが55通り、ゴールまでが3630通りとなります。
解説は以上です。
3.動画版はこちら(無料)
この記事は、わえなび実力養成講座「ファンダメンタルExcel」Program 2-6-4 のYoutube動画を書き起こしたものです。
ちなみに、繰り返しの計算関連の動画は全12回のシリーズです。すべて無料公開しています。ぜひご覧ください。
- オートフィルは累積的に同じ計算を繰り返すときにも使う
- 連番を振るなら数式を使え、いや、使ってみてください。
- 計算式で数列を求めることによって規則的にデータを並べる練習
- 計算が苦手な人のための「累計」「残高」「繰越」
- パスカルの三角形の簡単な作り方と最短経路問題を解く方法