excel中,如果我要取某个特定字符之 前的字段怎么做

作者&投稿:骑丹 (若有异议请与网页底部的电邮联系)
excel中,如果我要取某个特定两字符之间的字段怎么做~

如果是比较有规律的,楼主可以使用VBA程序进行处理,几行代码就搞定,方便快捷。

(一)程序代码如下:
Sub Mid_m()Dim m1, m2, m3On Error Resume NextSet mysheet1 = ThisWorkbook.Worksheets("Sheet1")For m1 = 2 To 1000 If mysheet1.Cells(m1, 1) "" Then m2 = InStr(1, mysheet1.Cells(m1, 1), "区") '判断字符所在的位置 m3 = InStr(1, mysheet1.Cells(m1, 1), "单元") mysheet1.Cells(m1, 2) = Mid(mysheet1.Cells(m1, 1), m2 + 1, m3 - m2 - 1) '截取数字 mysheet1.Cells(m1, 3) = Mid(mysheet1.Cells(m1, 1), m3 + 2, _ Len(mysheet1.Cells(m1, 1)) - m3 - 2) End IfNextEnd Sub
(二)程序运行后的结果如下:

你的问题太复杂了,问的越笼统的问题,回答起来越麻烦,越难得到答案。
字符串有长有短,长的有长的的处理方法,短有短的处理方法,可能并不相同。
某字符有很多种可能,如果你本身遇到的“某字符”是简单的字符,那么处理起来可能很简单,但是你只说“某字符”没有给定范围,长短,特征等可能导致处理起来很麻烦。
同时字符串是否有规律性,是否固定格式等等,都会影响到相应的解决方法。
所以,建议你提问描述具体一些,这样更容易得到最简单的,最正确的答案。

在excel中,取某个特定字符之前的字段可以使用LEFT()和FIND()两个函数组合实现。

具体步骤如下:

1、首先准备一张excel表格和部分临时测试数据,我们希望取特定字符“K”之前的字段,如“设备维修”、“家电保养”等(为了将解题思路更清晰的展示,我们将中间步骤也作为单独的列进行处理);

2、先查找特定字符的位置,在B2单元格中输入,回车确认;

3、回车后,会发现B2单元格已经设置成功并取到了字符“K”的位置,接着在C3单元格输入“=LEFT(A2,B2-1)”,回车确认;

因为之前B2单元格为K所在位置索引,B2-1代表取“K”之前的位置索引。

4、回车后,可以看到K之前的字符就取出来了,那么下面,我们将这两步合并为一步,将B2单元格中的公式代入C2单元格中,直接在D2单元格中输入“=LEFT(A2,FIND("K",A2,1)-1)”,回车确认;

5、这样,针对D2的公式就设置好了,然后将D2公式复制;

6、将D2单元格公式复制后,复制到其他单元格中,整个表格就按照要求做好了。



方法:

1.假设列A是一组产品的编码,我们需要的数据是“-”之前的字段。

2.需要在B1单元格输入公式“=LEFT(A1,SEARCH("-",A1)-1)”然后选中B1至B4单元格,按“CTRL+D”向下填充,就可以得出其它几行“-”之前的字段。

3.如果要得出“-”之后的字段,则在C1单元格输入“=RIGHT(A1,LEN(A1)-SEARCH("-",A1))”,然后选中C1到C4,CTRL+D向下填充。

4.公式解释:

search(特定字符,字符串) 返回指定字符在字符串中第一次出现的位置。以A1为例“-”出现的位置是4.

len(字符串) 返回字符串的长度。以A1为例,A1中字符串的长度为8

left(字符串,N) 返回字符串从左边数起至第N个字符的字段。如LEFT(A1,3)则会返回“abc”

right(字符串,N) 返回字符串从右边数起至第N个字符的字段。如RIGHT(A1,4)则会返回“1256”


5.如果字符串是以“*”或“?”等通配符来隔开的,则公式要输入“=LEFT(A1,SEARCH("~*~",A1)-1)”/"=RIGHT(A1,LEN(A1)-SEARCH("~*~",A1))"


分列的方法


1.首先复制A列到B列,然后确认C列为空行,因为分列后会覆盖C列原有的值,所以必须确保C列为空。

2.选中B列,点击“数据”—“分列”,选中“分隔符号”然后点击下一步

