簡単そうで難しい計算の組み合わせ問題

このQ&Aのポイント
  • A1に3、A2に4、A3に5、A4に7、B1に6、B2に7、B3に12、B4に13、B5に16、C1に1、C2に6、C3に7、C4に8、C5に9、D1に12、D2に13、D3に14、D4に20、E1に13、E2に15、E3に16の数値が入力されています。それぞれ列の最小数値からA+B+C+D+Eの加算合計値を表示できないでしょうか?
  • また、合計値と共に3+6+1+12+13や3+6+1+12+15など、どの数値を組み合わせたかも知りたいです。グループ内の数値の組み合わせ点数を知りたいため、このような問題に取り組む必要がありますが、理解が難しいため困っています。
  • ご教示いただけると幸いです。よろしくお願いいたします。
回答を見る
  • ベストアンサー

簡単そうで難しい計算

簡単そうで難しい計算 A1に3 A2に4 A3に5 A4に7、B1に6 B2に7 B3に12 B4に13 B5に16、C1に1 C2に6 C3に7 C4に8 C5に9、D1に12 D2に13 D3に14 D4に20、E1に13 E2に15 E3に16の数値が入力されています。それぞれ列の少ない数値からA+B+C+D+Eの加算合計値を表示できないでしょうか?自分で調べてみたのですが順列で組み合わせの数値を出す計算式はあったのですが、その組み合わせの加算値を出す方法はわかりませんでした。 合計値と共に3+6+1+12+13 3+6+1+12+15 のように何を組み合わせたかも知りたいです。 グループ内の数値の組み合わせ点数を知りたいので、この様なものが必要になってしまい安易に考えていたのですが、私では手に負えません。 どうぞよろしくお願い申し上げます。

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

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

 まず、G1セルに次の数式を入力して下さい。 =IF(ROW()>COUNT($A:$A)*COUNT($B:$B)*COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E),"",SMALL($A:$A,MOD(INT((ROW()-1)/(COUNT($B:$B)*COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E))),COUNT($A:$A))+1))  次に、H1セルに次の数式を入力して下さい。 =IF(ROW()>COUNT($A:$A)*COUNT($B:$B)*COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E),"",SMALL($B:$B,MOD(INT((ROW()-1)/(COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E))),COUNT($B:$B))+1))  次に、I1セルに次の数式を入力して下さい。 =IF(ROW()>COUNT($A:$A)*COUNT($B:$B)*COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E),"",SMALL($C:$C,MOD(INT((ROW()-1)/(COUNT($D:$D)*COUNT($E:$E))),COUNT($C:$C))+1))  次に、J1セルに次の数式を入力して下さい。 =IF(ROW()>COUNT($A:$A)*COUNT($B:$B)*COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E),"",SMALL($D:$D,MOD(INT((ROW()-1)/(COUNT($E:$E))),COUNT($D:$D))+1))  次に、K1セルに次の数式を入力して下さい。 =IF(ROW()>COUNT($A:$A)*COUNT($B:$B)*COUNT($C:$C)*COUNT($D:$D)*COUNT($E:$E),"",SMALL($E:$E,MOD(ROW()-1,COUNT($E:$E))+1))  次に、L1セルに次の数式を入力して下さい。 =IF(COUNT($G1:$K1)=5,SUM($G1:$K1),"")  そして、G1~L1の範囲をコピーして、同じ列の2行目から1500行目にかけての範囲に貼り付けて下さい。  以上です。

ringup
質問者

お礼

ばっちり出来ました!! VBAじゃなくても計算式で出来るんですね。 しかもかなり大変そう・・・ お手数をおかけして申し訳ございませんでした。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

コンなのは、やろうとすれば、VBAでやる必要があり、VBAを勉強してください。質問どおり、各列から1つ筒取り出して、合計を計算するのかな。合計など5項目だからたいしたことない。 >その組み合わせの加算値を出す方法はわかりませんでした と言うよりも組み合わせそのものを数え上げることが、コンピュターでないと難しいし、列数とその列の行数が多いと、膨大な組み合わせ数となり、その組み合わせを作るのもコンピュターでも時間がかかる。 こんなの常識。 >それぞれ列の少ない数値から の意味不明。 ーー VBAなどなら、泥臭く(と言うことは誰でも思いつくということ) for i=1 To 4 For j=1 To 5 For k=1 To 5 For l=1 To 4 For m=1 To 3 s=Cells(i,"A")+Cells(j,"B")+Cells(k,"C")+Cells(l,"D")+Cells(m,"E") Next m Next l next k next j Next i を行い、Cells(i,"A")、Cells(j,"B")、Cells(k,"C")、Cells(l,"D")、Cells(m,"E")の数と とSの表示をシートのセルにでも書き出せばきる。 加えて最大か最小なら、各列の最大だけ、最小だけを足せば良いのでは。 時どきこんな組み合わせの問題をエクセルのカテゴリで質問するか、エクセルしかやったことのない人には無理。何に使うのか判らない。組み合わせ問題は数学に詳しい人の見るカテゴリ出すべきと思う。

