標題:
[發問]
搜尋最後一列都有相同數字的組合。
[打印本頁]
作者:
ziv976688
時間:
2017-1-3 11:36
標題:
搜尋最後一列都有相同數字的組合。
[attach]26284[/attach]
需求︰
以RrngA InputBox任取一個開獎版(DATA!)的期數及其填入CrngA InputBox的欄位數(簡稱A組合);
另以RrngB InputBox任取一個開獎版(DATA!)的期數及其填入CrngB InputBox的欄位數(簡稱B組合);
當A組合和B組合和A*B的組合都符合基本邏輯的條件
且
三個組合之各驗證版的最後一列也都有顯示相同的號碼時,則產生效果檔案;否則不產生效果檔案。
其餘...詳如上傳範例說明。
敬請各位大大指導。感恩~~~~~~~~~~~
作者:
ziv976688
時間:
2017-1-5 11:15
本帖最後由 ziv976688 於 2017-1-5 11:26 編輯
補充說明︰
n=2,2星對2星和n=3,1星對2星;n=3,2星對1星;n=3,2星對2星等︰因只列280期,所以找不到範例,請見諒!
建議先看"文字說明",再"拉出"I_280期_50_273-12+268-56_2次_12,42.和I_280期_50_273-4+250-6_3次_38.
如果還無法理解需求,再"拉出"其它範例來看。謝謝!
圖示中的流程說明是不才以"人工比對"時的感覺︰先比A和B,當其成立後~再比A*B,效率會比較快。
但在電腦跑程式的實務上為何?小弟不清楚;所以組合比對的"流程順序"︰請 各位大大擇優編寫。謝謝!
作者:
c_c_lai
時間:
2017-1-5 17:10
本帖最後由 c_c_lai 於 2017-1-5 20:04 編輯
回復
2#
ziv976688
h0 dl3d04d04
參考看看!
因我不懂這遊戲規則,只將你的程式碼略予試寫,不知可否?
Sub Ex()
Dim startrang%, endrang%, tim!, In1rr As Variant, In2rr As Variant, StrRng$, Ncount$, Number
Dim RrngA$, Nrange$, CrngA$, RrngB$, CrngB$, i%, j%, y%, num$, Order$, NUMX$
Dim m1%, sta%
StrRng = "1" ' InputBox("請輸入DATA!各搜尋比對的起始期數", "輸入期數")
Nrange = "280" ' InputBox("請輸入DATA!各搜尋比對的迄止(開獎)期數", "輸入期數")
num = "50" ' InputBox("請輸入效果檔A︰H複製範圍的期距數", "輸入距期數")
RrngA = "253,268,273" ' InputBox("請輸入各"第一個"比對的"基準期數", "輸入第一個期數")
CrngA = "1-2" ' InputBox("請輸入各"第一個"比對的7欄取任1~6之欄位數", "輸入欄位數(1~6)")
RrngB = "249-250,263,268" ' InputBox("請輸入各"第二個"比對的"基準期數", "輸入第二個期數")
CrngB = "1-2" ' InputBox("請輸入各"第二個"比對的7欄取任1~6之欄位數", "輸入欄位數(1~6))
Order = "" ' InputBox("請輸入再篩選邏輯條件的起迄序號", "輸入序號(1~99)或不增加(按Enter)")
Number = "04,12,20-22,30,34,38,42,47" ' InputBox("請輸入各指定的號碼", "輸入號碼(1~49)")
Ncount = "2-3" ' InputBox("請輸入驗證版的連續次數", "輸入次數(2~10)")
tim = Timer
[L1:L10] = ""
NUMX = num
Application.DisplayAlerts = False
On Error Resume Next ' 將錯誤處理的方式設為「繼續下一行」。
Application.ScreenUpdating = False ' 在背景下執行
' ...............
In1rr = ToSplit(Nrange, ",")
' ................
In2rr = ToSplit(NUMX, ",")
' ................
' .......................
[L1] = Nrange & "=" & Format((Timer - tim) / 24 / 60 / 60, "hh:mm:ss")
[L2] = "DATA!各搜尋比對的起始期數=" & StrRng
[L3] = "A︰H(開獎版)的期距數=" & NUMX
[L4] = "比對基準期數A=" & RrngA
[L5] = "欄位數A=" & CrngA
[L6] = "比對基準期數B=" & RrngB
[L7] = "欄位數B=" & CrngB
[L8] = "增加再篩選邏輯條件的序號=" & Order
[L9] = "各指定同號碼=" & Number
[L10] = "驗證版的連續次數=" & Ncount
End Sub
Function ToSplit(txt As String, sp As String, Optional dash As String = "-") As String()
Dim FullNameComma As Variant, cts As Integer, nxt As Integer
Dim lf As Integer, rt As Integer, spl As String
FullNameComma = Split(txt, sp)
spl = ""
For cts = LBound(FullNameComma) To UBound(FullNameComma)
nxt = InStr(FullNameComma(cts), dash)
If nxt > 0 Then
lf = Val(Left(FullNameComma(cts), nxt - 1))
rt = Val(Mid(FullNameComma(cts), nxt + 1))
For nxt = lf To rt
spl = IIf(spl = "", CStr(nxt), spl & sp & CStr(nxt))
Next
Else
spl = IIf(spl = "", FullNameComma(cts), spl & sp & FullNameComma(cts))
End If
Next cts
ToSplit = Split(spl, sp)
End Function
複製代碼
作者:
c_c_lai
時間:
2017-1-5 17:17
回復
1#
ziv976688
寫了一個測試程式,提供你了解 ToSplit() 的應用:
Sub Test()
Dim txt As String, sp As Variant
txt = "249-255,263,268"
sp = ToSplit(txt, ",")
MsgBox "249-255,263,268" & vbCrLf & Join(sp, ",")
txt = "04,12,20-22,30,34,38,42,47"
sp = ToSplit(txt, ",")
MsgBox "04,12,20-22,30,34,38,42,47" & vbCrLf & Join(sp, ",")
End Sub
複製代碼
作者:
ziv976688
時間:
2017-1-7 17:11
回復
4#
c_c_lai
謝謝您的不吝指導
重新說明如下︰
[attach]26314[/attach]
備註︰代用名詞說明
A組合=RrngA InputBox任取一個開獎版(DATA!)的期數及其填入CrngA InputBox的欄位數。
B組合=RrngB InputBox任取一個開獎版(DATA!)的期數及其填入CrngB InputBox的欄位數。
n= Ncount InputBox填入驗證版的指定次數。
I = Number InputBox填入指定的號碼。
通則︰
RrngA的期數<Nrange期數才有效∼執行。
RrngB的期數<RrngA期數才有效∼執行。
搜尋的範圍=由StrRng InputBox填入的各期數到Nrange InputBox填入的各期數為止。
基本邏輯︰
以A組合或B組合或A*B的雙組合~在搜尋的範圍內~
由其基準列往上搜尋第1個到第n個的相同組合(即驗證版),
當該組合的第1個到第n個的相同組合之最後一列(=Nrange期數的對應期數)~
都有顯示任一個(含)以上的I時,則邏輯條件成立。
需求︰產生效果檔及其Sheet1格式內容。
1.當A組合和B組合和A*B的雙組合等都符合基本邏輯的條件~且
三個組合之各驗證版的最後一列(=Nrange期數的對應期數)也都有顯示相同的I時,則產生效果檔案。
2.名稱
總資料夾︰I_Nrange期_NUM_ RrngA _ CrngA星+RrngA _ CrngA星_ Ncount次_ Number
分資料夾名稱和效果檔案名稱和效果檔案Sheet1的內容&格式~~~~~~~~~~~
詳如各範例檔的圖示和說明。謝謝!
作者:
ziv976688
時間:
2017-1-7 17:36
回復
4#
c_c_lai
看這樣行不行~~~~
[attach]26317[/attach]
[attach]26318[/attach]
[attach]26319[/attach]
[attach]26320[/attach]
[attach]26321[/attach]
以上為1星_1星_2次的圖示~~
圖示1~3=搜尋邏輯的分解說明。
拉平圖說=開獎版&3個 組合的驗證版的對應期數拉平齊後的圖示和重點說明。
Sheet1=為 I_28期_15_24-3+20-5_2次_3,11,21,49 效果檔案的內容和工作表格式。
其餘 1_1星_3次; 1_2星_2次; 1星_2星_3次; 2星_1星_2次;2星_1星_3次;2星_2星_2次;2星_2星_3次
情詳見上傳範例。
PS:BASE_T-1(MF)的DATA開獎表為模擬資料。
作者:
c_c_lai
時間:
2017-1-9 09:11
回復
6#
ziv976688
' 22 ~ 26 : 21 (4)、11 (3)、2 (2)、26 (2)、 38 (2)、 43 (2)、 46 (2)
' 20 ~ 24 : 21 (4)、2 (3)、12 (2)、14 (2)、 30 (2)、 46 (2)、 17 (1)
' 45 ~ 51 : 11 (3)、34 (2)、6 (2)、41 (2)、 49 (2)、 22 (2)、 30 (2)
這三種組合,跟你要的數據有所差距嗎?
作者:
ziv976688
時間:
2017-1-9 10:42
本帖最後由 ziv976688 於 2017-1-9 10:56 編輯
回復
7#
c_c_lai
您是說指定號碼的範圍嗎?
Number InputBox 指定號碼的範圍是從01~49作任意選擇:
EX:1,3,5就是如果各組合(即A組合,B組合,A*B組合)的最後一列都有顯示01或03或05的任一個(含)以上的指定號碼即成立。
EX:1-3,10-15就是如果各組合的最後一列都有顯示01或02或03或10或11或12或13或14或15的任一個(含)以上的指定號碼即成立。
EX:10-15,23,38,47-49就是如果各組合的最後一列都有顯示11或12或13或14或15或23或38或47或48或49的任一個(含)以上的指定號碼即成立。
EX:1-49就是如果各組合的最後一列都有顯示01~49的任一個(含)以上的指定號碼即成立。
所以~
範例主檔(
BASE_T-1(MF)
)的指定號碼(Number) = "3,11,21-26,43,49"
即是如果各組合的最後一列都有顯示03或11或21或22或23或24或25或26或43或49的任一個(含)以上的指定號碼即成立。
還是您是說比對的基準期數範圍嗎?
RrngA = "21-24" 指A基準期數21期到24期
RrngB = "18-21" 指B基準期數18期到21期
RrngA>RrngB 才執行;所以
A組合基準期數 21期, 22期, 23期, 24期
B組合基準期數 18期,19期, 20期, 21期
A組合基準期數*B組合基準期數的比對期數有21*18,21*19,21*20;22*18,22*19,22*20,22*21;23*18,23*19,23*20,23*21,23*22;24*18,24*19,24*20,24*21,24*22,24*23
=============================================================================================================
' 22 ~ 26 : 21 (4)、11 (3)、2 (2)、26 (2)、 38 (2)、 43 (2)、 46 (2)
' 20 ~ 24 : 21 (4)、2 (3)、12 (2)、14 (2)、 30 (2)、 46 (2)、 17 (1)
' 45 ~ 51 : 11 (3)、34 (2)、6 (2)、41 (2)、 49 (2)、 22 (2)、 30 (2)
不太懂 21 (4)、11 (3)、2 (2)中的 (4),(3),(2)的意思?
是指22期到26期之間,21出現4次;11出現3次;02出現2次?
期間某號碼出現幾次與需求無關^^
作者:
c_c_lai
時間:
2017-1-9 11:10
本帖最後由 c_c_lai 於 2017-1-9 11:12 編輯
回復
8#
ziv976688
是指22期到26期之間,21出現4次;11出現3次;02出現2次。
至於
(一) 指定號碼的範圍
是指 "A基準期數21期到24期" 的 第 24 期行中,有出現 "指定號碼"?
(二) A基準期數*B基準期數比對的期數
有21*18,21*19,21*20;
22*18,22*19,22*20,22*21;23*18,23*19,23*20,23*21,23*22;
24*18,24*19,24*20,24*21,24*22,24*23
不太明白,21*18 , . . . . . 等等是何義?
作者:
ziv976688
時間:
2017-1-9 11:19
再補充:
CrngA=1-2;表示A組合基準期數 的7個欄位任取其中的1個欄位和任取其中的2個欄位的不重複組合。
即1,2,3,4,5,6,7和12.13,14,15,16,17,23,24,25,26,27,34,35,36,37,45,46,47,56,57,67等共28個同欄同號的組合。
CrngA=1-3;表示A組合基準期數 的7個欄位任取其中的1個欄位和任取其中的2個欄位和任取其中的3個欄位的不重複組合。
即1,2,3,4,5,6,7和12.13,14,15,16,17,23,24,25,26,27,34,35,36,37,45,46,47,56,57,67;123,124,125,126,127,134,135,136,137,145,146,147,156,157,167;234,235,236,237,...567;等共63個同欄同號的組合。
其餘1-4,1-6,2-3,2-4,2-5,2-6,....,5-6,1,2,3,4,5,6類推。
CrngB=1-2;表示B組合基準期數 的7個欄位任取其中的1個欄位和任取其中的2個欄位的不重複組合。
即1,2,3,4,5,6,7和12.13,14,15,16,17,23,24,25,26,27,34,35,36,37,45,46,47,56,57,67等共28個同欄同號的組合。
CrngA=1-3;表示A組合基準期數 的7個欄位任取其中的1個欄位和任取其中的2個欄位和任取其中的3個欄位的不重複組合。
即1,2,3,4,5,6,7和12.13,14,15,16,17,23,24,25,26,27,34,35,36,37,45,46,47,56,57,67;123,124,125,126,127,134,135,136,137,145,146,147,156,157,167;234,235,236,237,...567;等共63個同欄同號的組合。
其餘1-4,1-6,2-3,2-4,2-5,2-6,....,5-6,1,2,3,4,5,6類推。
作者:
ziv976688
時間:
2017-1-9 12:11
回復
9#
c_c_lai
是指22期到26期之間,21出現4次;11出現3次;02出現2次。
各期數與期數之間的某號碼共出現幾次,與本題的邏輯條件和需求
無關
。
至
於
(一) 指定號碼的範圍
是指 "A基準期數21期到24期" 的 第 24 期行中,有出現 "指定號碼"?
填入Number InputBox裡的號碼
是指各組合(即A組合,B組合,A*B組合)的
最後一列
必須
同時出現
任一個(含)以上的號碼。
EX:6#的Sheet1!列22
A組合和B組合和A組合*B組合的最後一列都有同時出現
03,11,21,49
的4個指定號碼。
(二) A基準期數*B基準期數比對的期數
有21*18,21*19,21*20;
22*18,22*19,22*20,22*21;23*18,23*19,23*20,23*21,23*22;
24*18,24*19,24*20,24*21,24*22,24*23
不太明白,21*18 , . . . . . 等等是何義?
21*18 就是以第21期為A基準期數,另以第18期為B基準期數
EX:6#就是以第20期為A基準期數,另以第15期為B基準期數;則A基準期數*B基準期數=20*15
因為檔案名稱
不能
以符號"
*
"表示,只好以"
+
"替代。
作者:
ziv976688
時間:
2017-1-9 12:52
本帖最後由 ziv976688 於 2017-1-9 12:54 編輯
EX:6#就是以第20期為A基準期數,另以第15期為B基準期數;則A基準期數*B基準期數=20*15
因為檔案名稱不能以符號"*"表示,只好以"+"替代。
修正筆誤~~~
EX:6#就是以
第24期為A基準期數
,另以
第20期為B基準期數
;則
A基準期數*B基準期數=24*20
因為檔案名稱不能以符號"*"表示,只好以"+"替代。
作者:
c_c_lai
時間:
2017-1-9 14:02
回復
12#
ziv976688
[attach]26330[/attach]
Nrange = "28"
RrngA = "22-26"
CrngA = "1-2"
RrngB = "20-24"
CrngB = "1-2"
Number = "3,11,21-26,43,49"
複製代碼
這樣的程式碼與圖示的說明對稱嗎?
能否就以此圖示, 再將它詮釋一下 (A組合、B組合、基準列的訂定)?
作者:
ziv976688
時間:
2017-1-9 16:28
本帖最後由 ziv976688 於 2017-1-9 16:43 編輯
回復
13#
c_c_lai
不好意思。您可能誤解圖示的配置與說明了;
重新說明如下:
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "21-24"
CrngA = "1-2"
RrngB = "18-21"
CrngB = "1-2"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
能否就以此圖示, 再將它詮釋一下 (A組合、B組合、基準列的訂定)?
EX︰
當取RrngA=其中的第24期;CrngA=其中的1;RrngB=其中的第20期;CrngB=其中的1時;
則其
第24期之第3位(D欄)開21(=RrngA_CrngA=
A基準組合
);
往下4期=開獎期
。
第20期之第5位(F欄)開30(=RrngB_CrngB=
B基準組合
);
往下8期=開獎期
。
第24期之第3位(D欄)開21)
且其往上
4期的第20期之第5位(F欄)開30(=RrngA_CrngA +RrngB_CrngB=
A基準組合*B基準組合
);
往下4期=開獎期
。
當由第24期(A基準組合)
往上搜尋
︰
第1次出現第3位(D欄)開21的期數為22期(第1個A組合驗證版);
往下4期=26期
,開03,11,42,45,46,49,21
第2次出現第3位(D欄)開21的期數為20期(第2個A組合驗證版);
往下4期=24期
,開11,17,21,26,43,49,03
請見圖示1
當由第20期(B基準組合)
往上搜尋
︰
第1次出現第5位(F欄)開30的期數為18期(第1個B組合驗證版);
往下8期
=26期
,開03,11,42,45,46,49,21
第2次出現第5位(F欄)開30的期數為16期(第2個B組合驗證版);
往下8期=24期
,開03,11,42,45,46,49,21
請見圖示2
當由第24期(A基準組合)
往上搜尋
︰
第1次出現第3位(D欄)開21
且其往上
4期的第5位(F欄)開30的期數為22,18(第1個A組合*B組合驗證版);
往下4期=26期
,開03,11,42,45,46,49,21
第2次出現第3位(D欄)開21
且其往上
4期的第5位(F欄)開30的期數為20,16(第2個A組合*B組合驗證版);
往下4期=24期
,開11,17,21,26,43,49,03
請見圖示3
依據
邏輯條件︰
當各組合的
第1個到第n個之
各驗證版都有出現任1個(含)以上的相同指定號碼則成立
~~
因為本例︰各組合的
第1個和第2個
之各驗證版都有出現
03,11,21,49
,所以符合
n=2
的邏輯條件︰
本例成立
。
請見
開獎版&3個組合的驗證版拉平圖說
效果檔案的需求
︰
請詳見Sheet1
P.S.
A基準組合和B基準組合和A基準組合*B基準組合的
各驗證版
不是一定要
同為一個組合
~~~
本例
A基準組合和B基準組合和A基準組合*B基準組合的
各驗證版
同為一個組合
~~
純屬巧合
。
請重新檢視比對其他範例;如有不解的地方,尚請不吝告知。謝謝!
作者:
c_c_lai
時間:
2017-1-10 12:37
回復
10#
ziv976688
[attach]26344[/attach]
[attach]26345[/attach]
[attach]26346[/attach]
[attach]26347[/attach]
以上 1 ~ 8 的
StrRng =
Nrange =
num =
RrngA =
CrngA =
RrngB =
CrngB =
RrngC =
CrngC =
Order =
Number =
Ncount =
能否一一告知?
作者:
ziv976688
時間:
2017-1-10 15:39
本帖最後由 ziv976688 於 2017-1-10 15:42 編輯
回復
15#
c_c_lai
1
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "24"
CrngA = "1"
RrngB = ""
CrngB = ""
Order = ""
Number = "3,11,21,49"
Ncount = "2"
2
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "21"
CrngA = "2"
RrngB = ""
CrngB = ""
Order = ""
Number = "11,26,43"
Ncount = "2"
3
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = ""
CrngA = ""
RrngB = "18"
CrngB = "1"
Order = ""
Number = "3,11,21,49"
Ncount = "2-3"
4
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "24"
CrngA = "2"
RrngB = "18"
CrngB = "1"
Order = ""
Number = "11,26,43"
Ncount = "2"
5
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "21"
CrngA = "2"
RrngB = ""
CrngB = ""
Order = ""
Number = "11,26,43"
Ncount = "3"
6
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = ""
CrngA = ""
RrngB = "18"
CrngB = "1"
Order = ""
Number = "11"
Ncount = "3"
7
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "21"
CrngA = "2"
RrngB = "18"
CrngB = "1"
Order = ""
Number = "11,26"
Ncount = "3"
8
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "23"
CrngA = "1"
RrngB = ""
CrngB = ""
Order = ""
Number = "11,26,43"
Ncount = "2"
以上
1-8
都包含在
~~
StrRng = "1"
Nrange = "28"
num = "15"
RrngA = "21-24"
CrngA = "1-2"
RrngB = "18-21"
CrngB = "1-2"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
作者:
c_c_lai
時間:
2017-1-10 16:57
回復
16#
ziv976688
謝謝你的說明,但是 5,6,7 三個圖示中
都含有 第 2 組、以及 第 3 組 呢!
作者:
ziv976688
時間:
2017-1-10 17:21
本帖最後由 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"
作者:
c_c_lai
時間:
2017-1-10 17:54
回復
18#
ziv976688
舉個圖例
[attach]26353[/attach]
作者:
ziv976688
時間:
2017-1-10 21:50
本帖最後由 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 就很清楚了
作者:
c_c_lai
時間:
2017-1-11 07:26
回復
20#
ziv976688
請問:
A. RrngA = "21-24" 指的是 第21期到第24期期數,此項已無庸置疑。
CrngA = "1-2"
(請輸入各"第一個"比對的7欄取任1~6之欄位數", "輸入欄位數(1~6)")
目前之輸入值為 "1-2", 而你的
第21期 = RrngA ;01,02 = CrngA=2 (欄)
在此之 01,02 = CrngA=2 (欄) 指的是 01 (B欄位值),02 (C欄位值)
總共有兩個欄位? 為何要取 01,02? 是因為 CrngA 指定 "1-2" ("B"、"C"欄)?
同理
RrngB = "18-21" 指的是 第18期到第21期之期數,此項亦已無庸置疑。
CrngB = "1-2", 但是你的說明
第18期 = RrngB ;30 = CrngB=1 (欄)
18 12 15 21 23 30 48 26
為何是取第五位 (F欄) 的 30, 且指定之 CrngB=1 ? 而你的說明是
所以~ A基準組合*B基準組合 = 當期 (21期) 第一位 (B欄) 出 01, 第二位 (C欄)出 02;
其上3期 (18期) 第五位 (F欄) 出 30 ?
30 是根據甚麼數據出線的,在你指定的 Number = "3,11,21-26,43,49" 中並不存在 30 這數字?
B. RrngA到Nrange=21期到28期=Nrange-RrngA=7 這個與 NUM=15 ~~ :
將DATA!的(Nrange-NUM)到Nrange的A︰H開獎版期數複製貼上Sheet1!A7 的表達有何不同?
C. 接下來, 當期 (17期) 第一位 (B欄) 出01, 第二位 (C欄) 出02;其上3期 (14期) 第五位 (F欄)
出30=A*B基準組合第1個驗證版=17-12+14-5
為何又指向 17期 (RrngA = "21-24",RrngB = "18-21")? "其上3期" 其中的 3 是 "固定值" 嗎?
如是,那在何處定義? 又、此處 17-12+14-5 的含意是? 往下之 (14期)、(5期) 亦同此問。
謝謝你的耐心回覆!
作者:
ziv976688
時間:
2017-1-11 11:20
回復
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組合
與其驗證版的搜尋邏輯。
作者:
c_c_lai
時間:
2017-1-11 12:41
回復
22#
ziv976688
不好意思,樓上的疑問,尚未明確解答。
A. 第18期 = 18 12 15 21 23 30 48 26
為何是取第五位 (F欄) 的 30, 而非其他數據?
同樣的,
第21期 = 21 01 02 11 26 38 43 04
為何要取 01,02, 而非其他數據?
P.S. 非以肉眼來判斷,應以一合理程式邏輯來做判斷。
B. RrngA到Nrange=21期到28期=Nrange-RrngA=7 (28 - 21 = 7)
7 是指 基準列A 的期數到 Nrange 期數的期距。
所以其驗證版同樣是 往下7期 來對應。
NUM=XX~~是指定期距期數。
當NUM=15;即是效果檔案Sheet1!A7:H22=DATA!A&Nrange-NUM+1:H&Nrange+1
B1. 其中, A7:H22 是根據甚麼而來?
B2. A&Nrange (28) - NUM (15) + 1 : H&Nrange (28) + 1, 即 A14:H29 ?
C. "其上3期" 其中的 3 是 "固定值" 嗎?
如是,那在何處定義?
接下來, 當期 (17期) 第一位 (B欄) 出01, 第二位 (C欄) 出02;其上3期 (14期) 第五位 (F欄)
出30=A*B基準組合第1個驗證版=17-12+14-5
根據甚麼定義,為何又指向 17期 (RrngA = "21-24",RrngB = "18-21")?
往下之 (14期)、(5期) 亦同此問。
又、此處 17-12+14-5 的含意是?
作者:
ziv976688
時間:
2017-1-11 19:46
本帖最後由 ziv976688 於 2017-1-11 19:56 編輯
回復
23#
c_c_lai
[attach]26362[/attach]
我想您是誤將基準組合和驗證版組合視為同一個標的了^^
填入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,...其餘類推
作者:
ziv976688
時間:
2017-1-12 16:23
回復
23#
c_c_lai
再稍作補充︰
1_
所有InputBox裡的數字,都是以
人工鍵入
。
2_
A基準組合和B基準組合和A基準組合*B基準組合的各驗證版之
最後一列
(即Nrange期數的各對應期數),
都必須有顯示相同的
指定號碼
時,才會成立
效果檔案
(其內
只有一個工作表︰Sheet1
)。
3_
因為是A基準組合和B基準組合和A基準組合*B基準組合各依據邏輯篩選符合條件的驗證版組合,所以RrngA;CrngA;RrngB;CrngB的InputBox,如果有設計
不當或不足
的地方~~
尚請您不吝指正。謝謝您!
作者:
c_c_lai
時間:
2017-1-12 20:26
回復
25#
ziv976688
這是我根據你的回覆整理出來的
[attach]26366[/attach]
經過整理後,基本上業已大致明瞭你的描述,
你再幫我修飾一下,讓我能更確切地抓到重點,
謝謝你耐心地解說!
作者:
ziv976688
時間:
2017-1-12 23:41
本帖最後由 ziv976688 於 2017-1-12 23:53 編輯
回復
26#
c_c_lai
您客氣了!您整理得比不才的說明原稿清楚易懂,尤其是圖示的部分。
稍微再強調一個重點~~
因整個篇幅都是討論符合邏輯條件的組合,所以強調一下
不符合
邏輯條件的情況~~
1_
當由
某個A基準組合
往上搜尋到
第一次
同欄位同號碼
的
第1個驗證組合
,其
最後一列
(=Nrange期數的對應期數)
都沒有
顯示
任一個指定號碼
時,就
無需再往上繼續搜尋
了~
這個
A基準組合
為
無效組合
。
2_
當由
某個A基準組合
往上搜尋到第一次同欄位同號碼的第1個驗證組合,其最後一列(=Nrange期數的對應期數)
有顯示任一個
指定號碼
,
則
再往上搜尋到第二次
同欄位同號碼
的
第2個驗證組合
~~
當
第2個驗證組合
其
最後一列
(=Nrange期數的對應期數)
都沒有
顯示
與第1個驗證組合的
指定號碼
相同
時~~
則這個
A基準組合
為
無效組合
。
作者:
c_c_lai
時間:
2017-1-13 10:03
回復
27#
ziv976688
謝謝你,這次的補充的確是把重點 (Key Point)
指出來了,否則在判斷上會有極大的誤差。
我會再整個思考一下。
[attach]26367[/attach]
[attach]26368[/attach]
[attach]26369[/attach]
以上三個圖示,第3個 A組合*B組合驗證版之 "最後一列"
應以何者期數當做為正確的 "最後一列" ?
作者:
c_c_lai
時間:
2017-1-13 17:01
回復
25#
ziv976688
再請教以下問題,
假設:
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" 欄 ?
Ncount = "2-3" 指的是 "驗證版的連續次數",
此處連續次數是說 "二次" 到 "三次",亦即
本案例有兩個執行方案答案:
一個是 "二次"、另一個是 "三次"?
那麼, RrngA = "22-26" 亦同此意呦?
作者:
ziv976688
時間:
2017-1-13 18:50
本帖最後由 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
。
以上 謹請參考!
作者:
ziv976688
時間:
2017-1-13 19:07
本帖最後由 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" 亦同此意呦?
是的!!
作者:
c_c_lai
時間:
2017-1-13 19:33
本帖最後由 c_c_lai 於 2017-1-13 20:09 編輯
回復
31#
ziv976688
CrngA = "1-2" 指的是 A基準列當期7個欄中任取1個同欄同數字不重複的排列組合;和7個欄中任取2個同欄同數字,不重複的排列組合。
是指 "任取1個、或者是 任取2個" 皆可之意?
那麼 "B"、"C" 欄 是屬於哪一組? CrngA = "1" ? CrngA = "2"?
如果是 CrngA = "2";那 "E"、"F" 也就成立了囉?
還是總共有兩組做法,一組只比對一欄,另一組同時比對兩欄?
作者:
ziv976688
時間:
2017-1-13 20:09
本帖最後由 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個
"
皆執行
之意
作者:
c_c_lai
時間:
2017-1-13 20:26
本帖最後由 c_c_lai 於 2017-1-13 20:52 編輯
回復
33#
ziv976688
不太明白,實際上之比對只有 B,C,D,E,F,G,H 等 7 個欄位;
CrngA = "2" 時,BC,BD,BE,BF,BG,BH,CD,CE,CF,CG,CH,.......,GH各為1組。
請問 BC 等怎麼組合? 有否圖例說明?
同理,當CrngA = "1-2" 時,你說共有28個組合。
那如何表示?
反覆地研讀了說明,我試著做如下的推測,不知是否就是你的想法?
你說: CrngA = "1" 則B,C各為1組; CrngA = "2" ,則B*C為1組
意即
當 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欄 等之表示?
作者:
ziv976688
時間:
2017-1-13 21:33
回復
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"相同意思。
作者:
ziv976688
時間:
2017-1-14 06:34
本帖最後由 ziv976688 於 2017-1-14 06:49 編輯
回復
34#
c_c_lai
再補充~看這樣行不行^^"
R=當列(期);C=欄;1,2,3,4,5,6=欄數
RC1
=
"-1-2-3-4-5-6-7"
RC2 =
"-12-13-14-15-16-17-23-24-25-26-27-34-35-36-37-45-46-47-56-57-67"
RC3 =
"-1,2,3-1,2,4-1,2,5-1,2,6-1,2,7-1,3,4-1,3,5-1,3,6-1,3,7-1,4,5-1,4,6-1,4,7-1,5,6-1,5,7-1,6,7-2,3,4-2,3,5-2,3,6-2,3,7-2,4,5-2,4,6-2,4,7-2,5,6-2,5,7-2,6,7-3,4,5-3,4,6-3,4,7-3,5,6-3,5,7-3,6,7-4,5,6-4,5,7-4,6,7-5,6,7"
RC4 =
"-1,2,3,4-1,2,3,5-1,2,3,6-1,2,3,7-1,2,4,5-1,2,4,6-1,2,4,7-1,2,5,6-1,2,5,7-1,2,6,7-1,3,4,5-1,3,4,6-1,3,4,7-1,3,5,6-1,3,5,7-1,3,6,7-1,4,5,6-1,4,5,7-1,4,6,7-1,5,6,7-2,3,4,5-2,3,4,6-2,3,4,7-2,3,5,6-2,3,5,7-2,3,6,7-2,4,5,6-2,4,5,7-2,4,6,7-2,5,6,7-3,4,5,6-3,4,5,7-3,4,6,7-3,5,6,7-4,5,6,7"
RC5 =
"-1,2,3,4,5-1,2,3,4,6-1,2,3,4,7-1,2,3,5,6-1,2,3,5,7-1,2,3,6,7-1,2,4,5,6-1,2,4,5,7-1,2,4,6,7-1,2,5,6,7-1,3,4,5,6-1,3,4,5,7-1,3,4,6,7-1,3,5,6,7-1,4,5,6,7-2,3,4,5,6-2,3,4,5,7-2,3,4,6,7-2,3,5,6,7-2,4,5,6,7-3,4,5,6,7"
RC6=
"-1,2,3,4,5,6-1,2,3,4,5,7-1,2,3,4,6,7-1,2,3,5,6,7-1,2,4,5,6,7-1,3,4,5,6,7-2,3,4,5,6,7"
RrngA = "21-24"等同RrngA ="21,22,23,24"~~所以21,22,23,24四個期數
分別
各執行1次。
同理RrngA = "10,21-24"等同RrngA ="10,21,22,23,24"~~所以10,21,22,23,24五個期數
分別
各執行1次。
其餘...以此類推。
CrngA = "1-2"等同CrngA ="1,2"~~所以RC1和RC2
分別
各執行1次。
CrngA = "1,3-5"等同CrngA ="1,3,4,5"~~所以RC1和RC3和RC4和RC5
分別
各執行1次。
其餘...以此類推。
RrngB;CrngB
同理類推
。
因為主檔的期數太少,
前面曾經提出之
符合需求的範例已經是最大極限了,請再仔細檢視一下。
倘若一定要有
圖示
才能了解~~請不吝提出~~不才再做新主檔~另舉範例。
以上 謹請參考!謝謝您!
作者:
c_c_lai
時間:
2017-1-14 07:05
本帖最後由 c_c_lai 於 2017-1-14 08:19 編輯
回復
36#
ziv976688
黎明將近,但難度卻增高了,
我會再好好地來推敲的,
謝謝你!
作者:
ziv976688
時間:
2017-1-14 21:42
本帖最後由 ziv976688 於 2017-1-14 21:43 編輯
回復
37#
c_c_lai
[attach]26383[/attach]
StrRng = "1"
Nrange = "600"
num = "30"
RrngA = "581-599"
CrngA =
"1-3"
RrngB = "580-598"
CrngB =
"1-3"
Number =
"1-49"
Ncount =
"2-3"
圖示範例︰CrngA=
"1-3"
;
重點在說明
"1-3"
的意涵。
CrngB =
"1-3"
同理類推。
作者:
c_c_lai
時間:
2017-1-15 08:29
回復
38#
ziv976688
RrngA = "581-599"
CrngA = "1-3"
RrngB = "580-598"
CrngB = "1-3"
請問, RrngA 與 RrngB 的對數一定要一致性 (對等數) 嗎?
萬一不對等數,又會怎麼處理?
那 CrngA = "1-3" 指的,總共便有三種組合了?
P.S. 這好像是大學聯招試題。
作者:
ziv976688
時間:
2017-1-15 14:33
回復
39#
c_c_lai
請問, RrngA 與 RrngB 的對數一定要一致性 (對等數) 嗎?
不一定~沒有限制。
萬一不對等數,又會怎麼處理?
就依據填入的期數執行即可。
那 CrngA = "1-3" 指的,總共便有三種組合了?
是的!
P.S. 這好像是大學聯招試題。
碩士解大學聯招試題~牛刀小試~輕而易舉^^
作者:
c_c_lai
時間:
2017-1-15 17:06
回復
40#
ziv976688
"依據填入的期數執行即可"
那就無所謂之 A*B 之組合可言了?
換句話說
如為 "對等數" 就一定要有 A*B 組合了?
作者:
ziv976688
時間:
2017-1-15 17:41
回復
41#
c_c_lai
還是有A*B組合
EX:RrngA = "100-200" ;RrngB = "10-12"
則有
100*10;100*11;100*12
101*10;101*11;101*12
102*10;102*11;102*12
:
:
:
200*10;200*11;200*12
共303個A*B組合。
作者:
c_c_lai
時間:
2017-1-15 18:35
回復
42#
ziv976688
收到,程式撰寫難度愈來愈高了。
如果還有疑問到時後要再請教你了。
作者:
ziv976688
時間:
2017-1-15 19:11
回復
43#
c_c_lai
麻煩您了!敬候佳音。
作者:
c_c_lai
時間:
2017-1-17 08:09
回復
44#
ziv976688
早安!
目前只差尚未寫入到工作表單內;
先將 Beta 版附上,提供參考;
如果後續表單的製作你能接手的話,
那我就可以下課休息了!
[attach]26406[/attach]
P.S. 我特意將Debug 過程中的註解 (Remark)
內容保留,是要讓你明瞭它的演算過程。
作者:
ziv976688
時間:
2017-1-17 09:47
回復
45#
c_c_lai
您好!
不才完全無法接手~~還是有勞您克竟全功。謝謝您^^
作者:
c_c_lai
時間:
2017-1-25 07:03
本帖最後由 c_c_lai 於 2017-1-25 07:23 編輯
回復
46#
ziv976688
最近因家事繁忙,故只能抽空修正;
附上修正 (邏輯) 後之執行結果,麻煩檢查看看
是否正確?
[attach]26460[/attach]
-------------------------------------------
DGroup(1) : : Variant(1 to 4)
DGroup(1,1) = "22" : Variant/String
DGroup(1,2) = "20" : Variant/String
DGroup(1,3) = "2" : Variant/String
DGroup(1,4) = "1" : Variant/String
-------------------------------------------
NCnt : : Variant/String(0 to 1)
NCnt(0) = "2" : String
NCnt(1) = "3" : String
----------------------------------
第 1 個 Ncount = 2 組合次數
----------------------------------
第 1 個 A 組合
起始列 = 12
終止列 = 27
期 距 = 6
期 數 = 21
第一組 = 01
第二組 = 02
----------------------------------
第 2 個 A 組合
起始列 = 8
終止列 = 23
期 距 = 6
期 數 = 17
第一組 = 01
第二組 = 02
----------------------------------
第 1 個 B 組合
起始列 = 11
終止列 = 26
期 距 = 8
期 數 = 18
第五組 = 30
----------------------------------
第 2 個 B 組合
起始列 = 9
終止列 = 24
期 距 = 8
期 數 = 16
第五組 = 30
----------------------------------
第 1 個 C 組合
起始列 = 12
終止列 = 27
期 距 = 6
期 數 = 21
第一組 = 01
第二組 = 02
期 數 = 18
第五組 = 30
----------------------------------
第 2 個 C 組合
起始列 = 8
終止列 = 23
期 距 = 6
期 數 = 17
第一組 = 01
第二組 = 02
期 數 = 16
第五組 = 30
----------------------------------
第 1 個 Ncount = 3 組合次數
----------------------------------
第 1 個 A 組合
起始列 = 12
終止列 = 27
期 距 = 6
期 數 = 21
第一組 = 01
第二組 = 02
----------------------------------
第 2 個 A 組合
起始列 = 8
終止列 = 23
期 距 = 6
期 數 = 17
第一組 = 01
第二組 = 02
----------------------------------
第 3 個 A 組合
起始列 = 5
終止列 = 20
期 距 = 6
期 數 = 14
第一組 = 01
第二組 = 02
----------------------------------
第 1 個 B 組合
起始列 = 12
終止列 = 27
期 距 = 8
期 數 = 19
第三組 = 17
----------------------------------
第 2 個 B 組合
起始列 = 9
終止列 = 24
期 距 = 8
期 數 = 16
第三組 = 17
----------------------------------
第 3 個 B 組合
起始列 = 8
終止列 = 23
期 距 = 8
期 數 = 15
第三組 = 17
----------------------------------
第 1 個 C 組合
起始列 = 12
終止列 = 27
期 距 = 6
期 數 = 21
第一組 = 01
第二組 = 02
期 數 = 19
第三組 = 17
----------------------------------
第 2 個 C 組合
起始列 = 8
終止列 = 23
期 距 = 6
期 數 = 17
第一組 = 01
第二組 = 02
期 數 = 16
第三組 = 17
----------------------------------
第 3 個 C 組合
起始列 = 5
終止列 = 20
期 距 = 6
期 數 = 14
第一組 = 01
第二組 = 02
期 數 = 15
第三組 = 17
----------------------------------
複製代碼
作者:
ziv976688
時間:
2017-1-25 08:14
回復
47#
c_c_lai
早安!
不好意思,這樣看不出結果是對還是不對^^"
可否請您直接做個可執行並產生效果檔案的主檔~以利測試。
謝謝您^^
作者:
c_c_lai
時間:
2017-1-25 17:38
回復
48#
ziv976688
快過年了,還是抽時間將它趕出來。
工作表單命名 ' Sheets(Sheets.Count).Name = ""
你來給吧!
[attach]26470[/attach]
[attach]26469[/attach]
作者:
ziv976688
時間:
2017-1-26 06:49
本帖最後由 ziv976688 於 2017-1-26 06:58 編輯
回復
49#
c_c_lai
早安!
感謝您於春節前百忙中~尚熱心相助。
藉此先向您拜個早年~~
敬祝:
財源廣進!
闔家平安!
還是要有實例,較容易瞭解相互的
認知
有何不同^^
您把
開獎版
(比對的
基準版
)和
第1個
驗證
組合
重複
了。
[attach]26472[/attach]
相同的
指定號碼
=
11
============================================================================
StrRng = "1"
Nrange = "28" '
num = "15"
RrngA = "21-24"
CrngA = "1-2"
RrngB = "18-21"
CrngB = "1-2"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
使盡吃奶力,熬個通霄~終於以手工將上述的
總資料夾
和其內的
分資料夾
及其所有
效果檔案
製作完成。
謹供參考!
P.S.雖有重複檢視多次,但畢竟是手工製作~倘有錯誤,尚請您不吝指正。謝謝!
[attach]26473[/attach]
作者:
c_c_lai
時間:
2017-1-26 08:11
回復
50#
ziv976688
開獎版(比對的基準版)和第1個驗證組合重複了?
說真格的,不太懂你說的 "組合重複" 是在哪裡?
如下圖,對我這外行人來說實在看不出所以然。
[attach]26474[/attach]
作者:
ziv976688
時間:
2017-1-26 08:27
本帖最後由 ziv976688 於 2017-1-26 08:36 編輯
回復
51#
c_c_lai
請檢視您的上傳壓縮檔圖檔~~~~
這個圖表是不才
再整理
的~~與您的
49
#
原圖表及上傳壓縮檔圖檔不同^^
作者:
ziv976688
時間:
2017-1-26 08:44
本帖最後由 ziv976688 於 2017-1-26 08:50 編輯
回復
51#
c_c_lai
看懂您的誤解是在那裡了?
請以設定的DATA!比對之
A
&
B
基準列(
=開獎版
)~~往上搜尋的
第1次
相同欄位且相同的號碼為
第1個
驗證組合;
第2次
相同欄位且相同的號碼為
第2個
驗證組合;....以此類推。
作者:
c_c_lai
時間:
2017-1-26 12:37
回復
53#
ziv976688
在 #50 的例子,你是用
StrRng = "1"
Nrange = "28" '
num = "15"
RrngA = "21-24"
CrngA = "1-2"
RrngB = "18-21"
CrngB = "1-2"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
做解說。
而我的 #49 程式內,是以
StrRng = "1"
Nrange = "28" '
num = "15"
RrngA = "22"
CrngA = "2"
RrngB = "20"
CrngB = "1"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
來執行測試的。請再次確實核對。
作者:
ziv976688
時間:
2017-1-26 13:37
回復 ziv976688
在 #50 的例子,你是用
StrRng = "1"
Nrange = "28" '
num = "15 ...
c_c_lai 發表於 2017-1-26 12:37
核對如下:
[attach]26478[/attach]
[attach]26479[/attach]
作者:
c_c_lai
時間:
2017-1-26 16:19
回復
55#
ziv976688
各驗證組合之最末列沒有相同的指定號碼,
不是只要有指定號碼就 OK 了嗎?
你是說所有的各驗證組合指定號碼要有一組
相同的指定號碼?只有這個問題嗎?
作者:
ziv976688
時間:
2017-1-26 21:08
回復
56#
c_c_lai
不是只要有指定號碼就 OK 了嗎?
不才
從頭至尾沒有
這樣說過。
請再回覽
22
#,
24
#,
25
#
只有這個問題嗎?
工作表3的
C
驗證組合
不符合
邏輯條件和工作表4的
B,C
驗證組合
不符合
邏輯條件。
[attach]26483[/attach]
[attach]26484[/attach]
作者:
c_c_lai
時間:
2017-1-29 08:56
回復
57#
ziv976688
我視力不好 (動過開刀手術),
你再試試看是否吻合需求?
[attach]26493[/attach]
作者:
c_c_lai
時間:
2017-1-29 09:49
本帖最後由 c_c_lai 於 2017-1-29 09:54 編輯
回復
55#
ziv976688
[attach]26495[/attach]
[attach]26496[/attach]
[attach]26498[/attach]
作者:
ziv976688
時間:
2017-1-29 14:07
本帖最後由 ziv976688 於 2017-1-29 14:10 編輯
回復
59#
c_c_lai
有將
A
&
B
&
A*B
組合
取得
驗證組合
的
邏輯
再重述一遍
~~謹請參考~~
工作表1
[attach]26499[/attach]
工作表1_
Ans.
[attach]26500[/attach]
工作表36
&
Ans
[attach]26501[/attach]
I_28期_15_23-2+20-5_2次_11
[attach]26503[/attach]
詳如附件:[attach]26502[/attach]
作者:
c_c_lai
時間:
2017-1-29 18:47
回復
60#
ziv976688
到此你應該自己可以上手接續了!
我視力不佳無法仔細閱覽之故。
作者:
ziv976688
時間:
2017-1-29 21:23
回復
61#
c_c_lai
哈~哈~您太抬舉不材了。要是這樣不才就能接手,就不會一再作範例說明了。
說實在的~~您的語法不才尚在研究中~~只是連為什麼程式碼要寫在This Workbook的用意,不材都還沒搞懂?
有把DATA原來的程式碼移除,只留
Private Sub CommandButton1_Click()
ThisWorkbook.extractBaseData
End Sub
以
StrRng = "1"
Nrange = "28" '
num = "15"
RrngA = "21-24"
CrngA = "1-2"
RrngB = "18-21"
CrngB = "1-2"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
執行測試結果是
26個
工作表(1個工作表=1個檔案)
不才以人工製作的檔案應該是有
73個
檔案。
差距甚大~~不才抓不出來^^"
作者:
Airman
時間:
2017-1-29 21:29
回復
59#
c_c_lai
回復
60#
ziv976688
不好意思,恕容小弟引(借)用二位大德的範例。謝謝!
作者:
c_c_lai
時間:
2017-1-30 07:44
本帖最後由 c_c_lai 於 2017-1-30 08:06 編輯
回復
62#
ziv976688
那就以本樓為範例,前後各舉出你想要的三個具有
代表性且是正確位置的圖表 (共六張圖示範例);
(即 73 個檔案中前半部與後半部個舉三個實例圖型)
StrRng = "1"
Nrange = "28" '
num = "15"
RrngA = "21-24"
CrngA = "1-2"
RrngB = "18-21"
CrngB = "1-2"
Order = ""
Number = "3,11,21-26,43,49"
Ncount = "2-3"
如此才能得知明瞭你的真正表達與需求,
圖型中亦請稍加詮釋要注意事項,與需求原因。
不然光有圖表與所謂 (拉平), 就不知何意?
P,S, 不要用我程式內所產生的工作表內容作為範例;
而是以你人工模式製出的需求工作表單為依據。
程式碼並非一定要寫在This Workbook,
也可放置在 "模組" 內的。
作者:
ziv976688
時間:
2017-1-30 20:08
回復
64#
c_c_lai
60
#的圖解和說明~~
如果連
"
比對期數
沒有
拉齊(平)
"
,都無法讓您理解,那不才就無言了^^"
我再想想看:要怎麼說明,才能讓您容易理解?
畢竟製作圖表+文字說明很費時耗神,這樣下去二個人都累^^
作者:
ziv976688
時間:
2017-1-31 21:15
本帖最後由 ziv976688 於 2017-1-31 21:16 編輯
回復
64#
c_c_lai
[attach]26511[/attach]
仔細思考後~~還是以貴解答工作表來說明
不符合
需求的地方,再另作正確答案的工作表~以利您修正程式碼。
以檢視
59
#
貴解答
工作表
1~10
;整理後的
不符合
需求的地方~~
1︰
各比對基準
期數(
開獎版
)和
各驗證版
的期數~~
沒有
同列齊平比對
。
EX︰工作表1~10
2︰
B組合的
比對基準
(
開獎版
)
期數和第 1 個 B
驗證版
期數
重複
(
20=20
)
。
EX︰工作表5 & 6
3︰
C(=A*B)組合的
驗證版
比對期數
錯誤
(19-18=1
<>23-20
;16-16=0
<>23-20=3
)
。
EX︰工作表1 & 3
4.
A或B或C(=A*B)組合的
比對基準
期數
標的
和
指定
的A或B或C(=A*B)組合的期數
不符合
。
EX︰工作表1~10
以上供參!倘尚有問題煩請告知。謝謝您!
作者:
c_c_lai
時間:
2017-2-3 18:15
回復
66#
ziv976688
回復
63#
Airman
再試試看吧!
[attach]26516[/attach]
[attach]26517[/attach]
作者:
starbox520
時間:
2017-2-3 18:56
回復
67#
c_c_lai
來學習了~~
作者:
ziv976688
時間:
2017-2-4 01:27
回復
67#
c_c_lai
[attach]26522[/attach]
只剩下一個
誤差
~~
開獎版
和各組的
第1個驗證組合
重複
,
EX:R1(MF)_T-1。
請將
開獎版
當為比對的
母段落
;各
驗證組合
當為比對的
子段落
。
謝謝您^^
作者:
c_c_lai
時間:
2017-2-4 08:24
回復
69#
ziv976688
[attach]26523[/attach]
[attach]26524[/attach]
[attach]26525[/attach]
[attach]26526[/attach]
作者:
ziv976688
時間:
2017-2-4 12:00
本帖最後由 ziv976688 於 2017-2-4 12:12 編輯
回復
70#
c_c_lai
貴解答雖然不符合不才所需;
但還是謝謝您的熱心協助和不吝賜教
作者:
c_c_lai
時間:
2017-2-4 17:03
回復
71#
ziv976688
基本架構建置業已建立,你可以參考程式內容
以此類推進行修正,將它改成你真正的所需。
同時也謝謝你耐心的解說,才有今日之果實。
作者:
ziv976688
時間:
2017-2-4 18:05
本帖最後由 ziv976688 於 2017-2-4 18:11 編輯
回復
72#
c_c_lai
基本架構的期數還是沒有對齊,
不才再看看~~~
謝謝您^^"
作者:
ziv976688
時間:
2017-2-4 19:48
本帖最後由 ziv976688 於 2017-2-4 20:01 編輯
回復
72#
c_c_lai
基本架構嚴格說只完成~~開獎版的A比對基準列期數欄位和B比對基準列期數欄位的底色標示~~
其餘的不是不完整不然就是錯誤(包括
70
#的範例檔),因此,不才
完全無法
以此類推進行修正。
但最重要的是您雖然將需求說明附註在程式內,但卻總是不依據發問題的需求作解,雖經不才的一再解說,您還是總以自己的觀點來解題~~
EX:以最簡單的
工作表名稱
,明明是
Sheet1
即可,且加句
Sheets("Sheet1").Move
就可將效果檔案完成,可是您卻一直堅持己意作解。
雖然簡單的語法,不才可以自行修正,但總也要有個完成檔來做標準;但您總是不時的提醒要不才自行接下去完成~~
不才最後的感覺是"
心願難以達成
",所以只能對耽誤您許多的寶貴時間感到抱歉!
再次謝謝您的熱心協助~~感恩
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)