標題:
[發問]
前3大和前3小的三層比對語法。
[打印本頁]
作者:
Airman
時間:
2019-6-4 01:26
標題:
前3大和前3小的三層比對語法。
需求&測試檔︰[attach]30768[/attach]
圖示說明檔~請詳見︰排數總覽(尾數排序)-(2019-05-31)-Ans
需求(一)︰Sheet1(將各單列的前3大之第1列的同欄號碼,填入DJ︰EM的對應儲存格)
需求(二)︰Sheet2(將各單列的前3小之第1列的同欄號碼,填入DJ︰EM的對應儲存格)
請問︰以上的需求應該如何編寫?
懇請 各位先進惠予賜教!謝謝!
作者:
准提部林
時間:
2019-6-4 20:56
自行驗證看看:
[attach]30776[/attach]
作者:
Airman
時間:
2019-6-4 22:26
回復
2#
准提部林
准大 : 您好!
比對答案是小弟應盡的義務^^
比對後~如有問題再提出。
整個檔案需求都已完成~
謝謝您多日來的耐心指導~感恩^^
作者:
Scott090
時間:
2019-6-7 08:36
回復
1#
Airman
"前3小" 頁 看起來是比小:
" EX︰AE62=1<AB62=2<AA62=AC62=AD62=3;則再比對AA63和AC63;AD63;因為AA63=AC63 =17;所以......... "
請確認一下 , 第2層,AD63 =7 < (AA63=AC63=17),17有2個,7只有1個;在這裡是 有2個以上的相同的(17)"大" 就取相同的"大" 去比較 第3層 (71列) 嗎?
作者:
准提部林
時間:
2019-6-7 09:43
本帖最後由 准提部林 於 2019-6-7 10:51 編輯
回復
4#
Scott090
1 1
2 3 4
3
4
5 6 7 只比對至這一層,取3
5 5 6 6 7
----------------------
1 1
2 3 4
3
3
5 6 7 兩個相同,再往下比
5
4
6 6 7 取最小的4
----------------------
1 1
2 3 4
3
3
5 6 7
5
5
6 6 7 取兩個
作者:
Airman
時間:
2019-6-7 10:22
本帖最後由 Airman 於 2019-6-7 10:27 編輯
回復
4#
Scott090
Scott090大大 :您好 !
"前3小" 頁 看起來是比小:
EX︰AE62=1<AB62=2<AA62=AC62=AD62=3;則再比對AA63和AC63;AD63;因為AA63=AC63 =17;所以......... "
請確認一下
, 第2層,AD63 =7 < (AA63=AC63=17),17有2個,7只有1個;
在這裡是 有2個以上的相同的(17)"大" 就取相同的"大" 去比較 第3層 (71列) 嗎?
是的!這裡是 有2個以上的相同的(17)"大"去比較 第3層 (71列)
且取該同欄71列的較小數字。
有
2個以上的相同的(17)"大" 就取相同的"大"
去比較 第3層 (71列)
正確的說 :
是"小計"(AA63:AE63)有相同名次的並排者;所以才再比對第3層(71列)
簡扼說明3層的比對原則~前3大(Sheet1)_取較大數;前3小(Sheet2)_取較小數~
當各"單列"(第1層)有名次相同(並排)時,才再以該並排名次去比對"小計"列的同欄數字;
當該被比對"小計"列的同欄數字,又有名次相同(並排)時,才再以該並排名次去比對第3層(71列)的同欄數字。
EX1 :假設將AC62=
3
改為
4
;則只再比對AA62和AD62的下方"小計"列(AA63和AD63),然後取較小的AD63=7;不必再比對第3層~即前3小的第1列數字=46;16;36
EX2:假設將AC62=
3
改為
4
;將AD62=
3
改為
5
,則因"單列"(第1層)無名次相同(並排),所以不必再比對第2層(63列)~即前3小的第1列數字=46;16;06
EX3:假設將AB62=
2
改為
1
;將AD62=
3
改為
2
,則因"單列"(第1層)有並排的最小名次=AB62=AE62=1;所以再比對AB62和AE62的下方"小計"列(第2層)(AB63和AE63),且因AB63和AE63=12;所以再比對第3層(AB71和AE71列的同欄數字,取較小的AB71=109(即取AB1的16)。
另因(第1層)有AA62和AC62=3(並排第3小);所以再比對AA62和AC62的下方"小計"列(第2層)(AA63和AC63),且因AA63和AC63=17;所以再比對第3層(AA71和AC71列的同欄數字,取較小的AC71=149(即取AC1的26))~即前3小的第1列數字=16;36;26
以上供參
筆誤更正~
排數總覽(尾數排序)-(2019-05-31)-Ans的排數總覽(尾數排序)-(2019-05-31)工作表(Sheet1)
DS60=03;13 DT60=33 DU60=23 ==>
清除
改為
DP60=03;13 DQ60=33 DR60=23
作者:
Airman
時間:
2019-6-7 10:31
回復
5#
准提部林
准大 :
謝謝您幫忙說明
作者:
Airman
時間:
2019-6-7 11:39
回復
4#
Scott090
Scott090 :
學准大的說明方式再作補充供參^^
[attach]30798[/attach]
作者:
Scott090
時間:
2019-6-7 13:22
回復
8#
Airman
回復
5#
准提部林
謝謝二位的說明,
自我測試一下比對邏輯,請看一下:
比對陣列 前3大 前3小
10 20 30 35 40
1 2 3 3 3 ==> 40 20 10 10 20 35
20 25 30 20 20
150 160 200 180 190
請斧正,謝謝
作者:
Airman
時間:
2019-6-7 14:05
回復
9#
Scott090
Scott090大大 :您好 !
是的~完全正確
作者:
Scott090
時間:
2019-6-9 22:09
本帖最後由 Scott090 於 2019-6-9 22:15 編輯
[attach]30810[/attach]
回復
10#
Airman
[attach]30810[/attach]
請測試看看
作者:
Airman
時間:
2019-6-10 06:07
本帖最後由 Airman 於 2019-6-10 06:21 編輯
回復
11#
Scott090
Scott090大大 : 早安 !
貴解答檔的答案
全部OK
!謝謝您:lol
不好意思,因為小弟的疏忽~
需求︰Sheet1
當各單比對區段的儲存格
>0
時 :
沒注意到各單列有這麼多=0的儲存格^^"
需求︰Sheet2
當各單比對區段的儲存格
>=0且<>""
時 :
沒有加註強調重點的顏色~所以沒有引起您的注意^^"
所以請您將
3層比對的先決條件
改為~
需求︰Sheet1
(=前3大)
當各單比對區段的儲存格
>=0且<>""
時,...........
需求︰Sheet2
(=前3小)
當各單比對區段的儲存格
>=0且<>""
時 ,..............
即將各單比對區段列
>=0且<>""
的儲存格
都加入前3大和前3小的比對範圍內。
以上 敬請您賜正~感恩^^
[attach]30817[/attach]
作者:
Airman
時間:
2019-6-10 06:34
回復
12#
Airman
補充12樓~
因為目前檢視貴解答檔的答案,只有在第1層的0值為有效的前3大值或前3小值,答案才會產生誤差;
所以小弟想應該是
將0值加入前3大值或前3小值得比對範圍內
即可。
希望不會給您添太大的麻煩
作者:
Scott090
時間:
2019-6-10 20:01
回復
13#
Airman
[attach]30822[/attach][attach]30822[/attach]
已比對了 12# 的附件
請再測試看看
作者:
Airman
時間:
2019-6-11 02:23
回復
14#
Scott090
Scott090大大 : 您好 !
辛苦了!謝謝您^^"
測試結果 :
以原附件測試,
尚有4處
有誤差
~前3大和前3小各有2處~
詳如附件 : [attach]30832[/attach]
敬請賜正!謝謝您^^
作者:
Airman
時間:
2019-6-11 17:18
本帖最後由 Airman 於 2019-6-11 17:30 編輯
回復
14#
Scott090
15樓的附件的筆誤更正~
前3小工作表V : Z的說明方塊
V49=
17
改為
15
,V$1=
12
改為=
21
謹請參考!謝謝您^^
作者:
Scott090
時間:
2019-6-12 06:30
回復
16#
Airman
研究 15# 附件檔說明:
AL30=14 > AN30=10 > AK30=AM30=AO30=0;
則再比對AK35和AM35和AO35 ~
因為AM35=41 > AK35=AO35 =12;
所以取AM$1=38;
綜上而將前3大:
AL$1的37填入EE30;AN$1的39填入EF30;
AM$1的38填入EG30。
則,9#的舉例應改為:
比對陣列 前3大 前3小
10 20 30 35 40
1 2 3 3 3 ==> 30 20 10 10 20 35
20 25 30 20 20
150 160 200 180 190
作者:
Airman
時間:
2019-6-12 07:22
本帖最後由 Airman 於 2019-6-12 07:23 編輯
回復
17#
Scott090
Scott090大大 : 早安!
不好意思,
17#
範例的邏輯才是正確的
小弟的
10#
回覆沒有處理好~給您添麻煩~深感抱歉!敬請見諒!謝謝您!
作者:
Scott090
時間:
2019-6-13 16:01
本帖最後由 Scott090 於 2019-6-13 16:06 編輯
回復
18#
Airman
[attach]30849[/attach]
請測試核對
作者:
Airman
時間:
2019-6-14 02:35
本帖最後由 Airman 於 2019-6-14 02:44 編輯
回復
19#
Scott090
Scott090大大 : 您好 !
辛苦了!謝謝您^^"
測試結果 :
1_
主檔的執行速度感覺有明顯緩慢的現象
(對比前幾版)
。
2_
以(2019-05-31)的
9個基本檔
測試 (空,機,排X合,均,尾=9) :
尚有"空數總覽(尾數排序)"的前3小之
單
層和
雙
層的
Q28 : U28
有誤差
~詳如 : 空數總覽(尾數排序)-(2019-05-31)_誤差處的圖說檔。
[attach]30853[/attach]
以上 敬請賜正 ! 謝謝您 ^^
作者:
Airman
時間:
2019-6-14 03:05
本帖最後由 Airman 於 2019-6-14 03:13 編輯
回復
20#
Airman
補充~
1_
好像類似
迴圈
一直跑不停,所以執行結束的時間顯得緩慢。
2_
產生誤差的原因
應該是0值沒有加入比對
。
作者:
Scott090
時間:
2019-6-14 06:56
回復
21#
Airman
參數確認:
1. 1~3層都要把 "0" 值 列入比對
2. 第一列的數值範圍 "01 ~ 49"
3. 一般數值 範圍 2位數(小於 100)
4. 小計數值範圍 3位數(小於 1000)
5. 總計數值範圍 3位數(小於 1000)
謝謝
作者:
Airman
時間:
2019-6-14 09:30
回復
22#
Scott090
Scott090 : 您好 !
參數確認:
1. 1~3層都要把 "0" 值 列入比對 ==> V
2. 第一列的數值範圍 "01 ~ 49" ==> V
3. 一般數值 範圍 2位數(小於 100) ==>V
4. 小計數值範圍 3位數(小於 1000) ==> V
5. 總計數值範圍 3位數(小於 1000) ==>小於 3000
以上 謝謝您^^
作者:
Scott090
時間:
2019-6-16 20:52
回復
23#
Airman
[attach]30882[/attach]
請測試核對看看
資料表格內會有空格的情況嗎?
作者:
Airman
時間:
2019-6-17 02:00
回復
24#
Scott090
Scott090大大 :您好 !
辛苦了 ! 有的答案會有空格,大部分是第3名從缺的時候,少部分是第2和3名從缺的時候。
測試完再向您報告結果。
先謝謝您的耐心協助和指導~感恩^^
作者:
Airman
時間:
2019-6-17 03:22
本帖最後由 Airman 於 2019-6-17 03:24 編輯
回復
24#
Scott090
[attach]30883[/attach]
Scott090大大 : 您好 !
不好意思,尚有
1處有誤
~
排數總覽(尾數排序)-(2019-05-31)的前3大之
CK64=13
;
CK64應=""
(在前版v1.2測試時是無誤的)
詳如測試檔說明
敬請賜正~謝謝您^^
作者:
Scott090
時間:
2019-6-17 14:50
本帖最後由 Scott090 於 2019-6-17 14:58 編輯
回復
26#
Airman
排數總覽(尾數排序)-(2019-05-31)_圖示說明:
列63 L~P 行 二層 前3大 二層 前3小
碼 03 13 23 33 43
小記 15 15 12 15 10 ==> 33 23 43 43 23 03
13
總計 125 125 107 158 101
是這樣嗎? :P
作者:
Airman
時間:
2019-6-17 15:37
回復
27#
Scott090
Scott090大大 :您好 !
是的~正確無誤
給您添麻煩了
作者:
Scott090
時間:
2019-6-18 11:27
回復
28#
Airman
Airman大提過,好像轉不出來,不知是否有特定的哪個檔案?
這裡測試9個測試檔的時間記錄給參考,
排數總覽(合數排序)-(2019-05-31)測試時間 = 0.65625 秒
排數總覽(均值排序)-(2019-05-31)測試時間 = 0.78125 秒
排數總覽(尾數排序)-(2019-05-31)測試時間 = 0.78125 秒
機數總覽(合數排序)-(2019-05-31)測試時間 = 0.859375 秒
機數總覽(均值排序)-(2019-05-31)測試時間 = 0.765625 秒
機數總覽(尾數排序)-(2019-05-31)測試時間 = 1.390625 秒
空數總覽(合數排序)-(2019-05-31)測試時間 = 1.3125 秒
空數總覽(均值排序)-(2019-05-31)測試時間 = 0.75 秒
空數總覽(尾數排序)-(2019-05-31)測試時間 = 0.890625 秒
[attach]30891[/attach]
請核對看看
作者:
Scott090
時間:
2019-6-18 12:00
回復
29#
Scott090
29# 的附件 錯了, 請忽略他
作者:
Scott090
時間:
2019-6-18 12:42
本帖最後由 Scott090 於 2019-6-18 12:45 編輯
回復
28#
Airman
v2.1.rar 是錯誤的,請用下列 的 2.2版
[attach]30894[/attach]
作者:
Airman
時間:
2019-6-18 15:13
回復
31#
Scott090
Scott090大大 : 您好 !
測試結果~
全部OK了
~辛苦您了
萬分感激您多日來的耐心協助和指導~感恩~再感恩
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)