作者JieJuen (David)
看板Office
标题Re: [问题] excel有类似查表的功能吗?
时间Sat Aug 30 16:16:28 2008
单纯就此表而言,特例公式
=MIN(MAX(0,20*(次数-4+MATCH(年龄,{16,21,26}))),100)
好处:
1. 年龄可超过30岁 无上限
2. 次数少於0分之次数,传回0分
3. 次数大於100分之次数,传回100分
缺点:
1. 年龄不可小於16岁
2. 只能用於此表,不具普适性
若用查表方式
A B C D E F G H
1 16 21 26 年龄 次数 成绩
2 100 8 7 6 25 8 100
3 80 7 6 5 16 8 100
4 60 6 5 4 18 5 40
5 40 5 4 3 27 4 60
6 20 4 3 2
7 0 3 2 1
=INDEX(成绩表,MATCH(次数,OFFSET(成绩表,,MATCH(年龄,年龄表)),0))
H2格之定义名称
年龄 =单杠!F2
年龄表 =单杠!$B$1:$D$1
成绩表 =单杠!$A$2:$A$7
次数 =单杠!G2
好处:
1. 年龄可超过30岁 无上限
2. 可套用至不同项目
3. 扩充容易 更改容易
缺点:
1. 年龄不可小於16岁
2. 表格需完整,例如次数0及次数50之分数可能都要包含,
否则有该次数时查不出来
http://i.am.ntu.googlepages.com/MatchOffset.xls
※ 引述《verdant (死脑筋男孩)》之铭言:
: 您所使用的软体为:excel
: 版本:2003
: 问题:
: 小弟目前在军中服役中
: 连上的训练常常为了要算体能成绩而感到困扰
: 成绩的算法依年龄而有所不同
: 主要是用查表的方式来算
: 成绩对照表大概像这个样子
: 单杠次数
: 年 龄
: 16~20 21~25 26~30
: 成 100 8 7 6
: 80 7 6 5
: 绩
: 60 6 5 4
: 40 5 4 3
: 20 4 3 2
: 0 3 2 1
: 我想要在某个储存格输入年龄
: 另一个储存格输入单杠次数
: 就能够得出最左边的成绩这样
: 请问这样的函式应该要怎麽写呢?
: 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.47.35.147
1F:→ JieJuen:排序後,更改公式,容许次数没有上限,见附档。 08/30 16:59
2F:推 verdant:谢谢你 不过楼上那位大哥的式子比较具一般性 08/30 23:04
3F:→ JieJuen:呵 感谢您的回应~我很希望知道是哪一方面较不适用,能否多 08/30 23:41
4F:→ JieJuen:描述一点现实的情况,区别出二篇文章的适用范围?我喜欢多 08/30 23:42
5F:→ JieJuen:知道一点之前想不到的状况,感谢您^^ 08/30 23:43
6F:→ verdant:因为成绩不一定是等差 也就是说有可能 0 15 30 60等等 08/31 00:10
7F:→ JieJuen:喔~ 那法二的查表方式是否可用? 08/31 00:12
8F:→ verdant:例如说打靶 1发可能是30分 但是3发却变成60分了 08/31 00:12
9F:→ JieJuen:嗯 法一我也提到不具普适性,的确~ 08/31 00:12
10F:→ verdant:这位大哥抱歉 ^^" 没看清楚方法二 08/31 00:14
11F:→ verdant:的确也是OK的 抱歉刚刚赶着试做所以忽略了 <(_ _)> 08/31 00:15
12F:→ verdant:实在很不好意思 08/31 00:15
13F:→ JieJuen:呵呵 没关系^^" 我也在猜法二我没有标示的很清楚 容易漏掉 08/31 00:15
14F:→ JieJuen:这样也提醒写的人把一般性的放前面较好^^ 08/31 00:16