返回列表 上一主題 發帖

[發問] 搜尋最後一列都有相同數字的組合。

本帖最後由 ziv976688 於 2017-1-10 17:28 編輯

回復 17# c_c_lai
5,6,7都含有 第 2 組、以及 第 3 組~~所以是第2組(Ncount=2)比對一次;第3組(Ncount=3)另外再比對一次^^"

或者改成這樣您比較清楚~~
5
StrRng = "1"
    Nrange = "28"
    num = "15"
    RrngA = "21"
    CrngA = "2"
    RrngB = ""
    CrngB = ""
    Order = ""
    Number = "11,26,43"
    Ncount = "2-3"

6
StrRng = "1"
    Nrange = "28"
    num = "15"
    RrngA = ""
    CrngA = ""
    RrngB = "18"
    CrngB = "1"
    Order = ""
    Number = "11"
    Ncount = "2-3"

7
StrRng = "1"
    Nrange = "28"
    num = "15"
    RrngA = "21"
    CrngA = "2"
    RrngB = "18"
    CrngB = "1"
    Order = ""
    Number = "11,26"
    Ncount = "2-3"

TOP

本帖最後由 ziv976688 於 2017-1-10 21:52 編輯

回復 19# c_c_lai
    StrRng = "1" ' InputBox("請輸入DATA!各搜尋比對的起始期數", "輸入期數")
    Nrange = "28" ' InputBox("請輸入DATA!各搜尋比對的迄止(開獎)期數", "輸入期數")
    num = "15" 'InputBox("請輸入效果檔A︰H複製範圍的期距數", "輸入距期數")
    RrngA = "21-24" 'InputBox("請輸入各"第一個"比對的"基準期數A", "輸入第一個期數")
    CrngA = "1-2" 'InputBox("請輸入各"第一個"比對的7欄取任1~6之欄位數", "輸入欄位數(1~6)")
    RrngB = "18-21" 'InputBox("請輸入各"第二個"比對的"基準期數B", "輸入第二個期數")
    CrngB = "1-2" 'InputBox("請輸入各"第二個"比對的7欄取任1~6之欄位數", "輸入欄位數(1~6))
    Order = "" 'InputBox("請輸入再篩選邏輯條件的起迄序號", "輸入序號(1~99)或不增加(按Enter)")
    Number = "3,11,21-26,43,49" 'InputBox("請輸入各指定的號碼", "輸入號碼(1~49)")
    Ncount = "2-3" ' InputBox("請輸入驗證版的連續次數", "輸入次數(2~10)")
綠字為各InputBox內,可填入的數字範圍和其填入的數字所代表意義~請參考。

NUM=15~~其作用如下:
將DATA!的(Nrange-NUM)到Nrange的A︰H開獎版期數複製貼上Sheet1!A7

第21期= RrngA    ;01,02= CrngA=2(欄)
第18期= RrngB    ;30= CrngB=1(欄)
所以~A基準組合*B基準組合=當期(21期)第一位(B欄)出01,第二位(C欄)出02;其上3期(18期)第五位(F欄)出30=21-12*18-5=21-12+18-5(檔案名稱不能包含*字元,以+代替)
P.S.RrngA到Nrange=21期到28期=Nrange-RrngA=7

當期(17期)第一位(B欄)出01,第二位(C欄)出02;其上3期(14期)第五位(F欄)出30=A*B基準組合第1個驗證版=17-12+14-5
P.S.17+7=24期;有開11,26

當期(14期)第一位(B欄)出01,第二位(C欄)出02;其上3期(11期)第五位(F欄)出30=A*B基準組合第2個驗證版=14-12+11-5
P.S.14+7=21期;有開11,26

當期(5期)第一位(B欄)出01,第二位(C欄)出02;其上3期(2期)第五位(F欄)出30=A*B基準組合第3個驗證版=5-12+2-5
P.S.5+7=12期;有開11,26

因此 :A基準組合*B基準組合成立。

19#是"圖示3"
請比對"開獎版&3個 組合的驗證版拉平圖說"
A︰H & BE︰CB  就很清楚了

