エクセルには10進数を2進数に変換するDec2Binという関数が
あります。これはエクセル2007ならば標準装備なのですが
古いエクセルではアドインの「分析ツール」を組み込まなければ
使えません。ちょっと不便です。それに変換できる10進数の
上限が511までという制限があります。あまり、使い勝手が
よくありません。
ところが、このブログの常連のminmaxさんが10進数の1023まで
対応する関数を作ってくれました。「関数で解けますか?・・・
ナップサック問題解答例」のコメントの中にその関数があるのですが
このままでは埋もれてしまいそうです。そうなったら、あまりにも
もったいないので改めてここに紹介させて頂きます。
=TEXT(SUM(INT(MOD(十進数,2^ROW($1:$10))/2^(ROW($1:$10)-1))*10^(ROW($1:$10)-1)),"0000000000")
2進数に変換する10進数を上式の赤文字の十進数のところに
入れて、Ctrl+Alt+Enterを同時に押します。配列数式です。
便利ですよ!! (^O^)
*************************************************************************
minmaxさんのDec2Binを使って「10枚の領収書」の問題を解いてみました。
すっきりと出来ました。(^O^)
最近のコメント