[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数の数字の合計が、指定した範囲に収まるような組み合わせを全て求める』(生徒A)
質問失礼いたします。
A列に
10
20
30
40
50
とあります。
ここからいくつか選び、それらを足した数(Nとする)が、0≦N≦100であるとします。
この場合、出力されるものとして、
(10)
(20)
(10,20)
(20,20)
・
・
・
(50,50)
と、このようにパターンを書き出したいです。
そのようなVBAの作り方を教えていただければと思います。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
合計 251パターン の場合について、100以下であるか否かをチェックして書き出す
このエクセルの学校の全文検索すると、組み合わせを書き出すVBAはでてくるとおもいます。
(Comb で検索) 2022/01/12(水) 13:15
comm = "" y = i Do While y > 1 comm = y - Int(y / 2) * 2 & comm y = Int(y / 2) DoEvents Loop z = Format("1" & comm, String(x, "0")) comm = "" tot = 0 For k = 1 To x If Mid(z, k, 1) = 1 Then comm = comm & "," & dt(k, 1): tot = tot + dt(k, 1) Next k If tot >= 0 And tot <= 100 Then Range("B" & WorksheetFunction.CountA(Range("B:B")) + 1).Value = "(" & Mid(comm, 2) & ")" Next i End Sub (mm) 2022/01/12(水) 14:20
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.