TOP

回復 21# c_c_lai
A.
第21期 = RrngA ;01,02 = CrngA=2 (欄)
    在此之 01,02 = CrngA=2 (欄)

CrngA=1-2意指在基準列A的7欄中任取1欄和7欄任取2欄;所以本例就是在基準列A(=21期)取B欄=01和C欄=02;合為"基準A組合"。
然後往上搜尋第一次同樣是B欄=01和C欄=02的期數為第1個A組合驗證版;第二次同樣是B欄=01和C欄=02的期數為第2個A組合驗證版;其餘...以此類推。

同理
    RrngB = "18-21" 指的是 第18期到第21期之期數,此項亦已無庸置疑。
    CrngB = "1-2", 但是你的說明
    第18期 = RrngB ;30 = CrngB=1 (欄)

30 是根據甚麼數據出線的,在你指定的 Number = "3,11,21-26,43,49" 中並不存在 30 這數字?
同理
在基準列B的7欄中任取1欄;本例就是基準列B(=18期)取F欄=30;合為"基準B組合"。
然後往上搜尋第一次同樣是F欄=30的期數為第1個B組合驗證版;第二次同樣是F欄=30的期數為第2個B組合驗證版;其餘...以此類推。
同理
基準A組合*基準B組合=(第21期的B欄=01和C欄=02)*(=18期的F欄=30)
然後往上搜尋第一次同樣是B欄=01和C欄=02的期數且其上3期的F欄=30為第1個A*B組合驗證版;
第二次同樣是B欄=01和C欄=02的期數且其上3期的F欄=30為第2個A*B組合驗證版;其餘...以此類推。

30 這數字和指定的 Number = "3,11,21-26,43,49" 無關。

B.  RrngA到Nrange=21期到28期=Nrange-RrngA=7 這個與 NUM=15 ~~ :
    將DATA!的(Nrange-NUM)到Nrange的A︰H開獎版期數複製貼上Sheet1!A7 的表達有何不同?

RrngA到Nrange=21期到28期=Nrange-RrngA=7
7是指基準列A的期數到Nrange期數的期距。
所以其驗證版同樣是往下7期來對應。

NUM=XX~~是指定期距期數。
當NUM=15;即是效果檔案Sheet1!A7:H22=DATA!A&Nrange-NUM+1:H&Nrange+1

C.  接下來, 當期 (17期) 第一位 (B欄) 出01, 第二位 (C欄) 出02;其上3期 (14期) 第五位 (F欄)
    出30=A*B基準組合第1個驗證版=17-12+14-5

請參考上述的基準A組合*基準B組合與其驗證版的搜尋邏輯。

TOP

本帖最後由 ziv976688 於 2017-1-11 19:56 編輯

回復 23# c_c_lai
Exposition(0111).rar (6.8 KB)
我想您是誤將基準組合和驗證版組合視為同一個標的了^^

填入RrngA InputBox裡的期數,都是指基準期數A
填入CrngA InputBox裡的欄位數,都是指基準期數A的欄位個數
請參考10#的說明。

所以︰RrngA=21-24  ;  CrngA=1-2
意指
第21期的任取1欄和任取2欄的A基準組合
第22期的任取1欄和任取2欄的A基準組合
第23期的任取1欄和任取2欄的A基準組合
第24期的任取1欄和任取2欄的A基準組合
即每單期有7+21=28個基準組合

因此也可以取RrngA=24期的CrngA=1之 D欄(=21)為A基準組合,
然後~
往上搜尋第一次D欄=21的期數(=第22期)為第1個驗證版;接著以22+(Nrange-RrngA)=第26期(開03,11,42,45,46,49,21)

然後~
再往上搜尋第二次D欄=21的期數(=第20期)為第2個驗證版;接著以20+(Nrange-RrngA)=第24期(開11,17,21,26,43,49,03)

此時,因為二次的驗證版都有出現相同的指定號碼=03,11,21,49,所以A基準組合的驗證版符合Ncount=2

