24小时热门版块排行榜    

查看: 376  |  回复: 2

龙克

金虫 (小有名气)

[求助] 一个Excel或者VBA语句的编程问题

有四个特征分别为A、B、C、D,各自的取值情况如下:
A        1        1.2        1.5
B        1.1        1.2        0
C        2        1       
D        1.5        2.0       
A、B、C、D各取一个值,组成一个组合,每个组合都有特定的编码,如下:
编码        A        B        C        D
001        1        1.1        2        1.5
002        1.2        1.1        2        1.5
003        1.5        1.1        2        1.5
004        1        1.2        2        1.5
005        1.2        1.2        2        1.5
006        1.5        1.2        2        1.5
007        1        0        2        1.5
……                               
现给出任何一种可能的组合,要求返回所对应的编码。

Excel的if语句可以实现,但组合太多,写起来语句很长,还有没有跟简洁的方法?


JE]WN{P}{}D{XY)B]_RG(}U.jpg
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢骠骑将军 2013-02-01 07:35:31
龙克: 金币+10, ★★★很有帮助, 思路很清晰,谢谢 2013-02-01 15:44:45
一共就3*3*2*2=36种
如果你编码的时候有规律,查找就有规律了.
其实就是个全排列怎么取顺序的问题
例如.你先用A的第一个值与BCD的全排列
001 1***
002 1***
....
012 1***
然后是A第二个与BCD的全排列
013 1.2***
014 1.2***
024 1.2***
最后是A第三个与BCD的全排列
然后BCD的全排列也用上面的方法编码
显式B第一个值,然后是CD全排列
1.1**
...
1.1**
1.2**
...
1.2**
...
==================
这样有了规律,那么ABCD一给你,你分析一下这4个数就能得到唯一的ID了
例如A=1时,id在001-012之内,继续判断B,以此类推就确定了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-01-31 22:43:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wizardfan

至尊木虫 (著名写手)

优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2013-02-01 07:35:42
龙克: 金币+40, ★★★很有帮助, 帮别人发的求助贴,谢谢拉 2013-02-01 15:42:19
看你现在的编码规律,是先A变,然后B变,再C,最后D
这个可以自己做点转换,比如当A为1的时候,编码就是1,4,7。。。 就是3*n+1, 1.2的时候是3*n+2, 1.5是3n+3
那 当你才用  3*A, 再四舍五入,最后 -2得到A的得分
1 的话就是   3    =>3      =>            1
1.2的话        3.6 =>4     =>            2
1.5的话        4.5=>5      =>            3
类似的得到B,C, D的分数,把它们相加就是最后的编号了。
这个只是一个思路,变化公式可以多种多样。比如D的最简单
if (d == 1.5) dScore = 0
else dScore = 18
3楼2013-02-01 04:12:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 龙克 的主题更新
信息提示
请填处理意见