![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
【excel问题】假设A列有若干数据,我现在想以A列的数据为基础,自动给B列赋予数据。 比如: A1=1 A2=2 A3=
等等等等,判断条件是,当A=1的时候,B的数据前面自动加一个“a”A=2的时候,B的数据前面自动加一个“b”以此类推,我曾经用if语句,可是只支持7层,也就是只能做7次判...
等等等等,判断条件是,当A=1的时候,B的数据前面自动加一个“a”
A=2的时候,B的数据前面自动加一个“b”
以此类推,
我曾经用if语句,可是只支持7层,也就是只能做7次判断,可我希望能做到无限次判断,请教如何实现。
谢谢一楼的回答,可是你说的c1列变成了新的一列,我是希望能在b列能够加上一个字母,而不是新产生一列,也就是原b列的数据也发生变化了 展开
A=2的时候,B的数据前面自动加一个“b”
以此类推,
我曾经用if语句,可是只支持7层,也就是只能做7次判断,可我希望能做到无限次判断,请教如何实现。
谢谢一楼的回答,可是你说的c1列变成了新的一列,我是希望能在b列能够加上一个字母,而不是新产生一列,也就是原b列的数据也发生变化了 展开
6个回答
展开全部
如果你的字母是a~z,那么很简单,a~z字母的ASCII号是连续有规律的,通过char函数转换功能,即可
例如:字母a,可以通过char(97)得到,你要把1(假如a1单元格的值是1)变成a,就是char(a1+96),如果有其他需求根据规律自己转换。
如果B列原来就有数据,建议用VBA来实现比较简单,公式和函数不能是使没有公式的单元格发生变化。如果没有直接在B列输入我刚才说的公式即可。如果有还可以用个临时列来做,做完再复制到B列,C列公式=char(a1+96)&B1
附ASCII对照
十进制值 字母
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
例如:字母a,可以通过char(97)得到,你要把1(假如a1单元格的值是1)变成a,就是char(a1+96),如果有其他需求根据规律自己转换。
如果B列原来就有数据,建议用VBA来实现比较简单,公式和函数不能是使没有公式的单元格发生变化。如果没有直接在B列输入我刚才说的公式即可。如果有还可以用个临时列来做,做完再复制到B列,C列公式=char(a1+96)&B1
附ASCII对照
十进制值 字母
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
展开全部
既然你要做很多的判断,我觉得可以用vlookup,即做一个基本数据对应表,
比如在sheet2的A列把所有可能出现的数字都列出,B列写入对应的字母
然后在sheet1中就很容易做了
比如在B2输入
=vlookup(a2,sheet2!a:b,2,0)
即可
以后增加sheet2中的参数即可
比如在sheet2的A列把所有可能出现的数字都列出,B列写入对应的字母
然后在sheet1中就很容易做了
比如在B2输入
=vlookup(a2,sheet2!a:b,2,0)
即可
以后增加sheet2中的参数即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用lookup函数
比如1-5要返回a-e
A1到A5输入1 2 3 4 5
在B1输入公式
=LOOKUP(A1,{1,2,3,4,5,6},{"a","b","c","d","e"})
如果要在B列后加字母 可以在C1输入
=B1&LOOKUP(A1,{1,2,3,4,5,6},{"a","b","c","d","e"})
比如1-5要返回a-e
A1到A5输入1 2 3 4 5
在B1输入公式
=LOOKUP(A1,{1,2,3,4,5,6},{"a","b","c","d","e"})
如果要在B列后加字母 可以在C1输入
=B1&LOOKUP(A1,{1,2,3,4,5,6},{"a","b","c","d","e"})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C1输入
=INDEX(B:B,SMALL(IF($A$1:$A$100="张三",ROW($1:$100),4^8),3))
数组公式,输入公式后先不要回车,按Ctrl+Shift+Enter结束计算。
=INDEX(B:B,SMALL(IF($A$1:$A$100="张三",ROW($1:$100),4^8),3))
数组公式,输入公式后先不要回车,按Ctrl+Shift+Enter结束计算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果想直接变:还是用vba吧,在Worksheet_Change里,
举一个例子B1的,先赋一个值:sss=b1,然后用aaa=LOOKUP(A1,{1,2,3,4,5,6},{"a","b","c","d","e"}),然后sss=aaa&sss 就得到你的数了
举一个例子B1的,先赋一个值:sss=b1,然后用aaa=LOOKUP(A1,{1,2,3,4,5,6},{"a","b","c","d","e"}),然后sss=aaa&sss 就得到你的数了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询