[[20251109161558]] 『複数列のデータの組み合わせ』(poyann) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『複数列のデータの組み合わせ』(poyann)

皆様よろしくお願いいたします。

BA1:BC7に
A B C
1 6 4
2 11 7
3 14 9
5 16 10
8 17 12
13 18 15

という数字が入力されています。

A,B,Cそれぞれのグループに含まれる数字があるわけですが、
これらから3つの数字の組み合わせを表示する式を作りたいです。
組み合わせのパターンとしては、例えばBから2つ、Cから1つ数字を選んだ組み合わせを表示する式をどなたか教えてください。
Let関数を使うらしいですが、上手くいかなかったためできれば難しい式を使わない方法でお願いいたします。

< 使用 Excel:Excel2021、使用 OS:Windows11 >


すいません。
マクロで、という意見があると思われますが、
関数だけでどうにか解決したいです。

(poyann) 2025/11/09(日) 17:13:58


 できたと思ったらExcel2021では使えない関数を使いまくりでした。
 他の回答者さんの回答をお待ちください。

 =LET(
     aryA,TOCOL(B1:B6&" "&TRANSPOSE(B1:B6)),
     aryB,FILTER(aryA,
             LET(a,MAP(aryA,LAMBDA(x,INDEX(TEXTSPLIT(x," "),,1))),
                 b,MAP(aryA,LAMBDA(x,INDEX(TEXTSPLIT(x," "),,2))),
                 (a*1)<(b*1))
          ),
     TOCOL(aryB & " " & TRANSPOSE(C1:C6))
 )
(xyz) 2025/11/09(日) 18:19:47

 多分間違ってますが、BEからBH列に下のような表を作って
 BF3 =IF(BF$2=0,"",IF($BE3>BF$2,"",XLOOKUP($E3,RANDARRAY(6,1,1,100),BA$2:BA$7,"",1))) 右下コピー
 とか?
 (同じ数字がでたらF9キーとかで再計算してください)

    |[BA]|[BB]|[BC]|[BD]|[BE]    |[BF]|[BG]|[BH]
 [1]|A   |B   |C   |    |グループ|A   |B   |C   
 [2]|   1|   6|   4|    |個数    |   0|   2|   1
 [3]|   2|  11|   7|    |       1|    |    |    
 [4]|   3|  14|   9|    |       2|    |    |    
 [5]|   5|  16|  10|    |       3|    |    |    
 [6]|   8|  17|  12|    |        |    |    |    
 [7]|  13|  18|  15|    |        |    |    |    
(あ) 2025/11/09(日) 18:37:20

皆様
ご返信ありがとうございます。

(あさん)
BF3にご提示の式を入力したのですが、周辺のセルにコピーした分も含めて
残念ながら何も表示されませんでした。

修正案をお持ちの方がおられましたら、再度ご教授願います。
(poyann) 2025/11/09(日) 22:31:15


(修正案)

BF3 =IF(BF$2=0,"",IF($BE3>BF$2,"",XLOOKUP($E3,RANDARRAY(6,1,1,100),BA$2:BA$7,"",1))) 右下コピー

では$E3が出てくるのはおかしいので、$BE3に直してみてはどうでしょうか?
(ゆたか) 2025/11/10(月) 09:17:43


https://www.moug.net/faq/viewtopic.php?t=83134&sid=a87cc72c46cf95c8a3cc5cc2ada1d2ff

(禁止ではないけど) 2025/11/10(月) 09:29:06


 ランダムな組み合わせではなく、全ケースの列挙という意味ですよね。

 作業領域を使わずに一つの式でというのはできるようですが、複雑な式になるようです。
 分かり易さから言えば、手作業でやるのが分かり易いと思います。

 A1:A6とB1:B6までに数値を昇順で入れておきます。
 以下のようにすれば、D9:I23に組み合わせの一覧が得られます。
 式はつながっているので、A1:B6の数字を入れ替えるだけで結果が変わります。

         A列     B       C       D       E       F       G       H       I
 1行     1       7               1,1     1,2     1,3     1,4     1,5     1,6
 2       2       8               2,1     2,2     2,3     2,4     2,5     2,6
 3       3       9               3,1     3,2     3,3     3,4     3,5     3,6
 4       4       10              4,1     4,2     4,3     4,4     4,5     4,6
 5       5       11              5,1     5,2     5,3     5,4     5,5     5,6
 6       6       12              6,1     6,2     6,3     6,4     6,5     6,6
 7                                                                       
 8                               7       8       9       10      11      12
 9                       1,2     1,2,7   1,2,8   1,2,9   1,2,10  1,2,11  1,2,12
 10                      1,3     1,3,7   1,3,8   1,3,9   1,3,10  1,3,11  1,3,12
 11                      1,4     1,4,7   1,4,8   1,4,9   1,4,10  1,4,11  1,4,12
 12                      1,5     1,5,7   1,5,8   1,5,9   1,5,10  1,5,11  1,5,12
 13                      1,6     1,6,7   1,6,8   1,6,9   1,6,10  1,6,11  1,6,12
 14                      2,3     2,3,7   2,3,8   2,3,9   2,3,10  2,3,11  2,3,12
 15                      2,4     2,4,7   2,4,8   2,4,9   2,4,10  2,4,11  2,4,12
 16                      2,5     2,5,7   2,5,8   2,5,9   2,5,10  2,5,11  2,5,12
 17                      2,6     2,6,7   2,6,8   2,6,9   2,6,10  2,6,11  2,6,12
 18                      3,4     3,4,7   3,4,8   3,4,9   3,4,10  3,4,11  3,4,12
 19                      3,5     3,5,7   3,5,8   3,5,9   3,5,10  3,5,11  3,5,12
 20                      3,6     3,6,7   3,6,8   3,6,9   3,6,10  3,6,11  3,6,12
 21                      4,5     4,5,7   4,5,8   4,5,9   4,5,10  4,5,11  4,5,12
 22                      4,6     4,6,7   4,6,8   4,6,9   4,6,10  4,6,11  4,6,12
 23                      5,6     5,6,7   5,6,8   5,6,9   5,6,10  5,6,11  5,6,12

 【数式】
 D1  =A1:A6&","&TRANSPOSE(A1:A6)

 D8  =TRANSPOSE(B1:B6)

 C9  =TRANSPOSE(E1:I1)
 C14 =TRANSPOSE(F2:I2)
 C18 =TRANSPOSE(G3:I3)
 C21 =TRANSPOSE(H4:I4)
 C23 =I5

 D9  =$C$9:$C$23&","&D8
 E9〜I9まで右にコピー 

(xyz) 2025/11/10(月) 11:00:41


 モーグのほうで解決済み。

 とりあえず解決すれば他のところはどうでもいい、って人のようだね。
(やれやれ) 2025/11/11(火) 12:21:17

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.