今月の初めくらいからエクセルを使って樹形図を描きたいなと考えて、試行錯誤していた。
樹形図がどういうものかっていうのは中学の数学で習うので細かく説明するつもりはない。↓こんなような図のこと。
単純な手順で描くことができるので、そんなに苦労しないだろうと思っていたら、かなりハードだった。原因として、エクセルが物を数えることと繰り返し計算が苦手であるということ。マクロとか使ったらどうか知らないけど、僕のエクセル知識ではこの辺りが引っかかりになって苦労した。結果としてセルを沢山消費することで繰り返し計算の代わりとした。よくプログラミングで使われる配列変数とかfor構文をエクセルで使えたらもうちょっと楽にできたのだけど、そういうのは知らないので力ずくになった。実際、計算過程は少なくともここで説明する気にならない程度には美しくない。
ダウンロードは以下。
使い方、というほどでもないのだが、初期状態でA,B,C,D,Eと入力されているA2~A7セルに上から順に要素を入力、余分なセルの中は削除しておく。これだけ。
一応、6つまで実装している。6つだとパターンは6!=720通りとなり、普通に樹形図を描こうという気にはならない数に対応しているので、これでも能力として過剰かと思う。Sheet2に計算過程が描いてあるけど、このシートの規則性に従えばもっと多くの要素に対応することはできる。ただ、組み合わせの数は階乗で増えていき、ファイルの容量が膨大になるため、やらない。