テーブルが N 個あり、各テーブルに M 行あります。
たとえば、それぞれ 4 行と 2 行の 2 つのテーブル A と B があるとします。
表A
A1
A2
A3
A4
表B
A1
A2
4x2 の行があり、すべての行の可能性を組み合わせた表 C を作成したいと思います。
表C
A1 B1
A1 B2
A2 B1
A2 B2
A3 B1
A3 B2
A4 B1
A4 B2
Excel でそれを実現する方法はありますか? ある場合、どのようにすればよいですか? ありがとうございます。
答え1
次のような 2 つのリストがあるとします。
そして、2つのリストのすべての組み合わせを生成したいとします。このマクロを実行すると、
Sub generateCombinations()
Dim nA As Long, nB As Long, K As Long, i As Long, j As Long
Dim rc As Long
rc = Rows.Count
nA = Cells(rc, "A").End(xlUp).Row
nB = Cells(rc, "B").End(xlUp).Row
K = 1
For i = 1 To nB
vb = Cells(i, "B").Value
For j = 1 To nA
Cells(K, "C").Value = vb & " " & Cells(j, "A").Value
K = K + 1
Next j
Next i
End Sub
列に生成されますC:
マクロのインストールと使用は非常に簡単です。
- ALT-F11でVBEウィンドウが開きます
- ALT-I ALT-Mで新しいモジュールを開く
- 内容を貼り付けてVBEウィンドウを閉じます
ブックを保存すると、マクロも一緒に保存されます。2003以降のバージョンのExcelを使用している場合は、ファイルを次のように保存する必要があります。.xlsmそれよりも.xlsx
マクロを削除するには:
- 上記のようにVBEウィンドウを開きます
- コードを消去する
- VBEウィンドウを閉じる
Excel からマクロを使用するには:
- ALT+F8 キー
- マクロを選択
- タッチRUN
マクロ全般の詳細については、以下を参照してください。
http://www.mvps.org/dmcritchie/excel/getstarted.htm
そして
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
これを機能させるにはマクロを有効にする必要があります。