同理
RrngB=18-21  ;  CrngB=1-2
意指
第18期的任取1欄和任取2欄的B基準組合
第19期的任取1欄和任取2欄的B基準組合
第20期的任取1欄和任取2欄的B基準組合
第21期的任取1欄和任取2欄的B基準組合
即每單期有7+21=28個基準組合

因此也可以取RrngB=19期的CrngB=1之D欄(=17)為B基準組合,
然後~
往上搜尋第一次D欄(=17)的期數(=第17期)為第1個驗證版;接著以17+(Nrange-RrngB)=第26期(開03,11,42,45,46,49,21)

然後~
再往上搜尋第二次D欄(=17)的期數(=第15期)為第2個驗證版;接著以15+(Nrange-RrngB)=第24期(開11,17,21,26,43,49,03)

此時,因為二次的驗證版都有出現相同的指定號碼=03,11,21,49,所以B組合的驗證版符合Ncount=2


最後再以上述的A&B基準組合~以同樣邏輯搜尋A基準組合*B基準組合的Ncount=2的驗證版組合~~
上述的A基準組合*B基準組合=24期的D欄(=21)*其上5期=19期的D欄(=17)
則由24期
往上搜尋第一次D欄(=21)且其上5期的D欄(=17)之期數(=第22期和17其)為第1個驗證版;接著以22+(Nrange-RrngA)=第26期(開03,11,42,45,46,49,21)
然後~
再往上搜尋第二次D欄(=21)且其上5期的D欄(=17)之期數(=第20期和15期)為第2個驗證版;接著以20+(Nrange-RrngA)=第24期(開11,17,21,26,43,49,03)

此時,因為二次的驗證版都有出現相同的指定號碼=03,11,21,49,所以A基準組合*B基準組合的驗證版符合Ncount=2

當Nrange(=28)>RrngA(=24)> RrngB(=19);CrngA=1;CrngB=1; Ncount=2;
其A基準組合的驗證版和B基準組合的驗證版和A基準組合*B基準組合的驗證版,
都有相同的指定號碼時,則產生效果檔案~~
名稱︰I_28期_15_24-3+19-3_2次_03,11,21,49
工作表(Sheet1)的內容與格式,不再贅述。
======================================================================
釐清基準組合和驗證版的分別及驗證版的搜尋邏輯後,其餘的就是剩下~~
總資料夾,子資料夾,效果檔案等名稱的建立︰

資料夾和檔案名稱不能包含*字元,所以改為+代替)
總資料夾︰I_Nrange期_NUM_ RrngA _ CrngA星+RrngA _ CrngA星_ Ncount次_ Number

分資料夾名稱︰(EX︰本新增範例所存放位置的子資料夾)︰I_28期_15_24-1星+19-1星_2次_ Number

效果檔案︰(EX︰本新增範例)I_28期_15_24-3+19-3_2次_03,11,21,49   
PS︰效果檔案名稱中的XX-3+XX-3;其3為欄位順序。
EX︰B欄=1,C欄=2,D欄=3,E欄=4, F欄=5,G欄=6,H欄=7
    B&C欄=12,B&D欄=13,D&E欄=34,E&H欄=47;B&F&H欄=157,...其餘類推

Exposition(0111).rar (7.11 KB)

TOP

回復 23# c_c_lai
再稍作補充︰
1_所有InputBox裡的數字,都是以人工鍵入。

2_A基準組合和B基準組合和A基準組合*B基準組合的各驗證版之最後一列(即Nrange期數的各對應期數),都必須有顯示相同的指定號碼時,才會成立效果檔案(其內只有一個工作表︰Sheet1)。

3_因為是A基準組合和B基準組合和A基準組合*B基準組合各依據邏輯篩選符合條件的驗證版組合,所以RrngA;CrngA;RrngB;CrngB的InputBox,如果有設計不當或不足的地方~~
尚請您不吝指正。謝謝您!

TOP

本帖最後由 ziv976688 於 2017-1-12 23:53 編輯

