求教excel a1输入某一字串 B1显示对应文字

如题:具体问题是:我要在A1中输入一字串(这字串可能是10位,15位,或8位数字,或带有英文);不管怎样,只要A1的字串中出现包含有指定的某一组合数字,B1就会显示出对应该的文字或字母或文字加字母出来。如:A1的15位字串中包含有345678这组数字,不管这345678的前面或后面是什么字串,只要有这组连接的345678,B1就会自己显示出“HI,123你好”如果A1出现CC3456,B1就自己显示“欢迎光临mike”......我有很多组这样的需要对应的字串,而且,我还在要A2 B2 ,A3 B3....中一直用到,希望高手指点,,

应先建立一个编码对应文字的数据库:假如F列为编号;G列为编号对应的文字,假设本数据库为当前工作表FI:G8区域:
B1公式:数组公式,ctrl+shift+enter组合键结束输入
=INDEX($G$1:$G$8,IF(ISNUMBER(FIND($F$1,$A1))=TRUE,1,SUM(MATCH(ISNUMBER(FIND($F$1:$F$8,$A1))=TRUE,ISNUMBER(FIND($F$1:$F$8,$A1)),0))-COUNTA($F$1:$F$8)+1))
格式柄下拉复制即可,
但是你编号时要特别注意,不能这样编:123:喜洋洋;1234:灰太狼
这样如果A1编码包含1234,函数公式会无法判断到底显示哪一个!
上述公式可根据实际情况自行更改。追问

我刚好也要面对这样的问题:比如,123是羊家族,1234是喜羊羊,1235是美羊羊,12356是美羊羊的儿子,,,,这些数字可能是有关联的(当然也有的是无关联的)。如果只在A1输入123,B1就只显示是“羊家族”如果多个4,1234,那B1就要显示出是“喜羊羊”如果是12356,B1就要显示出是“美羊羊的儿子”就算是AA12356或A12356A或12356AA,都要显示是“美羊羊的儿子”

追答

如果你需要这样子编码,应先建立一个编码对应文字的数据库:假如F列为编号;G列为编号对应的文字,假设本数据库为当前工作表FI:G8区域:
B1公式:数组公式,复制公式:ctrl+shift+enter组合键结束输入
=INDEX(G:G,IF(AND($A1"",ISNUMBER(FIND($F$1,$A1))=TRUE),1,IF(SUM(MATCH(ISNUMBER(FIND($F$1:$F$8,$A1))=TRUE,ISNUMBER(FIND($F$1:$F$8,$A1)),0))=COUNTA($F$1:$F$8),"",MAX(MATCH(ISNUMBER(FIND($F$1:$F$8,$A1))=TRUE,ISNUMBER(FIND($F$1:$F$8,$A1)),0)))))
格式柄下拉复制即可,
但是你编码还需有规律,12356是美羊羊的儿子,1235是美羊羊,1234是喜羊羊,123是羊家族;这样子降序从上往下排。
试一下吧,不满意,再探讨。

追问

兄弟,可以看一下我上面的插图吗,可以实现那样的吗?

追答

假设对照表放在Sheet2 A1:B9单元格里面:
Sheet1 B2单元格复制此公式:ctrl+shift+enter组合键结束输入
=INDEX(Sheet2!B:B,IF(AND($A2"",ISNUMBER(FIND(Sheet2!$A$1,$A2))=TRUE),1,IF(SUM(MATCH(ISNUMBER(FIND(Sheet2!$A$1:$A$9,$A2))=TRUE,ISNUMBER(FIND(Sheet2!$A$1:$A$9,$A2)),0))=COUNTA(Sheet2!$A$1:$A$9),"",MAX(MATCH(ISNUMBER(FIND(Sheet2!$A$1:$A$9,$A2))=TRUE,ISNUMBER(FIND(Sheet2!$A$1:$A$9,$A2)),0)))))
格式柄下拉复制公式
辅助列C列,C2单元格公式:
=IF(ISERROR($B2),"",$B2)
格式柄下拉复制公式
隐藏B列就可以了
但是你编码还需有规律,12356是美羊羊的儿子,1235是美羊羊,1234是喜羊羊,123是羊家族;这样子降序从上往下排。

追问

我试了一下,如我发的图中,我在A1处输入的字串要分大小写的,可不可以不分大小写的?
领导你的技术太强了,基本能开能实现我想要的功能了,但还有一点点不足,就是:
照目前的工式,假设我SHEET2的A列中,有AAB123这个字串,它对应的是“小猪”。如果我在sheet1的A1中输入aaB123。B1就不会显示“小猪”。
而我想要它不管是AAB123,还是Aab123、AAb123、aaB123……B1都显示“小猪。可以实现吗?

追答

