
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
tatsumaru77さんの回答により、解決しているようなので、余計なお世話かもしれませんが、ご質問者のいう、
>仮に6人だとしたら15通りできて、AB, CD, EFの三つの組み合わせを
>1巡目とした>時に、2巡目に1巡目ではペアにならなかった人と全員
>がペアにできるようになる
という意味が競技会等のリーグ戦でいう「試合順」のことを意味しているのであれば、tatsumaru77さんのマクロとは異なる気がします。
EXCELでいずれかのセルに「=COMBIN(6,2)」と入力してみてくでさい。「15」と表示されるはずです。これは、6人から2人選ぶ組合せの数は15であることを意味しており、ご質問者の説明と一致しています。
次に、「=COMBIN(14,2)」と入力してみてくでさい。「91」と表示されるはずです。つまり、14人から2人選ぶ組合せの数は91であり、上記の14人のリーグ戦の試合数は91試合であるということになります。
従って、ご質問の意図がリーグ戦の試合順の意味と同等だとすると、91種類の組合せを列挙することになります。
単純に列挙するだけなら、それほど困難ではないのですが、ご質問者のいう1巡目、2巡目という考え方をいれるとちょっと工夫が必要になります。。
つまり、例えばA-B、A-C、A-D、A-E、A-F・・・のように数学的・機械的に列挙したとすると、Aさんは連続して13試合行うことになってしまうからです。
これを回避する方法をEXCEL数式で作成すると添付画像のようなものになると思います。
(1)一巡目は手入力でA~Nを添付画像のように入力します。
(2)二順目としてB2セルに入力したAを固定して、他のセルに入力された文字を時計回りにひとつづつ移動させます。
(3)そのための数式は添付画像を例にすると、B4セルに「=B2」、C4セルに「=B3」、D4セルに「=C2」を記述し、D4セルの数式をH4セルまで右方向へコピー、さらに、B5セルに「=C3」を記述し、G5セルまで右方向へコピー、最後にH5セルに「=H2」を記述します。
(4)三巡目以降は二巡目の「B4~H5」の範囲を選択した状態で下方向へオートフィル等で13巡目(14人から2人づつ【14÷2=7】の7試合を一巡として91試合を表示するので【91÷7=13】)までコピーします。
この手順で添付画像のような表が完成します。
この表の見方は、説明するまでもないと思いますが、一巡目の組合せは「A-N」「B-M」「C-L」「D-K」「E-J」「F-I」「G-H」の7組からスタートするということになります。

No.5
- 回答日時:
No4です。
もし、6人のケースで確認したいなら
persons = "ABCDEFGHIJKLMN" を
persons = "ABCDEF"
に変えてください。
人数を減らす分には構いませんので、その場合は偶数の人数になるようにしてください。
現在14人ですが、これ以上人数を増やすと劇的に所要時間が増えるので、
(たぶん終わらなくなります)やめておいた方が良いかと思います。
No.4
- 回答日時:
以下のマクロを標準モジュールに登録してください。
結果はSheet1に出力されるので、空のSheet1を作成しておいてください。
こちらの環境では完了までに約1分半かかりました。
Option Explicit
Dim ctr As Long
Public Sub 組み合わせ()
Dim i As Long
Dim j As Long
Dim t1 As Double
Dim t2 As Double
Dim persons As String
t1 = Timer
ctr = 0
persons = "ABCDEFGHIJKLMN"
Application.ScreenUpdating = False
Call combination("", persons)
Application.ScreenUpdating = True
t2 = Timer
MsgBox ("完了 所要時間(秒)=" & t2 - t1)
End Sub
Private Sub combination(ByVal comb As String, ByVal persons As String)
Dim i As Long
Dim wcom As String
Dim wper As String
Dim p1 As String
Dim p2 As String
If Len(persons) = 0 Then
Call print_out(comb)
Exit Sub
End If
p1 = Mid(persons, 1, 1)
For i = 2 To Len(persons)
p2 = Mid(persons, i, 1)
wcom = p1 & p2
wper = get_remain(persons, p1, p2)
Call combination(comb & wcom & "|", wper)
Next
End Sub
Private Function get_remain(ByVal persons As String, ByVal p1 As String, ByVal p2 As String)
get_remain = persons
get_remain = Replace(get_remain, p1, "")
get_remain = Replace(get_remain, p2, "")
End Function
Private Sub print_out(ByVal comb As String)
Dim arr As Variant
Dim i As Long
If ctr = 0 Then
Worksheets("Sheet1").Cells.ClearContents
End If
ctr = ctr + 1
comb = Left(comb, Len(comb) - 1)
arr = Split(comb, "|")
For i = 0 To UBound(arr)
Worksheets("Sheet1").Cells(ctr, i + 1).Value = arr(i)
Next
End Sub
No.3
- 回答日時:
No2です。
追伸:
もし、マクロを実行するのは面倒なので、結果だけ、ほしいという場合は、
以下のようなテキストファイルをどこかにアップし、それをダウンロードしていただくことは可能です。
AB CD EF GH IJ KL MN
AB CD EF GH IJ KM LN
AB CD EF GH IJ KN LM
AB CD EF GH IK JL MN
AB CD EF GH IK JM LN
AB CD EF GH IK JN LM
・・・以下続く・・・・
テキストファイルでなく、excelのファイルが欲しいという場合は、
excelファイルでも可能です。(セキュリティを考えるとテキストファイルの方が安心かもしれません)
excelファイルの場合は、添付図のような内容になります。

