Excel VBAでふるさと納税の返礼品の価値を最大化してみよう!
はじめにこんにちは、バタフライ・栗田です。唐突ですが、みなさんはふるさと納税をやっていますでしょうか。ふるさと納税は、地方自治体への寄付を通じて、その地域の発展に貢献する制度です。寄付者には、その地域の特産品などの返礼品が贈られます。ご存知の方も多いと思いますが、収入や家族構成により、おおよそ寄附金額の目安が決まっています。そのような上限がある中で、数々の返礼品の中から、価値の高いものを選ぶのは、意外と難しいものです。このブログ記事では、Excel VBAを活用して、ふるさと納税の返礼品の中から、最大の価値を持つものを見つけ出す方法について紹介します。前準備まず、"ふるさと納税還元率ランキングベスト300"のようなサイトで適当にいいなーと思う返礼品の寄付金額と市場価値をスプレッドシートにまとめます。こんな感じで商品と寄付金額、還元率が載っています。このサイトを元に寄附金額 x 還元率を市場価値として以下のようなスプレッドシートを作成してみました。今回は20個までとしました。VBAで返礼品の価値を最大化する上の表を見ればわかる通り、返礼品の値段は様々です。今回は20個のリストですが、それだけでも選び方は100万通り以上あります。各商品について選ぶ・選ばないの2通りあるので、2の20乗。1,048,576通りとなります。つまり、価値を最大化する最適解を選ぶのは、人力では非常に難しいことがわかります。非常に多い計算に思えます。しかし、VBAのようなプログラムを使えば高速で終わらせることができます。このようなケースでは競技プログラマーの間で"bit全探索"と呼ばれる手法を用いることで解
0