回答No.3

G1セル =MOD(INT((ROW()-1)/300),4)+1 H1セル =MOD(INT((ROW()-1)/60),5)+1 I1セル =MOD(INT((ROW()-1)/12),5)+1 J1セル =MOD(INT((ROW()-1)/3),4)+1 K1セル =MOD(INT((ROW()-1))/1,3)+1 下へ1200行までオートフィル ↑意味が分かれば 以下の数式と一緒にしてもOK M1セル =INDEX(A:A,G1) 右へ下へオートフィル

  • FEX2053
  • ベストアンサー率37% (7987/21353)
回答No.2

各列に例えば =MIN(A1:A4) とすれば、その列の最小値が出ますよね。 後は出てきた値を、=A5+B5+・・・とかと足せばいいだけの話なんじゃ?

ringup
質問者

補足

話の流れで最小値からと記入しましたが、最小値からでなくてもかまわないんです・・・ 全組み合わせをその方法でするととんでもない労力を使いそうです・・・ 全組み合わせで何通りだったか忘れましたが莫大な数です

  • MRT1452
  • ベストアンサー率42% (1392/3296)
回答No.1

全組み合わせを行うということであれば、VBAを組んだ方が良い様な気がします。 (以後、汎用的に使うなら尚更。)

ringup
質問者

補足

やはりVBAですか・・・ 未知の領域です・・・