回復 26# c_c_lai
您客氣了!您整理得比不才的說明原稿清楚易懂,尤其是圖示的部分。

稍微再強調一個重點~~
因整個篇幅都是討論符合邏輯條件的組合,所以強調一下不符合邏輯條件的情況~~
1_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)都沒有顯示任一個指定號碼時,就無需再往上繼續搜尋了~這個A基準組合為無效組合。

2_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)有顯示任一個指定號碼,
則再往上搜尋到第二次同欄位同號碼的第2個驗證組合~~
當第2個驗證組合其最後一列(=Nrange期數的對應期數)都沒有顯示與第1個驗證組合的指定號碼相同時~~則這個A基準組合為無效組合。

TOP

本帖最後由 ziv976688 於 2017-1-13 18:54 編輯

回復 28# c_c_lai
以上三個圖示,第3個 A組合*B組合驗證版之 "最後一列"
應以何者期數當做為正確的 "最後一列" ?

7+5=12(第3個 A組合*B組合驗證版之 "最後一列")~~因為A*B的驗證板組合是由A基準組合往上搜尋(即搜尋範圍是由A基準組合-1的期數(含),往上搜尋)
EX:本例的A組合*B組合驗證版是由~~
A基準組合-1的第22期(含),往上搜尋第1位(B欄)開02,第2位(C欄)開12且其上2期的第1位(B欄)開01,第2位(C欄)開02的同欄位且同號碼隻第1個到第3個的相同組合(即驗證板組合)。
==================================================================
再依順序重新整理關於不符合邏輯條件的情況~~
1_當由某個A基準組合往上搜尋~都沒有搜尋到任何同欄位同號碼的驗證組合,則這個A基準組合為無效的基準組合。

2_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)都沒有顯示任一個指定號碼時,就無需再往上繼續搜尋了~這個A基準組合為無效的組合。

3_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)有顯示任一個指定號碼,
則再往上搜尋到第二次同欄位同號碼的第2個驗證組合~~
3a_當搜尋不到第2個驗證組合時~~則這個A基準組合為無效的組合。  
3b_當有搜尋到第2個驗證組合,但其最後一列(=Nrange期數的對應期數)都沒有顯示與第1個驗證組合相同的指定號碼時~~則這個A基準組合為無效的組合。

以上是Ncount =2時的不符合邏輯條件的情況。

以下是Ncount =3時的不符合邏輯條件的情況。

1_當由某個A基準組合往上搜尋~都沒有搜尋到任何同欄位同號碼的驗證組合,則這個A基準組合為無效的基準組合。

2_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)都沒有顯示任一個指定號碼時,就無需再往上繼續搜尋了~這個A基準組合為無效的組合。

3_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)有顯示任一個指定號碼,
則再往上搜尋到第二次同欄位同號碼的第2個驗證組合~~
3a_當搜尋不到第2個驗證組合時~~則這個A基準組合為無效的組合。  
3b_當有搜尋到第2個驗證組合,但其最後一列(=Nrange期數的對應期數)都沒有顯示與第1個驗證組合相同的指定號碼時~~則這個A基準組合為無效的組合。

4_當由某個A基準組合往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)有顯示任一個指定號碼,
則再往上搜尋到第二次同欄位同號碼的第2個驗證組合~~當第2個驗證組合與第1個驗證組合的最後一列也有顯示相同的指定號碼時~~
4a_當搜尋不到第3個驗證組合時~~則這個A基準組合在Ncount =3時~~為無效的組合。  
3b_當有搜尋到第3個驗證組合,但其最後一列(=Nrange期數的對應期數)都沒有顯示與第1個驗證組合和第1個驗證組合相同的指定號碼時~~則這個A基準組合在Ncount =3時~~為無效的組合。

其餘Ncount =4~10以此類推。