No.2
- 回答日時:
>マクロが何かわからないけれどお願いしたいです。
まず、あなたの環境でマクロを実行できるようにする必要があります。
下記URLを参照して、その環境を設定してください。
https://office-hack.com/excel/macro-enable/
次に、マクロを登録します。
下記URLを参照して、登録及び実行を行ってください。
https://ecdtejun.work/archives/2877
サンプルのマクロです。これを登録して、実行してください。
Public Sub 試験()
MsgBox ("マクロが実行されました")
End Sub
実行すると添付図のようなメッセージが表示されます。
それで、完了です。
そのメッセージが表示されましたら、再度、その旨を補足してください。

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 半角ハイフンを除いた重複に色を付ける数式について 5 2022/09/08 20:43
- 数学 重複組み合わせ H 重複組み合わせのHの公式?がありますが、私は学校で習いませんでした。 これを知ら 1 2022/09/04 14:47
- CS・BS 何年か前に、素っ裸でサバイバルを過ごすテレビ番組がありまして 2 2022/10/10 13:27
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- 中学校 中二ソフトテニス部部長です。 先日父母会練習があったのですが僕は生徒会の集まりがあったため休みました 1 2022/09/29 22:08
- バドミントン バドミントンダブルスペア探しています 1 2023/03/10 18:58
- 友達・仲間 トリプルデートってありですか? 3 2022/05/16 19:54
- 子育て・教育 皆さま僕の考える異次元の子育て政策について意見をください。まず、異次元の子育てには出生率を上げること 1 2023/06/20 07:30
- 会社・職場 私たちは製造業で個人というより、2人でペアを組んで全体で進んでいきます なので、全員が同じ仕事をして 3 2022/04/05 18:07
- その他(Microsoft Office) VBA CSV出力について 3 2023/04/19 14:14
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで重複しない組み合わせ出力方法
Excel(エクセル)
-
エクセルでnCr (組み合わせ)の作成方法
Excel(エクセル)
-
Excelですべての組合せ(重複組合せ)を出力するには?
Visual Basic(VBA)
-
-
4
人員ペア一覧表を作成したいです。
Excel(エクセル)
-
5
エクセルにて複数のセルの組み合わせの重複を削除するには?
Excel(エクセル)
-
6
Excelでの全通りの組み合わせ出力方法(文字列)
Excel(エクセル)
-
7
組み分け
数学
-
8
全員と同じグループを経験できるようにグループ分け
数学
-
9
仕事のシフトを組むときに、シフトが同じになる回数を均等にしたいんですが
Excel(エクセル)
-
10
EXCEL-同じ組み合わせになった回数
Excel(エクセル)
-
11
重複しないグループ分けをエクセルで
Excel(エクセル)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「初め」か「始め」どちら?
-
この文字の変換方法を教えて
-
「時間がたつ」の「たつ」は、...
-
「基」と「元」の使い方
-
”ギリギリ” を丁寧に言うには
-
「~していただきまして、あり...
-
「お客様お一人おひとり」と書...
-
「取組」と「取り組み」の違い
-
相手の氏名の漢字表記をたずね...
-
次頁はなんと読みますか?
-
人名について・・・。
-
「所要時間は1時間程度です」は...
-
魚へんの下の点々が大
-
木へんに夕に卩ってどう読みま...
-
対策を採る?取る?
-
文章で対象者を「人」というか...
-
「切」という昔の漢字は変換で...
-
ひらがなの「みなさん」と漢字...
-
エクセルでセルの中身が漢字か...
-
齋という漢字を口で説明するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「初め」か「始め」どちら?
-
この文字の変換方法を教えて
-
”ギリギリ” を丁寧に言うには
-
「時間がたつ」の「たつ」は、...
-
「~していただきまして、あり...
-
「お客様お一人おひとり」と書...
-
対策を採る?取る?
-
次頁はなんと読みますか?
-
「取組」と「取り組み」の違い
-
「基」と「元」の使い方
-
「所要時間は1時間程度です」は...
-
文章にする時、ひらがなの「と...
-
文章で対象者を「人」というか...
-
魚へんの下の点々が大
-
「50万円を超える」は50万円以...
-
エクセルでセルの中身が漢字か...
-
新人から上司へ飲みの誘い
-
ひらがなの「みなさん」と漢字...
-
相手の氏名の漢字表記をたずね...
-
住所の「字(あざ)」の英文表...
おすすめ情報
無知で申し訳ないのですが、マクロが何かわからないけれどお願いしたいです。
マクロが実行されましたという表示を出すことができました。
全パターン出力することができました!ありがとうございます!