ワークシートだけでやってみる

http://q.hatena.ne.jp/1296542184


120通りパターンを作り出す関数が以下。

="5" & MID("*/+-=",INT((ROW()-1)/24)+1,1) & "4" & MID(REPLACE("*/+-=",INT((ROW()-1)/24)+1,1,""),INT(MOD((ROW()-1),24)/6)+1,1) & "3" & MID(REPLACE(REPLACE("*/+-=",INT((ROW()-1)/24)+1,1,""),INT(MOD((ROW()-1),24)/6)+1,1,""),INT(MOD((ROW()-1),6)/2)+1,1) & "2" & MID(REPLACE(REPLACE(REPLACE("*/+-=",INT((ROW()-1)/24)+1,1,""),INT(MOD((ROW()-1),24)/6)+1,1,""),INT(MOD((ROW()-1),6)/2)+1,1,""),INT(MOD((ROW()-1),2))+1,1) & "1" & REPLACE(REPLACE(REPLACE(REPLACE("*/+-=",INT((ROW()-1)/24)+1,1,""),INT(MOD((ROW()-1),24)/6)+1,1,""),INT(MOD((ROW()-1),6)/2)+1,1,""),INT(MOD((ROW()-1),2))+1,1,"") & "0"

A1セルに入力して120行目までオートフィルすれば全てのパターンを列挙します。
一つの数式にしたので分かりづらいですが、面倒なので説明はしません。


次にこの数式を評価しないといけないのですが、VBAのevaluateは使えないので、
過去の遺物4.0マクロ関数を使います。


まずB1セルを選択して、数式→名前の管理→新規作成(2007の方法)からダイアログを開きます。
名前を「計算」にでもして、範囲を使っているシート、参照範囲を「=EVALUATE(A1)」にしてOK。
B1セルの数式を

=計算

にしてセルの右下をダブルクリックすれば、全ての計算結果がでます。
この中でTRUEとなっている式が成立してるというわけです。