EXCEL高手请进!~ 中文与数字 互相代换(非壹贰叁)

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:10:01
代换条件:在0~9的数字中: 0,1,2=小 3,4,5,6=中 7,8,9=大

假定:小小小=1,小中小=2,小中大=3……大大大=27 共有27中变化

如下求函数公式:
列 A B C D E
2 5 9 = 小中大 = 3
0 6 1 = 小中小 = 2
1 2 1 = 小小小 = 1
9 8 7 = 大大大 = 27
7 5 2 …… ……
6 6 1 …… ……

谢了先。顺便问下不用VBA能不能写出来?

首先我觉得楼主题目中对于27种变化举的几个例子似乎不太合理。我觉得合理的序列应该是:
小小小=1
小小中=2
小小大=3
小中小=4
小中中=5
小中大=6
小大小=7
小大中=8
小大大=9
中小小=10
中小中=11
中小大=12
中中小=13
中中中=14
中中大=15
中大小=16
中大中=17
中大大=18
大小小=19
大小中=20
大小大=21
大中小=22
大中中=23
大中大=24
大大小=25
大大中=26
大大大=27

如果明确了这一点的话,那么:
D1=IF(A1 - 7 >= 0, "大", IF(A1 - 3 >= 0, "中", "小")) & IF(B1 - 7 >= 0, "大", IF(B1 - 3 >= 0, "中", "小")) & IF(C1 - 7 >= 0,"大", IF(C1 - 3 >= 0, "中", "小"))

E1=9 * IF(A1 - 7 >= 0, 2, IF(A1 - 3 >= 0, 1, 0)) + 3 * IF(B1 - 7 >= 0, 2, IF(B1 - 3 >= 0, 1, 0)) + IF(C1 - 7 >= 0, 2, IF(C1 - 3 >= 0, 1, 0)) + 1

所以,E列的计算完全可以不需要D列的参与。利用“三进制”的概念反而更简单一些。不需要LOOKUP什么的。

D2
=IF(OR(A2=1,A2=2,A2=3),"小",IF(OR(A2=4,A2=5,A2=6),"中","大"))&IF(OR(B2=