• ベストアンサー

【VBA】組み合わせの計算

VBAにてランダム(適当)な値10個の中で1.5に近い組み合わせを探し、それ以外の値を隣の列に移動させたいのですが、方法がわかりません。 どなたか教えてください

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

  • ベストアンサー
回答No.2

例えば、1.51と1.49はどちらが近い? 同率がある場合は? 図中でいうと、0.96や0.02などの重複している数字の扱いは? などなど。 > 方法がわかりません。どなたか教えてください とりあえず、最も考えやすいのは総当たりです。

takasan_2525
質問者

お礼

自己解決しました!

takasan_2525
質問者

補足

出来れば1.5以下で抑えたいです 同率がある場合、組み合わせの数が少ない方を優先したいです 総当たりですと、ループを10回繰り返す感じですよね?関数があれば便利なんですが

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • f272
  • ベストアンサー率46% (8047/17201)
回答No.1

これは10個の数値から2個を選ぶのか?それとも3個以上選んで合計が1.5に近くなっていればよいのか?

takasan_2525
質問者

補足

いくつでもです 合計の値が1.5に一番近い組み合わせ以外を隣の列のセルに移したいです

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 組合せVBA

    環境はExcel2002です A列に連番数字1から100が入力されていて B列の100行には数字のデータがあるとします ある目的の数値Xに一番近くなるB列の組合せをC列に表示したいのです…VBAで B列に表示するのはA列の連番です 『一番近くなる』の意味は2通りあって、両方の算出方法をご教示願います (1)目的の数値Xを絶対超えないで目的の数値Xに一番近くなる組合せ (2)目的の数値Xを必ず超えて目的の数値Xに一番近くなる組合せ

  • VBAのプログラムに関してです

    VBAに関する質問です。 いま、A列に0~4の数字が順番に繰り返し記入されていて(数字の数はランダム)、B列に適当な値が記入されています。A列の中から1を探しだして(1つ上の行の数字が0)、 その行から1つ戻ったB列の値をC列に記入、A列の次の0~4の繰り返しで同じ条件の1を探してその行から2つ戻ったB列の値をD列に記入する。といったことをA列が空白の行になるまで繰り返し行うというプログラムを教えてほしいです。お願いします。 例) A:00011112233400001123334400011111122233400000- B:12345678912345678912345678912345678912345678- となってるA列のそれぞれの0~4の塊の最初の1をさがしてそれに対応するBをそぜぞれ求めていくというものです。 この場合だと実行結果C・D列には C:379 D:688 となってほしいです。

  • 共通の値をもつ座標の組み合わせについて

    左図のような表があるときに、共通の値"1"を持つ座標の組み合わせを右図のように表示できるVBAを作ることができないかということで考えているところです。 右図の説明をすると 2行目にある 1 2 5 7は 左図 (1行,2列)のところに1、(1行,5列)のところに1、(1行,7列)のところに1、(2行,5列)のところに1、(2行,7列)のところに1、(5行,7列)のところに1 というように 1 2 5 7 のどの組み合わせを選んでも必ず1がある組み合わせです。 以下右図3行目以降も同じような形で表示されています。 VBAに詳しい方からのお知恵を拝借することができれば幸いです。よろしくお願いします。

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

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

  • VBAか関数 「 2と3の組合せ 」 の行が、いくつあるか?

    VBAか関数 「 2と3の組合せ 」 の行が、いくつあるか? Windows XP Home Edition SP3 Office XP Personal 2002 Excel 2002 画像の 「 C列 D列 E列 」 の 「 3列 」 だけを使った質問でございます。 数値は 2桁の整数 までしかありません。 6行目の「 C列 D列 E列 」以外で、オートフィルタをかけた後ですが、空白行もたまにございます。 オートフィルタをかけた後ですので、データのある最後行以下は全部空白です。   実際には、セルには色分けはされておりません。 ---質問のまとめ-------------------------------------- ● 「 2 と 3 の組合せ 」(画像の黄色セル) の行が、いくつあるか? を算出できる、関数 か マクロは、ありますでしょうか? 質問の例では、答えは 「 3行 」 となります。 存在しない場合には、「 0行 」 となります。 ----------------------------------------------------- また、 「 1 と 3 の組合せ 」 の行が、いくつあるか? 「 * と * の組合せ 」 の行が、いくつあるか? などのように、いろいろと算出できればと思っております。 非常にややこしい質問で、恐れ入ります。 今までは、手作業で、6行目にオートフィルタをかけて行っておりました。 何卒、ご教示のほどをお願い致します。 

  • EXCEL VBAで組合せを作るには

    EXCEL VBAで組合せを作る方法を考えているのですが、なかなか思い付かず質問させて頂いています。 例) 1 2 3 4 5 … nという数字があり、そこから抜き取り組合せを作る。 ・2個ずつの組合せ 1と2 1と3 1と4 という感じで組合わせて行くが、2と1というような逆のパターンは除外する。 ・3個ずつの組合せ、4個ずつの組合せ…と最終n-1個(n個全てを抜取る組合せは1パターンしかないので、あえて作らなくてもよいのではと思っています)まで組合せを作って行く。 という内容です。 抜き取りたい数字の個数が、いつも決まった数ではなく、それに対応したものが考えきれなくてつまづきました。 どうかよろしくお願いいたします。

  • vbaでvlookup

    エクセルのVBAについて。 指定した範囲の中から検索条件に一致したデータを検索し、取り出してくれる関数vlookup をVBAで実現したいのですが、 目標として、エクセルのセル(列)に、値を入力されているとします。 VBAを実行するボタンをクリックすると、、、 その値に対応する文字列(事前に用意)をその値の右のセルに自動で入力させたいです。 このVBAを作ることが目標です。 vbaでvlookupを実現でなくても、それよりも簡単な方法があれば教えていただきたいです。 お手数ですが、よろしくお願いします。

  • Excelの組み合わせをカウントしたいです。

    こんにちは。 Excelの組み合わせをカウントしようと試行錯誤したのですが 未だに完成出来ないので質問させて頂きます。 A列に1から10までの数字がランダムで500行ほどあり、 A列の中で1と言う数字があった場合、 その下のセルに2があればその組み合わせを1とカウントし、 B列に合計を表示したいのですが、これは可能でしょうか? どうかご教授下さいますよう、宜しくお願い致します。

  • Excel関数、またはVBA

    どなたか教えてください。 写真のようにデータが既に存在します。 (E列:L列)の値を、(H列)がゼロ値でも空セルでもない場合のみ、(P列)がゼロ値でも空セルでもない下行に「値のみ」移動させたいです。 (H列がゼロ値か空セルの場合は移動さない) E列からL列の値は1行目から始まり、約60行ごとにランダムで存在します。 例えば写真でいうと(H1)が1以上なので、(E1:L1)の値がP1からP5がゼロか空セルのためP6に移動となります。 どうぞよろしくお願いします。

  • 組合せ計算は間違っていませんか?

    Loto6は43個の数字から6個選び、当選数字がいくつ有るかで、賞金が決まります。6個含まれれば、1等 うん億円ですが、殆ど3個の5等が精一杯です。 組合せ計算は非常に苦手です。 次の計算をチェックし、間違っていたら正してください。 <命題> 43個の数字を適当に25個選んだ時、仮に当選数字が3個含まれたとします。 5等の当選確率は何%か? <自信の無い計算> 25個から6個選ぶ組合せは、25C6=177,100通り。 25個から3個選ぶ組合せは、25C3=  2,300通り。 2,300通りの中に当選数は1個しかありません。 当選する組合せは、1*(2300-1)=2299通り。 当選確率は、2299/177100=>1.298%。

専門家に質問してみよう