excel 输入文字转换成数字

每次输入文字时,在对应列出现对应数字,还可列出多项对应。就像映射关系:1-小明,2-小刚,3-小红。
我如果在excel B1输入小红,小刚。在A1能显示1,2
就用excel的功能,不要什么VB什么编程的

方法1:建立对应表,如图的E:F列,然后在B2单元格输入

=INDEX(E:E,MATCH(A2,F:F,0))

方法2:直接在公式中建立查找对应条件,在B2单元格输入

=VLOOKUP(A3,{"小明",1;"小刚",2;"小红",3},2,0)

追问

可是这样没法多选了,我试过这样,现在就是停留在怎么多选的问题上

追答

那就像我的方法1所述,建立一个条件源,然后进行查找和引用,省力省心。

 

如果是两个姓名的,可以通过条件函数来识别,在B4单元格输入

=IF(FIND(",",A4),INDEX(E:E,MATCH(LEFT(A4,FIND(",",A4)-1),F:F,0))&","&INDEX(E:E,MATCH(RIGHT(A4,LEN(A4)-FIND(",",A4)),F:F,0)),INDEX(E:E,MATCH(A4,F:F,0)))

追问

这段函数您确定无误吗?我怎么输入进去还是无法显示呢,做的跟您这个一模一样

追答

公式已经考虑了单选和双选。
在B4单元格输入
=IF(FIND(",",A4),INDEX(E:E,MATCH(LEFT(A4,FIND(",",A4)-1),F:F,0))&","&INDEX(E:E,MATCH(RIGHT(A4,LEN(A4)-FIND(",",A4)),F:F,0)),INDEX(E:E,MATCH(A4,F:F,0)))
表示:如果有",",就将逗号前后截取的部分分别引用数据并用逗号隔开,如果没有逗号,直接返回对应数字。
你直接复制公式吧,避免输入原因引起错误,我的公式如果是错误的,截图就不会显示结果了。

追问

可是多选呢?就是,我建了一个特别长的对照表。引用的时候会出现多选,不一定是一个还是几个,怎么办呢?

追答

你可以将附件发到[email protected],我帮你判断一下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-17
函数几乎无法实现,除非你加入一些类似 “小红、小刚--1、2”这些。
在这推荐find函数,如果你最多只有两个名字,可以用if find来判断是否为多名字,然后用多个VLOOKUP函数&起来,那么可能还勉强能实现。
实在不行还是VBA吧。把具体表格发出来,我可能还可以帮你变通一下。
第2个回答  2014-02-17
你可以用数据-分列将1-小明分开,然后用VLOOKUP函数啊。
只要输入小明,自动出现1
这个很容易。
你试一下,哪一步不懂再问。追问

我试了vlookup只能单选,怎么对应多选啊

追答

什么多选?你是说一个小明对应的条件不是唯一的,可能对应1,2,3,4多个选项是吗?

追问

是说,我如果输入的是“小明,小刚...”会出现“1,2,...”任意一个都能出现

追答

姓名是否都是两个字的?

第3个回答  2014-02-17
把映射关系编辑在一个表中,如sheet2,a列放姓名,b列放数字
本表a1用公式=vlookup(b1,sheet2!$a:$b,2,false),下拉填充公式追问

没出现啊,显示n/a了

第4个回答  2014-02-17
* 1或 - 而不是在一个细胞,如公式的内表面批量转换,你可以输入一个空单元格,复制,选择你要转换的区域,粘贴 - 乘追问

不明白,我的意思是1对应着小明,当我想输入“小明”的时候在指定位置会出现“1”,当我输入了“小刚,小明”,在指定位置会出现“1,2”

相似回答