24小时热门版块排行榜    

查看: 505  |  回复: 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的回帖

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的回帖
查看全部 3 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +31 医学老男孩 2026-08-13 69/3450 2026-08-16 00:16 by mo_mo_mo_mo
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +9 majunge000 2026-08-11 11/550 2026-08-15 23:20 by botar
[基金申请] 时间戳又变了8-15 +12 archvillain 2026-08-15 23/1150 2026-08-15 20:47 by foyo404
[基金申请] 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
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +7 Ldrop2023 2026-08-13 7/350 2026-08-15 15:57 by mzhh2000
[基金申请] 关于Filecode分析方法 +10 majunge000 2026-08-10 13/650 2026-08-15 12:26 by hanpeng972
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +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 且听虎啸
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 帮忙看看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
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见