標題:
[發問]
關於排名(禮拜六要用了>"<)
[打印本頁]
作者:
kevenchin
時間:
2016-3-21 01:05
標題:
關於排名(禮拜六要用了>"<)
不好意思 請教各位達人
在排名上同時符合以下三點要素
函數該如何寫
1.80分以上 才有名次
2.如果有4人參賽 則取2個名次(2個名次不是2個人)
5人參賽取3個名次
9人參賽取5個名次.....以此類推
例如 3個人參賽 則取2個名次 1-2
6個人參賽 則取3個名次 1-2-3
3.遇到同分時 例如有兩個第1名時 不要跳過去
例如 11個人參賽 有兩個第1名時
不要是 1-1-3-4-5-6 (2不見了)
而是要 1-1-2-3-4-5-6 (2有了 而且重複的第1名並沒有剝奪掉第6名的得獎)
作者:
kevenchin
時間:
2016-3-21 01:16
對了
這是我目前網路上四處找找的結果
但是無法完全符合上述 三點要素
https://drive.google.com/file/d/0BzOjqeEr9rhvS09rSG5kOXpmX28/view?usp=sharing
作者:
Hsieh
時間:
2016-3-21 12:13
本帖最後由 Hsieh 於 2016-3-21 12:16 編輯
回復
1#
kevenchin
取得名次的規則看不出來,A4以輸入方式
C2=IF(ISERROR(MATCH(B2,$C$1:C1,)),B2,"")
D2=IF(B2>79,IF(RANK(B2,$C$2:$C$28)>$A$4,"",RANK(B2,$C$2:$C$28)),"")
向下複製
[attach]23508[/attach]
作者:
hcm19522
時間:
2016-3-21 14:33
http://blog.xuite.net/hcm19522/twblog/393599677
作者:
ML089
時間:
2016-3-21 23:47
i2
=IF(H2<80,"",TEXT(1+COUNT(0/FREQUENCY(IF(H$2:H$99>H2,H$2:H$99),H$2:H$99)),"[<="&LOOKUP(COUNT(H$2:H$99),{4,5,9},{2,3,5})&"];"))
陣列公式輸入,先按ctrl+shift不放,在按enter 以三鍵齊按方式輸入公式
條件一、80分以上 才有名次
公式: =IF(H2<80,"", ...)
條件二、如果有4人參賽 則取2個名次(2個名次不是2個人)
5人參賽取3個名次
9人參賽取5個名次.....以此類推
例如 3個人參賽 則取2個名次 1-2
6個人參賽 則取3個名次 1-2-3
公式: LOOKUP(COUNT(H$2:H$99),{4,5,9},{2,3,5})
條件三、遇到同分時 例如有兩個第1名時 不要跳過去
例如 11個人參賽 有兩個第1名時
不要是 1-1-3-4-5-6 (2不見了)
而是要 1-1-2-3-4-5-6 (2有了 而且重複的第1名並沒有剝奪掉第6名的得獎)
公式: TEXT(1+COUNT(0/FREQUENCY(IF(H$2:H$99>H2,H$2:H$99),H$2:H$99)),"[<="& 取幾名 &"];"))
作者:
kevenchin
時間:
2016-3-22 01:15
感謝各位大大的幫忙
不過 ML089 大大
請問 為什麼 如果 某一組 只有 1個 2個 或是 3個人
也就是 4個以上 才可以正常運作呢
作者:
kevenchin
時間:
2016-3-22 01:31
=IF(H2<80,"",TEXT(1+COUNT(0/FREQUENCY(IF(H$2:H$99>H2,H$2:H$99),H$2:H$99)),"[<="&LOOKUP(COUNT(H$2:H$99),{1,2,3,4,5,6,7,8,9,10},{1,1,2,2,3,3,4,4,5,5})&"];"))
仔細看了 ML089 大大 特別在下方每一個我需要的條件詳細的註解
呵呵 學到東西了 學到東西了 ^^
感恩~感恩~感恩.....orz
作者:
kevenchin
時間:
2016-3-22 01:52
本帖最後由 ML089 於 2016-3-22 09:52 編輯
=IF(I2=1,"第一名",IF(I2=2,"第二名",IF(I2=3,"第三名",IF(I2=4,"第四名",IF(I2=5,"第五名","")))))
本來這個 在
I2是 =IF(H2>=80,IF(RANK(H2,$H$2:$H$11)<=5,RANK(H2,$H$2:$H$11)),"")
的時候 是正常的
現在卻失效了
因為有時候利用Word合併列印 印獎狀 的時候
需要用到中文名次第一名 第二名 ....... 第五名
作者:
ML089
時間:
2016-3-22 07:34
本帖最後由 ML089 於 2016-3-22 08:40 編輯
回復
8#
kevenchin
Text函數回傳的值是文字,"1","2","3",
將你原來的公式中的1,2,3數字改為文字"1","2","3"即可。
我公式中的Text函數也可直接將1,2,3改為輸出為"第一名","第二名","第三名"
我到公司查一下再補給你。
範例
=TEXT(ROW(),"[DBnum1]第0名;")
將公式中TEXT函數外加另一個TEXT函數如下
=IF(H2<80,"",
TEXT(
TEXT(..., ...)
,"[DBnum1]第0名")
)
作者:
ML089
時間:
2016-3-22 08:52
=LOOKUP(COUNT(H$2:H$99),{1,2,3,4,5,6,7,8,9,10},{1,1,2,2,3,3,4,4,5,5})
也可以簡化為
=LOOKUP(COUNT(H$2:H$99),{1,3,5,7,9},{1,2,3,4,5})
作者:
kevenchin
時間:
2016-3-24 13:30
感謝 ML089 大大
基本上星期六的比賽是OK啦....orz 感恩
但是 有另一個問題想請教 (另一個比賽)
假設我要設定 I 是數字名次(當然是用你的就OK了)
但是 J 是要中文等第
有名次的 第一名.第二名......
沒有名次的
80分以上 特優
70分以上 優等
60分以上 甲等
那 J 應該要怎麼寫呢
作者:
handmuch
時間:
2016-3-24 17:29
本帖最後由 handmuch 於 2016-3-24 17:38 編輯
用很多輔助欄法!!
三張圖片是在不同人數狀況下的截圖
[attach]23561[/attach][attach]23560[/attach][attach]23562[/attach]
作者:
ML089
時間:
2016-3-24 18:19
回復
11#
kevenchin
J2 =IF(I2="",LOOKUP(H2,{0,60,70,80},{"","甲等","優等","特優"}),TEXT(I2,"[DBnum1]第0名"))
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)