实现倒是可以的,这么长的公式连我自己都看着晕
Sheet1 B2单元格复制此修改后的公式:ctrl+shift+enter组合键结束输入
=INDEX(Sheet2!B:B,IF(AND($A2"",ISNUMBER(FIND(LOWER(Sheet2!$A$1),LOWER($A2)))=TRUE),1,IF(SUM(MATCH(ISNUMBER(FIND(LOWER(Sheet2!$A$1:$A$9),LOWER($A2)))=TRUE,ISNUMBER(FIND(LOWER(Sheet2!$A$1:$A$9),LOWER($A2))),0))=COUNTA(Sheet2!$A$1:$A$9),"",MAX(MATCH(ISNUMBER(FIND(LOWER(Sheet2!$A$1:$A$9),LOWER($A2)))=TRUE,ISNUMBER(FIND(LOWER(Sheet2!$A$1:$A$9),LOWER($A2))),0)))))
格式柄下拉复制,其他的还按我说的做。
看一下是否满意?

追问

问到最后,发现好像用不到EXCEL服务器上,,这些工式的确是用不到EXCEL服务器上是吗?

追答

虽然可以实现部分功能,但是受函数本身及逻辑判断的的制约,会很繁琐,不建议用函数解决此类问题,上述公式还是可以运行的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-03
先建立数据表Sheet1:
A列 B列
310 公安局
311 工商局
312 电信局
313 电业局
314 执法局
315 税务局
316 卫生局
317 环保局
318 社保局
319 文化局

在输入表中Sheet2:
A列
输入字符串
B列
=VLOOKUP(A1,Sheet1!$A:$B,2,FALSE)

我只想到这个方法,还望高手指教!
第2个回答  2012-07-04
你这个需要组合技了,
FIND查找,然后再用INDEX取,再VLOOKUP
根据补充:
{B28=VLOOKUP(INDEX(A19:A23,MATCH(FALSE,ISERROR(FIND(A19:A23,A28,1)),0),),A19:B23,2,0}

求教excel a1输入某一字串 B1显示对应文字
应先建立一个编码对应文字的数据库:假如F列为编号;G列为编号对应的文字,假设本数据库为当前工作表FI:G8区域:B1公式:数组公式,ctrl+shift+enter组合键结束输入 =INDEX($G$1:$G$8,IF(ISNUMBER(FIND($F$1,$A1))=TRUE,1,SUM(MATCH(ISNUMBER(FIND($F$1:$F$8,$A1))=TRUE,ISNUMBER(FIND...

如何在Excel中实现A列中包含某字, B列显示特定字符
首先,打开你的表格,确保A列包含需要检查的名字。在B列的起始位置,比如B1,你需要输入检查逻辑。在B1单元格的公式栏中,输入以下公式:=IF(ISERROR(FIND("某",A1)),"无","有")。这个公式的工作原理是,如果在A1单元格中找不到"某"这个字,函数FIND会返回一个错误值,ISERROR函数会检测到这个错...

Excel表格在一个单元格输入任意内容,另一个单元格自动填我设定的内容...
如果希望B1单元格在A1有内容时显示特定信息,否则保持空白,可以使用IF函数。例如,在B1单元格中输入公式`=IF`。这里的`"我设定的内容"`可以替换为你希望B1显示的具体文本。这个公式的意思是:如果A1单元格不为空,则B1显示`"我设定的内容"`;如果A1单元格为空,则B1保持空白。此外,如果需要根据A1...

excel在A1里输入不同数值则B1中显示相应的字符?
B1公式:=CHOOSE(a1,"赵一","王二",……)公式中省略号,根据实现填写需要的人名。

如果通过EXCEL中如何实现在A1中输入一个汉字,B1自动判断生成相应预先设 ...
这需要个列表,最方便。比如你在sheet1里A列输入了省份名,B列对应输入了这些数字。那你在sheet2表的B1输入 =if(a1="","",vlookup(a1,sheet1!A:B,2,0)下拉填充公式。这样,你在sheet2表的A列输入省份名。B列对应会出现你定义好的数值。

excel 中如何设置输入一个字母或数字即可显示设定相对应的文字?
但是,如果在 A1 中输入 “1”,在另一个单元格中比如 B1 中显示“中国”,这个是可以通过 VLOOKUP 公式实现的,如下图,在 E3:F5 区域中,预先定义了“代号”和“类别”的列表;然后在实际输入区域中,在“类别”单元格比如 B3 中定义公式:=VLOOKUP(A3,$E$3:$F$5,2)这时,在 A3 中输入...

在Excel中,如何在一个单元格输入指定符号,在另一个单元格自动显示某个...
在A1中输入指定符号,如:"AAA",在B1输入 =A1 ,那么在B1中就会显示你在A1中输入的"AAA"了。

Excel中,要求:在A1输入某个数字(两位数如11),B1显示相应的其他数字(四...
解释:公式的意思是:如果D1自左面(LEFT)起的2位和A1相等,那么B1就为D1自右面(RIGHT)起的4位,反之为空。如果你原始数据在D列,但不是一一对应的(比如虽然你11-6030在D1,而你想在A1输入14在B1显示5490),就可以用公式:=SUMPRODUCT((--LEFT(D$1:D$99,2)=A1)*RIGHT(D$1:D$99,...

EXCEL中如何根据A1单元格字体颜色,B1显示特定内容?
打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。Sub bs()Dim i, j As LongDim s As StringColumns("F").ClearContentsFor i = 1 To UsedRange.SpecialCells(...

在excel中,如果A1有字符,那么B1就显示特定“是”,怎么设置公式_百度...
B1=if(A1<>"","是","")

相似回答