dポイントプレゼントキャンペーン実施中!

いつもお世話になっております。一つのセル(例えばA1)に入力した3桁または4桁の数字を並べ替えて同一行のセルに表示させる計算式を教えてください。実はナンバーズ3・4の予想をする為、ボックス数字を決めてからストレート数字を選択して、セットで購入しようと考えております。3桁では6通り、4桁では24通りですが、予想するボックス数字が多く、選択したいストレート数字を決めるのに時間もかかり、間違いも生じます。お願い申し上げます。もしマクロでしたら、空白のブックにマクロを保存する方法も教えてくだされば幸いです。(名前を付けて保存しても、再開したら、コピペしたものが消えている。( ;∀;)・・・)エクセルは2023年製です。当選確率を上げるために日々勉強中です。お忙しいところ恐縮ですが宜しくお願い致します。



456 | 465 546 564 645 654 6通りですよね。

4567 |4576 5467 5476 6457 6475 → → 24通りですよね。

A 回答 (1件)

こんばんは



同じ数字が含まれている場合に重複するものが作成されるのをかまわなければ、機械的に列挙すれば良いだけなので、比較的単純にできると思います。

とは言え、関数の場合は順列の計算を行うのは面倒なので、そのまま列挙しておいて、それを参照してしまう仕組みの方が簡単ですね。
以下、ご参考までに。

※ Office365環境を想定しています。

例えば、3文字の場合であれば・・
=MID(TEXTJOIN("",0,MID(A1,MID("123132213231312321",ROW(A1:A18),1)*1,1)),ROW(A1:A6)*3-2,3)
を入力すれば、6種の組み合わせが下方にスピルされます。

4文字の場合も同様でできますが、序数の数が96とちょっと長くなってしまうので、少々トリッキーではありますが・・
=MID(TEXTJOIN("",0,MID(A1,MID(MOD(UNICODE(MID("勲勻卌卞厯厸噶噿圪坅垍垟婔婦媮嫉孴孽帻幄底座廸弁",ROW(A1:A24),1)),10000)&"",COLUMN(A1:D1),1),1)),ROW(A1:A24)*4-3,4)
のような式でも、24組を下方にスピルできます。


マクロでおこなう場合は、組み合わせを作成するのがさほど難しくはないので、そのまま作成すれば良いですね。
再帰的な仕組みにしておくと、元の文字数に関係なく同じ処理で対応可能にもできると思います。
    • good
    • 0
この回答へのお礼

初めまして。4文字の場合における漢字についての理解は時間がかかると感じておりますが、瞬時に記述されました。素晴らしい知識ですね。(*_*)

お礼日時:2024/05/27 00:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A