• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの関数について教えてください。)

エクセル関数でカードゲームコストシミュレーターを作ろう!

このQ&Aのポイント
  • エクセルの関数を使って、カードゲームのコストシミュレーターを作成する方法について教えてください。
  • 具体的には、決められた攻撃Pの中で一番強い攻撃力のデッキを表示したり、同じ属性のカードの枚数を数えたりする方法について教えてください。
  • また、エクセルの関数を使う際に注意すべきポイントや、関数を使いやすくするためのベースの作り方についても教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6854/9750)
回答No.4

「最適解問題」ですね。 これは、一つの式で簡単に導き出せるようなものではありません。 参考) http://www.is.doshisha.ac.jp/report/2011/1/24/20110010014/index.html 確かに、高校までの数学では習わない話です。 ---- まあ、強引にやるならば、すべての組み合わせを列挙し、結果を並べ換え、コスト内で一番上位の物を表示する、と言うことになります。 例えばまず、カードがA~Fの6枚あるならば、その組み合わせ数は 6C1 + 6C2 + 6C3 + 6C4 + 6C5 + 6C6 =6 + 15 + 20 + 15 + 6 + 1 =63通り、あります。 別のシートに、その63通りすべての場合の、カード種別 | カード攻撃力合計 | カードコスト合計という、63行のデータを作ります。 (ソート条件1)攻撃力 降順、(ソート条件2)コスト 昇順、でソートします。 コストの列を見ていって、手持ちコストを下回った物が、最適解となります。 なお、カードが6枚なら、作業用シートは上記のように63行ですみますが、カードの数が増えるにつれ、行数は等比級数的に増加してしまいます。(だから、最適解問題は難しいのです) ---- すべての場合分けのシートを作る部分で、マクロが必要でしょうね。これは立派なプログラミングとなります。 その後のソート作業・抽出作業もマクロによって組めます。 ソート結果の表が出たならば、最後の抽出表示ぐらいは式で出来ますが。 式だけでは到底出来そうにない、と言うことがおわかりいただけるでしょうか。 なお、2番目の質問については、そのとおりCountif()でOKです。 他に条件がいろいろ付くなら、また違ってきますが。

momo_yuki
質問者

お礼

回答ありがとうございます。 URLも読みました。 決められた数値の中で最も高い組み合わせを選ぶということを最適解問題、というのですね。 式だけでは無理がある、そういった専門の知識が必要ということもよくわかりました^^; 詳しい解説本当にありがとうございました。

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>●決められた攻撃Pの中で、一番強い攻撃力のデッキを表示させたい  どの様なカードの組合せならば同時に使用できるのか、又は、どの様な組み合わせならば使用する事が出来ないのか、又、無制限に何枚でも攻撃カードを同時に使う事が出来るのか、或いは枚数制限があって何枚までなら同時に使う事が出来るのか、また、「自分が使うカードの組わせ」や「相手が使用しているカードとの相性」等によって攻撃力はどの様に変化するのか、等々、そのゲーム特有のルールによって、どの様な事が出来て、どの様な事は出来ないのか、という事を御説明頂けなければ、回答のしようがないと思います。 >●同じ属性のカードが何枚あるか表示させたい >こちらはCOUNTIFで合っていますか?  合っていますが、質問者様が仰る「同じ属性」とは、「その場に出しているカードと同じ属性のカードが何枚あるのかを、場に出しているカードを入力した横に表示させたい」という意味でしょうか?  それとも、「全ての属性を網羅したリストがあって、そこに、各属性のカードが何枚あるのかを表示させたい」という事なのでしょうか?

momo_yuki
質問者

お礼

No,4様の回答で、プログラミングの知識が必要となってくるようですので、さすがに諦めようと思います。 回答どうもありがとうございました。

momo_yuki
質問者

補足

ご回答ありがとうございます。 説明不足で申し訳ありません。 >●決められた攻撃Pの中で、一番強い攻撃力のデッキを表示させたい 左のピンクの表が所持しているカードを入力するリストで、その中から右の攻撃デッキという表に表示されるようにしたいです。 制限は、 ・10枚以内であること ・最大攻撃Pの欄に入力した数値は超えられないこと となっていれば問題ありません。 相手カードとの相性による補正数値はまだ正確にわかりませんので、目安の表を別に作ってあります。なので、この表の計算ではとりあえず置いておくつもりです。 カードの組み合わせは1つのデッキに何種類でも組み込む事ができるので、これも制限はありません。 >●同じ属性のカードが何枚あるか表示させたい 右の表から、4枚以上ある属性を別の枠(横にでも追加するつもりです)に抜き出し、その属性が何枚あるのかということを表示させたいです。 属性自体は3種類あり、 10枚の抜き出されたカードが属性a,a,a,b,b,a,c,a,b,bとなったら aは5 bは4 といった感じです。 わかりにくい説明ですみません;

回答No.2

http://home.att.ne.jp/zeta/gen/excel/ この辺の本でも買って、ゲームでも何でも作ってください。

momo_yuki
質問者

お礼

そうですね、どうもありがとうございました。

  • kadakun1
  • ベストアンサー率25% (1507/5848)
回答No.1

タダの感想です。 その労力とやる気を勉強に生かせば「大成する」と思うんですけどね~(・ω・)

momo_yuki
質問者

お礼

書き込みありがとうございます。 同じくらい仕事にやる気と労力を注いでいますので問題ありません。 質問に対する「感想」などは必要ありませんので、「回答」をよろしくお願いいたします。

関連するQ&A