Board logo

標題: [發問] 表格內依排名取類型(有重覆排名) [打印本頁]

作者: jj369963    時間: 2014-8-23 16:08     標題: 表格內依排名取類型(有重覆排名)

Dear大大們:

小問題請教,如附擋

再煩請賜教

感謝

[attach]19012[/attach]
作者: jj369963    時間: 2014-8-23 16:28

回復 1# jj369963


    sorry上面的附擋是錯的

但已超過時間無法編輯更換

附上
正確擋案
謝謝

[attach]19014[/attach]
作者: Hsieh    時間: 2014-8-26 22:16

回復 2# jj369963
非連續儲存格的處理用含數來處理是比較麻煩
附件內使用函數及VBA的方法供參

[attach]19024[/attach]
作者: jj369963    時間: 2014-8-31 00:53

回復 3# Hsieh


    Dear  Hsieh版大:

      每次看到你的回覆都很興奮,
     如果可以,請將此帖移到程式區,
     另外,小的不材VBA語法研究中,所以不是看得很懂
    想進階的問您,如果要統計各類型排名的人次,要如何做?
     如附擋,煩請賜教,感謝

           [attach]19051[/attach]
作者: Hsieh    時間: 2014-9-1 22:02

本帖最後由 Hsieh 於 2014-9-1 22:05 編輯

回復 4# jj369963
N2陣列公式
=INDEX($G$1:$L$1,,MATCH(SMALL(RANK($G2:$L2,$G2:$L2,0)+COUNTIF(OFFSET($G2,,{0,1,2,3,4,5},,{6,5,4,3,2,1}),$G2:$L2),COLUMN(A$1)),RANK($G2:$L2,$G2:$L2)+COUNTIF(OFFSET($G2,,{0,1,2,3,4,5},,{6,5,4,3,2,1}),$G2:$L2),0))
附檔內使用VBA寫自定義函數取得範圍內不重複排名陣列
(其程序與陣列公式的觀念流程相同)
配合INDEX,MATCH等函數抓取對應名稱
參考看看
[attach]19068[/attach]
[attach]19066[/attach]
作者: jj369963    時間: 2014-9-4 23:14

回復 5# Hsieh


    Dear  Hsieh版大:
           大大感謝您的回覆,你的回覆為"使用VBA寫自定義函數取得範圍內不重複排名陣列"
              那請問如果"使用VBA寫自定義函數取得範圍內重複排名陣列"又該怎麼寫呢??

       如附擋,感謝回應。

       每天從excel中發現小小的感動

            [attach]19097[/attach]
作者: Hsieh    時間: 2014-9-5 11:17

回復 6# jj369963

這種陣列字串連接一定要VBA輔助

    [attach]19099[/attach]
作者: jj369963    時間: 2014-9-5 23:30

回復 7# Hsieh


       Dear  Hsieh版大:
   
            您真是太厲害了,但我依續建立 ar & join的名稱,也貼上程式碼

         為何出現error,請問我漏了什麼操作細節嗎?

            如附檔,感謝!

                 [attach]19101[/attach]
作者: Hsieh    時間: 2014-9-7 22:03

回復 8# jj369963

自定義函數程式碼必須寫在一般模組內,不能寫在工作表模組

    [attach]19111[/attach]
作者: jj369963    時間: 2014-9-8 20:06

回復 9# Hsieh


       Dear  Hsieh版大:
         感謝回應。
               原來"Module 裡面存著若干的 Procedure,只要看到用 Sub 及 EndSub 包起來,或是 Function 及 EndSub 包起來的都是 Procedure"
              另外,想再請問以下:
        
            問題1:如何配合下拉選單的條件,正確計算統計有重覆排名(可並列排名)
            問題2:增加欄位時,數據會有問題,此部分有方案解決嗎?
             如附擋,感謝

             [attach]19112[/attach]
作者: Hsieh    時間: 2014-9-9 08:23

回復 10# jj369963

           問題1:如何配合下拉選單的條件,正確計算統計有重覆排名(可並列排名)
目前是每列對應排名,產生多列的結果
加入下拉選單的條件,是說資料庫多了一個欄位,然後要篩選符合條件的列做排名嗎?
若是如此統計表格式只出現一列資料囉

            問題2:增加欄位時,數據會有問題,此部分有方案解決嗎?
增加欄位是標題列多了參與排名的人增加,或是如上問題多了條件欄位?
請以正確表格形式說明
作者: jj369963    時間: 2014-9-9 12:39

回復 11# Hsieh

Dear  Hsieh版大:
  問題如附檔,如有不清楚,再煩請回覆。

1.加入下拉式窗為條件做統計判斷
2.因VBA語法關係的相對位置,如在G欄前再加欄位,數據上會跑掉,想請問有方法可以改善嗎?

感謝

[attach]19116[/attach]
作者: Hsieh    時間: 2014-9-9 14:39

回復 12# jj369963

1.多條件統計在統計表的公式中加入各條件即可
2.G欄插入欄位,因為原本join名稱中要對名次的引數是欄位的相對參照
=joinstr(IF(ar=LARGE(rankar(ar),COLUMN(A$1)),Sheet1!$G$1:$L$1,""),",")
當名稱用在N欄時是取第一大值,但在N欄之前插入欄位,則會N欄跑到O欄,則COLUMN(A$1)變成COLUMN(B$1)
造成取到第二名
公式改成
=joinstr(IF(ar=LARGE(rankar(ar),COLUMN()-COLUMN(Sheet1!$M$2)),Sheet1!$G$1:$L$1,""),",")
只要插入欄位是在M欄之前都可以隨之改變
   [attach]19117[/attach]




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)