请问在excel中的vb编的一个程序怎么编?谢谢!

如:在表中有几行数据xxxxxxxxxxN123456xxxxxxxxxxM123423xxxxxxxxxxx273914xxxxxxxxxxx238423其他字母我用的... 如:在表中有几行数据xxxxxxxxxxN123456
xxxxxxxxxxM123423
xxxxxxxxxxx273914
xxxxxxxxxxx238423
其他字母我用的x代替。
问:如何编程查找数据中的N和M,如果数据中有N就用A表示,并且输出N及以后的数。如果数据有M就用B表示,并且输出M及其后面的数字。如果没有
M或N,就输出NONE。
先谢谢了,请大家帮助,谢谢!!(帮别人问的,如果题有不清告诉我,我再补充)
谢谢!
比如这是字符串:
************N123455************** 这样就返回 “A”
*************M123456************* 也返回“A”

但是:
**************N*****123**56****** 这样就不行

就是说:
在单元格A中,查找带有“N或者M”的内容,而且,“N”和“M”后面必须连续出现5个数字,必须是数字,不能是文本或者字母,满足条件,返回“A”,不满足,返回“B”

========================================================

一楼的回答只是找出字母而已,但是我遇到这个问题最主要就是要挑出特征是含有“N#####”或者“M#####”这样的单元格,难就难在特征中有数字也有字母,ISNUMBER的确能查出是否数字,但是我的单元格全是英文+数字,只有带“N######”或者“M#####”的是印度产品,但是产品太多(3W多行),所以想用VB做个小程序,自动查出含有“N#####”或者“M#####”的产品描述,返回特定值,比如返回“印度”。

如果一楼也知道这样用函数怎么做,请告诉我。

从=开始具体写出函数内容,谢谢。
展开
 我来答
henqideyx
2006-09-14 · TA获得超过1098个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:471万
展开全部
如果数字在a1单元格,后面必须是5个数字,公式如下:

=IF(ISERROR(FIND("N",A1))=FALSE,IF(AND(ISNUMBER(INT(MID(A1,FIND("N",A1)+1,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+2,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+3,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+4,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+5,1)))),MID(A1,FIND("N",A1),6),""),IF(ISERROR(FIND("M",A1))=FALSE,IF(AND(ISNUMBER(INT(MID(A1,FIND("M",A1)+1,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+2,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+3,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+4,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+5,1)))),MID(A1,FIND("M",A1),6),""),""))

如果是a3,就把a1全部替换成a3

如果数字在a1单元格,后面必须是6个数字,公式如下:
=IF(ISERROR(FIND("N",A1))=FALSE,IF(AND(ISNUMBER(INT(MID(A1,FIND("N",A1)+1,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+2,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+3,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+4,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+5,1))),ISNUMBER(INT(MID(A1,FIND("N",A1)+6,1)))),MID(A1,FIND("N",A1),6),""),IF(ISERROR(FIND("M",A1))=FALSE,IF(AND(ISNUMBER(INT(MID(A1,FIND("M",A1)+1,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+2,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+3,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+4,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+5,1))),ISNUMBER(INT(MID(A1,FIND("M",A1)+6,1)))),MID(A1,FIND("M",A1),6),""),""))

跟上一样,如果数据不是A1,把A1全部替换成单元格
上班人快乐
2006-09-12 · TA获得超过3047个赞
知道小有建树答主
回答量:443
采纳率:0%
帮助的人:185万
展开全部
还是很简单,请告诉我,印度的产品到底是什么代号。

M后都是数字
还是M后至少5个数字

=RIGHT(A1,SEARCH("M",A1))

我用函数解决:
SEARCH("M",A1)在A1中找M的位置
IF(条件,"A","B")按条件输出A B
ISNUMBER判断是不是数字
...
...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式