返回列表 上一主題 發帖

[發問] 搜尋前3大&前3小值。

[發問] 搜尋前3大&前3小值。

本帖最後由 ziv976688 於 2021-9-5 18:27 編輯

TEST_0905.rar (727.07 KB)
備註:
前3大和前3小的名次以中式排名(即同名次可以多個)為基準。
本範例共有5個子資料夾(1883~1879)。
編寫流程請解題者擇宜訂定。

將TEST資料夾內的各n個子資料夾依由大而小順序打開後,
再增需求如下:
1_將有"統"關鍵字的檔案名稱之第4段"數字由大而小",從Sheets("Sheet1").[A33]起始,每跳17列依序往下填入。

2_以上述打開後的檔案:
搜尋D欄和E欄之單欄的前3大的數值和前3小的數值,並以同列的B欄值,對應Sheets("Sheet1").[C1:AY1]的同值,
然後在Sheets("Sheet1")A欄相同期數右邊總次數和倍數之前3大和前3小的對應儲存格填上"V"~
EX:開啟7統_0_1884期_1883_49個_1次的檔案~
D欄最大值=D31=396;同列B31=30;則在Sheets("Sheet1").[AF34]填入"V"
D欄次大值=D42=378;同列B42=41;則在Sheets("Sheet1").[AQ35]填入"V"
D欄三大值=D34=372;同列B34=33;則在Sheets("Sheet1").[AI36]填入"V"
D欄最小值=D22=156;同列B22=21;則在Sheets("Sheet1").[W38]填入"V"
D欄次小值=D41=192;同列B41=40;則在Sheets("Sheet1").[AP39]填入"V"
D欄三小值=D43=198;同列B43=42;則在Sheets("Sheet1").[AR40]填入"V"

搜尋E欄的之前3大的數值和前3小的數值,並以同列的B欄值,對應Sheets("Sheet1").[C1:AY1]的同值,
然後在Sheets("Sheet1")A欄相同期數右邊倍數的前3大和前3小之對應儲存格填上"V"~
E欄最大值=E31=8.082;同列B31=30;則在Sheets("Sheet1").[AF42]填入"V"
E欄次大值=E42=7.714;同列B42=41;則在Sheets("Sheet1").[AQ43]填入"V"
E欄三大值=E34=7.592;同列B34=33;則在Sheets("Sheet1").[AI44]填入"V"
E欄最小值=E22=3.250;同列B22=21;則在Sheets("Sheet1").[W46]填入"V"
E欄次小值=E43=4.041;同列B43=42;則在Sheets("Sheet1").[AR47]填入"V"
E欄三小值=E41=4.085;同列B41=40;則在Sheets("Sheet1").[AP48]填入"V"

其餘1882~1879類推:詳如範例。

以上需求語法~懇請各位大大指導和幫忙! 謝謝!

本帖最後由 ziv976688 於 2021-9-6 14:27 編輯

回復 2# samwang
謝謝您的再次指導。
測試結果 :
1_少了1列間隔空白列~
EX;
A49=1882,B49:B64=表頭
正確為:
A50=1882,B50:B65=表頭

A65=1881,B65:B80=表頭
正確為:
A67=1881,B67:B82=表頭

A81=1880,B81:B96=表頭
正確為:
A84=1880,B84:B99=表頭


其餘...類推

2_的總數量目前是58個(正確是60個)∼5期*2欄*(前3大+前3小)>=60~
但這個等上項列數調整後,小弟再測試結果∼如真有誤時,再勞煩您修正。
謝謝您
7前3大&小_0_1884期_5期_1次.rar (15.68 KB)

TOP

回復 4# samwang
謝謝您的賜正。
打"V"的部分~我的效果檔範例也有筆漏~請在AP91填入"V"。謝謝!

打"V"部分的測試結果 :
1882;1881;1879~OK

1883~請修正下列儲存格~
AP47="";AR47=V
AP48=V;AR48=""
詳如 :7統_0_1884期_1883_名次比對用

1880~請修正下列儲存格~
W91=V
AP48=V;AR48=""
W99=V;AP99=""
詳如 :7統_0_1884期_1880_名次比對用

PS :
1_COUNTIF(C34:AY116,"V")=61個
2_BUG都是發生在D和E二欄的同名次不是同一列和同名次有2個(含)以上時~
請問 : D欄和E欄的名次是否有分別統計?

以上 懇請賜正。  謝謝您^^
0906.rar (59.63 KB)

TOP

本帖最後由 ziv976688 於 2021-9-6 22:54 編輯

回復 6# samwang
謝謝您的賜正   
測試結果 :
不好意思,尚有一處有遺漏~
1880~
總次數三小有2個~2140(中式排名~"同名次" >=1個時,都要記錄)
W91  沒有記錄到
所以~
W91=V
懇請您賜正。
謝謝您
7前3大&小_0_1884期_5期_1次_W91.rar (13.12 KB)

TOP

本帖最後由 ziv976688 於 2021-9-7 10:51 編輯

回復 8# samwang
您太客氣了!您已經幫我很多忙了~謝謝您

不是說"教學相長"嗎?
我們都耐心等等~
看還有沒有其他高手願意幫忙和指導。

TOP

本帖最後由 ziv976688 於 2021-9-7 16:54 編輯

回復 11# samwang
不好意思~增添您許多麻煩~辛苦您了~謝謝您

測試結果 :
原先的BUG是解決了,但#11樓的貴解又產生其它的BUG~倍數第3大跑不出來
懇請賜正~謝謝您
為利您查閱~已將所有前3大和前3小的標示,做一個查詢表~請見有""字的各期檔案之備註欄。
TEST_0907.rar (511.35 KB)

TOP

回復 13# samwang
測試成功(含前3大>=2個;前3小>=2個)
萬分感謝您熱心的幫忙和耐心指導~感恩

TOP

本帖最後由 ziv976688 於 2021-9-7 22:22 編輯

回復 15# samwang
如果前3大和前3小都是各只有1個
期數=5期
總次數=1
倍數=1
前3大=3
前3小=3
所以~
5*(1+1)*(3+3)=60
再次謝謝您的耐心指導~受益良多。
辛苦了~感恩

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題