関連するQ&A

  • 4元連立方程式について

    Excelで方程式を解いたのですがひとつだけ答えが合わないのです。どなたかこの式の違うところを教えてください。 5x-2y+4z+3m=75 x+3y-5z-m=-36 4x-3y+z+4m=51 3x+5y-3z-2m=-12 Excel上での計算式↓ =(A1*E2*C3*D4-A1*E2*C4*D3-A1*E3*C2*D4+A1*E3*C4*D2+A1*E4*C2*D3-A1*E4*C3*D2-A2*E1*C3*D4+A2*E1*C4*D3+A2*E3*C1*D4-A2*E3*C4*D1-A2*E4*C1*D3+A2*E4*C3*D1+A3*E1*C2*D4-A3*E1*C4*D2-A3*E2*C1*D4+A3*E2*C4*D1+A3*E4*C1*D2-A3*E4*C2*D1-A4*E1*C2*D3+A4*E1*C3*2+A4*E2*C1*D3-A4*E2*C3*D1-A4*E3*C1*D2+A4*E3*C2*D1)/(A1*B2*C3*D4-A1*B2*C4*D3-A1*B3*C2*D4+A1*B3*C4*D2+A1*B4*C2*D3-A1*B4*C3*D2-A2*B1*C3*D4+A2*B1*C4*D3+A2*B3*C1*D4-A2*B3*C4*D1-A2*B4*C1*D3+A2*B4*C3*D1+A3*B1*C2*D4-A3*B1*C4*D2-A3*B2*C1*D4+A3*B2*C4*D1+A3*B4*C1*D2-A3*B4*C2*D1-A4*B1*C2*D3+A4*B1*C3*D2+A4*B2*C1*D3-A4*B2*C3*D1-A4*B3*C1*D2+A4*B3*C2*D1)

  • Excelの関数を使って(条件付)

    計算式の表を作成したいのですが関数の使い方が分からないのでお願いいたします。 A1:数値 A2:数量 A3:数値×数量の積 上記のA3の数値を元に数種類の係数(B3,C3,C43,D3,E3,F3)を掛けてゆき その中で欲しい数値に一番近いものの最大値だけセル(B4,C4,C4,D4,E4,F4のどれか)に表示します。 その表示された数値を別計算で求めた値から引いた 数値を次の行で別計算の数値に足したいのです。 A1: 11.4  A2 :14  A3 :159.6 ・ B3:0.000014・C3:0.000112・D3:0.000663 E3・0.00785 ・F3:0.0292 F4:46.6 (50以下の50に一番近い数値を係数の下のセルに表示) 説明がへたくそで申し訳有りませんが教えてください

  • 自動計算について

    A1×B1=C1 A2×B2=C2 A3×B3=C3 A4×B4=C4 のような自動計算で、その後 C1~C4までの結果の合計を出したい場合はどうしたら良いのでしょう? Aにはプルダウンで選んだ数値が、Bには入力してもらった数値が入ります。 Cは出るのですがその後の処理が判らず困っています。 わかる方お願いします。

  • EXCELで入力された式の値を求めて自動計算

    A B C D E 1|データNO |数値1| 数値2| 数値3| 2| 1| 0.3 | 0.2 | 0.5 | 3| 2| 0.3 | 0.2 | 0.5 | 4| 3| 0.3 | 0.2 | 0.5 | -------------------------------------------- 10| 2/1| 数式1| 数式2 | 数式3 | 11| 3/2| 数式4| 数式5 | 数式6 | 12| 【求めたい値】 数式1には=C3/C2、数式2には=D3/D2、数式3には=E3/E2 数式4には=C4/C3、数式2には=D4/D3、数式3には=E4/E3 B列の2/1というのをそのまま式にしたいです。 2/1、3/2などは規則性はありません。その都度変わります。 C列の式ではC列の値を、D列の式ではD列の値を用います。 関数で=MATCH(LEFT(D34,SEARCH("/",D34,1)-1),D1:D23,0))と入れ、C3の値を求めようと思いましたが この時点でエラーになりました。=MATCH(2,D1:D23,0)だと大丈夫なのですが・・・。 関数でやるととても式が長くなりそうなので、VBAの方が良いかとも思っています。 どのようにコード、もしくは式を書けば希望の値が得られるでしょうか? VBAの場合は2/1などの数値を入れた時点で自動計算できれば嬉しいです。 よろしくお願いします。

  • Excelの計算式を教えて下さい

    簡単な質問で申し訳ないのですが宜しくお願いします。 C1に(数値)「3」と入力し C3に「10」 C4に「20」 C5に「30」 と入力します。そして D3、D4、D5にはそれぞれ 「C3×C1=30」 「C4×C1=60」 「C5×C1=90」という計算をさせたいのですが、 D3に入力した「C3×C1=30」をそのまま下方へコピーすると D4には「C4×C2=200」 D5には「C5×C3=600」という具合にC1部分のセルの値が固定されて計算されずに一段ずつずれてしまいます。 どうすればC1のセルを固定して計算することができるでしょうか? ご指導宜しくお願いします。

  • エクセル:セルを参照して計算

    お世話になります。 A列にコード番号が、B列に数値が入っています。 A列のコード番号は順不同で重複もあります。 C列にはコード番号の一覧が入っています。(重複なし) C列と一致するコード番号をA列から探し、対応するB列の合計をD列に表示する。 A列に一致するコード番号がないときは0と表示させる。 この場合、D列にはどのような計算式を入力されておけばよいのでしょうか。 例) A1にA、A2にB、A3にC、A4にA、A5にB、A6にD B1に10、B2に20、B3に30、B4に15、B5に20、B6に50 C1にA、C2にB、C3にC、C4にD、C5にE・・・・ この場合 D1には10+15なので25、D2には20+20なので40、D3には30、D4には50、 D5には0を入力する。 よろしくお願いします。

  • 組み合わせ計算について

    従業員のスキルポイントごとに業務によって人数を調整できるよう、エクセルで値を求められるか作業を行っていますが、全く手詰まりになっています。 もとはこのようなデータです。 (ゆがんで見にくかったらごめんなさい)   業務A 業務B 業務C --|--------------------- A | 0.5  1.0  * B | *   0.5  1.0 C | 1.0  0.3  0.3 D | 0.3  1.0  0.5 E | 1.0  *   0.5 ・A,B,C,D.Eのスキルの度合いが1.0,0.5,0.3、スキルなし(*)で数値化されています。 ・業務Aには2.2、業務Bには2.1、業務Cには1.8のスキル合計が必要です。 個々のスキルの組合せ合計値>=業務に必要なスキル合計値 で、数値をだしたいです。それぞれの業務に必要な頭数の組み合わせを算出する方法はありますでしょうか? また、参考までにお聞きしたいのですが、業務に応じて必要なスキル合計値がランダムに変化していく場合があるので、それに合うような組み合わせを算出できる方法は難しいでしょうか? ご教授のほど、よろしくお願いします。

  • 「順列」と「組み合わせ」問題の違い

    「順列」と「組み合わせ」の意味がまったく理解できません、よろしくお願いします。 ・ある符号「A、B、C、D、E」から3個の符号の並べ方をもとめるのは、「順列」の問題。 ・ある符号「A、B、C、D、E」から3個の符号の組み合わせの数を求めるのは「組み合せ」の問題といわれました。 両者の違いがよく判りません、上の問題はどこがいったい違うのでしょうか。 「順列」と「組み合わせ」の意味が理解できませんよろしくお願いいたします。

  • PC word(2007) 計算式

        数量e    数量f       数量g 品名A  2      5           4    品名B  1      4(4は計算しない)   2 品名C  3      空白        5 品名D  5      3           2 合計   11      8(12)    13  上記表の数量fの縦加算で品名Bの4を加算に入れない計算式を教えてください   

  • エクセルの各項目別に合計を計算する表

    エクセルで計算する際に下記のような場合どういう風にすればいいでしょうか?? A 1000 B 2500 A 1200 C 1000 D 2000 C 1500 B 1500 A合計=? B合計=? C合計= D合計=? 上記のような感じで表があるとします。 そのときに【Aの数値だけを足す】【Bの数値だけを足す】というような、表計算式はどうやって作ればよいのでしょうか?? いろいろ探したんですが、わからなくて・・・ 分かりにくい説明かもしれませんがよろしくお願いします

専門家に質問してみよう