0
我想生成所有可能的向量,其中每個元素的最小值和最大值是已知的,而某些元素集只能具有相同的值。獲取所有組合
例如我有一個這樣的輸入:
rid Set MaxId
1 a 1
2 b 2
3 c 2
4 c 2
5 c 2
集識別哪個都應該總是具有相同的值的元件,MaxId
標識最大整數屬性附加傷害可以具有最小始終是1。從這些數據,我們可以創建以下4種組合(表示c1
- c4
):
rid Set c1 c2 c3 c4
1 a 1 1 1 1
2 b 1 1 2 2
3 c 1 2 1 2
4 c 1 2 1 2
5 c 1 2 1 2
我怎樣才能做到這一點使用VBA?在我的實際數據中,我有100行,5個不同的集合,導致總共80個變量,其中最大Id在1和5之間。
上述示例已完成,沒有其他輸入需要提供。讓我們考慮一個不同的例子:
rid Set MaxId
1 a 2
2 b 1
3 c 3
4 c 3
5 c 3
這將導致6種可能的組合(2 x 1 x 3
)。只有一個3
,因爲這個數字是我所謂的「一組」,由相同的字母c
確定的一部分。可能的組合有:
rid Set c1 c2 c3 c4 c5 c6
1 a 1 2 1 1 2 2
2 b 1 1 1 1 1 1
3 c 1 1 2 3 2 3
4 c 1 1 2 3 2 3
5 c 1 1 2 3 2 3
什麼邏輯用來決定是否一個MaxId = 2周的結果在 '1 1 2 2' 而不是 '1 2 1 2'? – 2014-12-05 13:31:32
@AugustoMen當有相同的集合時,該集合中的所有元素都具有相同的值。這意味着行3-5可以具有值'1,1,1'或'2,2,2'。第二行可以有1或2,第一行始終等於1.從這些已知輸入中,我想要生成所有組合('c1-c4')。現在這更清楚了嗎? – 2014-12-05 13:59:17
如果MaxID = 3會怎麼樣?這需要產生什麼? – 2014-12-05 15:49:05