24小时热门版块排行榜    

查看: 503  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 龙克 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +9 majunge000 2026-08-11 11/550 2026-08-15 23:20 by botar
[基金申请] filecode=后面第一个是大写字母 +6 wangze12014 2026-08-14 7/350 2026-08-15 20:12 by gltch
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
信息提示
请填处理意见