另外提醒:Number InputBox填入的數字範圍=1~49,其可填入項目型態可為單項式或多項式或或混和式等複合式~~
EX:
可填入任一個單獨的數字(EX:1或3或4或...,或49);
也可填入任一個單獨的連續數字(EX:1-3或5-6或10-15或...,或41-49);
也可填入多個的單獨數字(EX:1,3,5或2,4,6,8或...,或1,7,10,15,20,30,35,42,49);
也可填入單個的連續數字(EX:1-5或2-8或...,或40-49或1-49);
也可填入多個的連續數字(EX:1-5,7-10或2-8,20-25,或...,或2-5,10-18,20-22,30-33,45-49);
也可填入任一個單獨的數字和單獨連續數字(EX:1,5-6或10,13-15或...,或20,41-49);
也可填入多個單獨的數字和多個連續數字(EX:1,3,5-6或10,13-15,20,23,26,30-33或...,或1-5,10,13,20,30-33,40,45-49);

連續號碼以"-"表示;項目與項目之間以","間隔。

其它的 InputBox填入的數字範圍=依其後面綠字說明,其可填入項目型態可為單項式或多項式或或混和式等複合式
P.S.後面綠字沒有註記說明的~~其範圍~~StrRng=1~9999;Nrange=2~9999;且要>StrRng;num =2~9999; RrngA=3~9999且要<Nrange;RrngB=2~9999且要<RrngA。

以上  謹請參考!

TOP

本帖最後由 ziv976688 於 2017-1-13 19:22 編輯

回復 29# c_c_lai
RrngA = "22-26"
CrngA = "1-2"
RrngB = "20-24"
CrngB = "1-2"
Ncount = "2-3"

此處之 CrngA = "1-2" 指的是 "B"、"C" 欄,
如為 CrngA = "4-5"  指的是 "E"、"F" 欄 ?


非也!!
CrngA = "1-2" 指的是 A基準列當期7個欄中任取1個同欄同數字不重複的排列組合;和7個欄中任取2個同欄同數字,不重複的排列組合。

CrngA = "4-5"  指的是 A基準列當期7個欄中任取4個的同欄同數字不重複的排列組合;和7個欄中任取5個同欄同數字,不重複的排列組合。
請參考24#和10#的說明

Ncount = "2-3" 指的是 "驗證版的連續次數",
此處連續次數是說 "二次" 到 "三次",亦即
本案例有兩個執行方案答案:
一個是 "二次"、另一個是 "三次"?


是的!!

那麼, RrngA = "22-26" 亦同此意呦?

是的!!

TOP

本帖最後由 ziv976688 於 2017-1-13 20:16 編輯

回復 32# c_c_lai

那麼 "B"、"C" 欄 是屬於哪一組? CrngA = "1" ? CrngA = "2"?

CrngA = "1" 則B,C各為1組; CrngA = "2" ,則B*C為1組
所以~~
CrngA = "1" 時,B,C,D,E,F,G,H各為1組。共7組(函數公式=COMBIN(7,1))
CrngA = "2" 時,BC,BD,BE,BF,BG,BH,CD,CE,CF,CG,CH,.......,GH各為1組。共21組(函數公式=COMBIN(7,2))
因此當CrngA = "1-2" 時,共有28個組合。

CrngA = "1-2" 是指 "任取1個、或者是 任取2個" 皆可之意?
CrngA = "1-2" 是指"任取1個和 任取2個" 皆執行之意

TOP

回復 34# c_c_lai
當 CrngA = "1":
          比對欄位可為 B欄、或是C欄、或是D欄、或是E欄、或是F欄、
          或是G欄、或是H欄 的任一欄位?
當 CrngA = "2":
          比對欄位可為 B、C欄、或是B、D欄、或是B、E欄、或是B、F欄、或是B、G欄、
          或是C、D欄、或是C、E欄 等等的任一組合欄位?

是的!!

那麼 當 CrngA = "1-2":
          比對欄位會是如何? B欄、C、D欄、或是 B欄、D、E欄、
          或是 C欄、E、F欄 等之表示?


CrngA = "1-2":就是7取1和7取2分開執行。
也就是說~~CrngA = "1-2"與CrngA = "1,2"相同意思。

TOP

        靜思自在 : 虛空有盡.我願無窮,發願容易行願難。
返回列表 上一主題