3.在其它选项中输入“-”,然后点击下一步完成分列。



=MID(A2,SEARCH("-",A2)-1,3)

这条公式的意思是:从A2单元格里查找到“-”,然后从它的左边第一位开始向右数3位。

看一下图是你要的结果吗?



要保留"-"? 把它加上去就可以了
如字符串在A1,在a2写如下表达式:
=LEFT(A1,FIND("-",A1,1)-1) & "-" & MID(A1,FIND("-",A1,1)+1,1)

听的不是太明白,你的问题好象关键是如何保留和使用“-”,你在电子表格中双击后,鼠标的光标就可以停留在单元格内,然后你在确定的位置插入就可以了。

excel里如何用函数提取某个符号前的字符串?
答:Excel中可以利用快速填充的方法,实现从某串有规律的字符串中提取某段字符串的功能。软件版本:Office2013 方法如下:1.Excel中A列有数据如下图所示,现在要提取“/"前的数据;可以看到A列单元格中都只有一个”/“,因此完全可以使用快速填充的方法,方便快捷地提取指定字符串。2.现在B1中输入要从A1...

在EXCEL,怎样用公式取某些字段?
答:实例:如果A1=学习的革命,则公式“=RIGHT(A1,2)”返回“革命”,=RIGHTB(A1,2)返回“命”。LEFT 或LEFTB用途:根据指定的字符数返回文本串中的第一个或前几个字符。此函数用于双字节字符。语法:LEFT(text,num_chars)或LEFTB(text, num_bytes)。参数:Text 是包含要提取字符的文本串;Num_...

excel中在字符串中选取某一字符的函数
答:Excel中常用MID、LEFT和right函数提取字符中一个或几个字符,首先我们先了解下这几个函数的用法:MID函数 1)函数结构:MID(text,start_num,num_chars)2)参数说明:text代表一个文本字符串;start_num表示指定的起始位置;num_chars表示要截取的数目 3)实例说明,例如需要从:“字符串选取”中提取“...

Excel中如何提取某个单元格从第N个字符开始的内容?
答:可使用 菜单>>数据>>分列 解决之 方法一:菜单>>数据>>分列>>固定宽度(适用于等长数据)>>下一步>>点击你想要分列的位置,(双击可取消不需要的分列位置)>>完成 方法二:菜单>>数据>>分列>>分隔符号(适用于有特定标识符的数据.比如此案有有一特定的 ">"号>>下一步>>分隔符合:其它,键入 ">"...

Excel中如何提取某个单元格从第N个字符开始的内容?
答:如果所有数据都从第10个字符开始提取,假设数据在A列,则在B1中编辑公式 =MID(A1,10,LEN(A1)-9)回车确认后公式向下复制到合适的单元格即可.注意:LEN(A1)_返回A1中字符个数.

excel 如何提取某个字后面的几个字?
答:可以利用EXCEL中的MID和SEARCH函数共同实现这个功能。SEARCH函数的功能是返回一个字符串在另一个字符串中从左到右第一次出现的位置索引,MID函数则是用于截取字符串的。假如,在一个包含客户详细住所信息的字符串中,如果你要截取某中的所在市的信息,可以利用下面的公式组合实现(假定该字符串放置于H1单元...

EXCEL vba 取单元格中的某个数
答:三种方法:1、引用本工作表单元格内容:直接就是等号后面,紧跟要引用的单元格。例:a1单元格要引用b1 的单元格,就是在a1里面输入=b1,即可。2、引用本工作薄里面其它工作表里面的单元格内容:只要在单元格前加上工作表名,再加一个感叹号“!”。例: sheet1的a1单元格,要引用sheet2 里面的b1单元...

EXCEL中,怎么只取一串数字或是字符中的某一个。
答:=MID($A1,COLUMN(A1),1)B1输入上面公式,并右拉!

Excel表格中有数字123456789,我要提取579的话,如何提取到一个单元格...
答:提取5的公式: =mid(a1,5,1)提取7的公式:=mid(a1,7,1)提取9的公式:=right(a1)将5,7,9提取到一个单元格的公式:=mid(a1,5,1)&mid(a1,7,1)&right(a1)不过我觉得你要的可能不是这个,具体你要的是什么,你得描述清楚才行。