精华内容
下载资源
问答
  • Excel单元格里面提取或去掉某些字符

    万次阅读 2016-11-12 12:34:09
     表述为:从单元格A3的最左边起,提取2个字符。 2、最右边起取字符  =right(源数据格,提取的字符数)  =right(A3,2)   表述为:A3单元格最右边起,提取2个字符。 3、数据中间提取几个字符...


    1、从最左边起取字符

        =left(源数据格,提取的字符数)

        =left(A3,2)

        表述为:从单元格A3的最左边起,提取2个字符。

    2、从最右边起取字符

        =right(源数据格,提取的字符数)

        =right(A3,2) 

        表述为:从A3单元格最右边起,提取2个字符。

    3、从数据中间提取几个字符

        =mid(A3,5,2)

        表述为:提取单元格A3中第五位起后面两位。

        =mid(sheet1! A3,5,2)

        表述为:提取sheet1表的单元格A3中第五位起后面两位。也就是提取第5和第6两个字符。

    4、先从左取字符,再从右取字符

        =RIGHT(LEFT(A3,5),3)

        表述为:首先从A3单元格第一个字符从左往右取5个字符,然后再对取出来的5个字符从右向左取3个字符。

        假如A3中是“abcdefghijkl”,先从左向右取5个变成abcde,然后从右往左取3个,就变成edc了。

    如果不足10个字符的话,那就是最后一个字符了。

     

    5、去掉字符前面的几个字符

          =RIGHT(A3,LEN(A3)-2) 

          表述为:从单元格A3字符的右边起,提起所有的字符数,去掉后面两个字符。LEN表示返回字符串中的字符数。

          例如:字符123456789,变成了3456789

    6、去掉字符后面的几个字符

          =LEFT(A3,LEN(A3)-2) 

          表述为:从单元格A3字符的左边起,提起所有的字符数,去掉后面两个字符。

          例如:字符123456789,变成了1234567

    1、从最左边起取字符

        =left(源数据格,提取的字符数)

        =left(A3,2)

        表述为:从单元格A3的最左边起,提取2个字符。

    2、从最右边起取字符

        =right(源数据格,提取的字符数)

        =right(A3,2) 

        表述为:从A3单元格最右边起,提取2个字符。

    3、从数据中间提取几个字符

        =mid(A3,5,2)

        表述为:提取单元格A3中第五位起后面两位。

        =mid(sheet1! A3,5,2)

        表述为:提取sheet1表的单元格A3中第五位起后面两位。也就是提取第5和第6两个字符。

    4、先从左取字符,再从右取字符

        =RIGHT(LEFT(A3,5),3)

        表述为:首先从A3单元格第一个字符从左往右取5个字符,然后再对取出来的5个字符从右向左取3个字符。

        假如A3中是“abcdefghijkl”,先从左向右取5个变成abcde,然后从右往左取3个,就变成edc了。

    如果不足10个字符的话,那就是最后一个字符了。

     

    5、去掉字符前面的几个字符

          =RIGHT(A3,LEN(A3)-2) 

          表述为:从单元格A3字符的右边起,提起所有的字符数,去掉后面两个字符。LEN表示返回字符串中的字符数。

          例如:字符123456789,变成了3456789

    6、去掉字符后面的几个字符

          =LEFT(A3,LEN(A3)-2) 

          表述为:从单元格A3字符的左边起,提起所有的字符数,去掉后面两个字符。

          例如:字符123456789,变成了1234567

    展开全文
  • 这是我个人运用Excel VBA在EXcel中实现的提取单元格中特定文字,并用”.“来标注此单元格是否存在这个字符的小程序。
  • 往期文章:【操作技巧】批量合并相同内容的单元格【函数应用】跨多个工作表汇总求和【函数学习】函数...重点说明:本篇只针对文本内整数的数字进行提取并求和,如果含小数点,此方式无效。首先:解这道题,需要构思...

    c0050ed243d7df90c8519a23d56966a9.gif

    636bfbe317768d9408caaefa06af143d.png 636bfbe317768d9408caaefa06af143d.png

    往期文章:

    • 【操作技巧】批量合并相同内容的单元格

    • 【函数应用】跨多个工作表汇总求和

    • 【函数学习】函数学习的四步法

    • 【Excel学习】如何去学习Excel ?

    636bfbe317768d9408caaefa06af143d.png 636bfbe317768d9408caaefa06af143d.png

    本篇的主题是将单元格内一串文本,找出所有数字并求和,如下图。

    75ca5020882509121ad74940d0271ec5.png

    难度较高,新手建议仅了解下,先学会数组运用,再研究此知识点。

    废话少说,步入正题。

    重点说明:本篇只针对文本内整数的数字进行提取并求和,如果含小数点,此方式无效。

    首先:解这道题,需要构思方法,本篇以作者的方法进行描述,思路是用LEFT函数逐步提取内容,我们以第一个文本作为例子,如下图:

    106abe44a186d473796ef6b6c65b0c46.png

    对于有一定水平的朋友解决上图应该不难,无非就是利用LEFT+ROW函数进行逐步提取。

    原文本中明明只有14个字符,为什么要做15个呢?因为每个单元格不知道有多少个字符,宁可多不可少,也可以设置99位,只要比所有单元格中文本个数最多的那个更多即可。

    有朋友会说,第14行与第15行是一样的,不会影响计算结果吗?其实不会影响,上图中我们最终的目的是将15个单元格内容从右向左进行提取,只要能对准第8行和第13行,将这两行像左提取数字的位数,数字就能被提取出来,但上图中最右侧可不止这两行是纯数字,那么我们就要一一对应,怎么对应呢?我们再看一个图。

    03214938f3670c9e4ee54b0acf7a2c8e.png

    公式:

    LEFT(A3,ROW($A$1:$A$15))

    LEFT函数第一参数为文本,第二参数为右侧的提取位数时,0值返回的是错误值,第8行的数字3,和第13行的数字2,将是我们真正要提取的内容,错误值很好处理,最终形成数组去掉错误值,再用SUM函数进行求和就能得到我们最终的计算结果。

    看到这里,我们能想到,核心方式就是右侧的提取位数,只要位数出来,问题就迎刃而解,我们需要利用FREQUENCY函数的频率分布,确认每个文本(非数字)之间的频率。

    21b4233794efa2c889c441e3ed95b787.png

    上图是频率的思路,只有8行,无法和15行进行对应,怎么才能对应呢?

    我们先来拆解FREQUENCY函数每个参数得到的结果是什么。

    863cc5b22d19b4af276c8295b09c3a14.png

    说明:上图中描述为了更清晰,均未加绝对引用,在实际操作过程中,公式内所有区域都必须加绝对引用,否则下拉将改变区域。

    公式:

    ISERR(--MID(B3,ROW($A$1:$A$15),1))*ROW($A$1:$A$15)

    思路:左侧得到1~15的行号,右侧A项拆分每个字符,B项使用 两个减号 转换成数字格式(文本为乱码)后,用ISERR函数判断文本逻辑值(乱码的逻辑值是TRUE),C项继续得到1~15行号,D项将B和C两项相乘,即行号顺序不变,纯数字变成0了。这样就能和拆分的文本进行一一对应,如果是文本,则按照1~15数字的顺序排列,遇到数字,则直接显示0,然后利用FREQUENCY函数,用第二参数在第一参数内逐个找频率。

    c437e619cbb67558c807e9852bab0ef7.png

    我们将得到的频率的结果,与我们理想中的结果进行对比,并用RIGHT函数对频率结果进行测试。

    公式:

    FREQUENCY(ROW($A$1:$A$15),ISERR(--MID(A3,ROW($A$1:$A$15),1))*ROW($A$1:$A$15))

    c944dab7bb4de14ab294bf2b27c9502b.png

    完全乱套了,但我们发现,1~5行频率结果有数字1,而不是0,但是我们就算是1,用RIGHT函数提取出来的也是文本字符,不影响,随便是几,只要提取出来的不是纯数字,就能满足我们的要求,6~8行是0,不管它。

    整体来看,能满足我们要求的是数字4和数字3,不仅和理想结果错了一位,还比理想结果大一位,都是有规律的,错一位,我们可以将文本拆解前组合任意单字符,再来看效果。

    7bb76a21c557e91d661af721d48de9a5.png

    前面加一个符号,这样就对称了。

    (我们例题中最多是15位数,当加了一个字符后正好是15位,大家在实绩操作过程中千万不能卡的那么准,尽量大一点,也不能大太多,因为会严重影响速度,比如预测最多有50个字符,我们可以设置成100即可)

    公式:

    LEFT("@"&A3,ROW($A$1:$A$15))

    虽然是对称了,但是频率结果都比理想结果大1位,这样也好办,我们再到右侧组合一个空白字符即可,这里有个细节,如果直接在原文本右侧加空格,是没用的,因为第一位还是“@”,第二位还是字符“@E”,因此我们在用LEFT函数逐步提取完成后,再来组合空白字符。

    (为什么是空白字符呢?因为RIGHT函数提取后,文本无法转换成数字,空白可在转换时自动去掉,数字+空白经过转换等于数值)

    2c3004baed91b4b702a550acf8a5daba.png

    每一个提取的文本后面加上一个空白字符后,频率为1的提取的都是空白,对应的数字4和数字3则提取的我们最终的数字(后面带空格)

    公式:

    LEFT("  "&A3,ROW($A$1:$A$15))&" "

    为了方便大家复制,我们将上述中最终版公式列举出来。

    左侧公式:

    LEFT("  "&A3,ROW($A$1:$A$15))&" "

    右侧公式:

    FREQUENCY(ROW($A$1:$A$15),ISERR(--MID(A3,ROW($A$1:$A$15),1))*ROW($A$1:$A$15))

    然后使用RIGHT函数进行组合组合:

    RIGHT(左侧公式,右侧公式)*1

    公式右侧乘1的目的是将文本数字转换成真正数字

    (空白不影响,直接自动去掉了)

    得到的一组数中有乱码和纯数字,再嵌套一层IFERROR函数去掉乱码,最后嵌套一层SUM函数进行求和。

    最终完整版公式:

    =SUM(IFERROR(RIGHT(LEFT(" "&A3,ROW($A$1:$A$15))&" ",FREQUENCY(ROW($A$1:$A$15),ISERR(MID(A3,ROW($A$1:$A$15),1)*1)*ROW($A$1:$A$15)))*1,""))

    结语:

    ◆有的人会觉得,我可以用辅助,或者16版本的CTRL+E,又或者VBA正则去处理,我想说,函数玩的就是思路,当你水平上升到一定程度,当年看似非常难的问题,现在你可能几分钟就能解决,先苦后甜,是一样的道理;

    你可以用16版快捷键,但遇到快捷键无法处理的怎么办?

    你可以用辅助,如果不需要继续深入学下去,辅助是最合适的,有个段子,没有什么是IF解决不了的,辅助也同样适用,但只能局限于当前水平;

    你也可以用VBA正则去处理,首先你得有VBA的水平,没有水平等于白说。

    函数学到一定程度去学VBA最合适(至少VBA会调用工作表函数),如果函数基础差,甚至常用函数都不会,学VBA只会举步维艰,这是作者总结的经验,希望大家受益!

    ◆学而不用则殆,希望大家学习后利用到自己的工作中,哪怕是点滴的应用,也是一种进步。给自己的工作带来非常大的方便。

    451d3e44a3898f53217b6f2fbb593d1e.png

    系统化课程介绍

    5eebd16929fc09dd196cb942c0effebb.png

    扫描二维码

    加入交流群

    表格屋学堂

    0b38d20b462ff78860dbe469db6e3807.png

    ccec4350d87f5b758c4c54d92d2d6517.gif    <
    展开全文
  • 在一个单元格输入 =3+5 结果显示8 我想在后面的格子里显示 文本的 =3+5 如何操作,很多行的,要简单方法哦!
  • ![图片说明](https://img-ask.csdn.net/upload/201504/03/1428040913_240107.png)
  • 昨天一个前端的朋友找我帮忙用excel提取代码中的汉字(字符串),可算费了劲儿了,他要提取的内容均在单引号中,但问题是没有统一的规律,同一个单元格可能存在多个要提取的内容...

    昨天一个前端的朋友找我帮忙用excel提取代码中的汉字(字符串),可算费了劲儿了,他要提取的内容均在单引号中,但问题是没有统一的规律,同一个单元格可能存在多个要提取的内容,而且汉字中间也夹杂其他字符。所以总结了一下提取汉字的几种情况。


    一、用公式提取Excel单元格中的汉字

    对于一个混杂各种字母、数字及其他字符和汉字的文本字符串,要提取其中的汉字,在Excel中通常可用下面的公式。

    例如下图A列中的字符串,要在B列提取其中的汉字(或词语)。

    640?wx_fmt=png&wxfrom=5&wx_lazy=1

    如果汉字位于字符串的开头或结尾,用LEFT或RIGHT函数即可提取,例如上图中A2:A4区域中的字符串。在B2中输入下面的公式:

    =LEFT(A2,LENB(A2)-LEN(A2))

    就会返回字符串中开头的几个汉字。

    说明:LENB函数和LEN函数都可用返回文本字符串中的字符数,不同的是,LENB函数会将每个汉字(双字节字符)的字符数按2计数,LEN函数则对所有的字符,无论是单字节还是双字节都按1计数,因而公式中的“LENB(A2)-LEN(A2)”返回文本字符串中的汉字个数。

    同样对于A6:A8区域中的字符串,在B6中用RIGHT函数即可:

    =RIGHT(A6,LENB(A6)-LEN(A6))

    如果汉字位于字符串的中间,可使用下面的数组公式。例如图中A10:A12区域中的字符串,在B10中输入数组公式:

    =MID(A10,MATCH(2,LENB(MID(A10,ROW(INDIRECT("1:"&LEN(A10))),1)),),LENB(A10)-LEN(A10))

    公式输入完毕,按Ctrl+Shift+Enter结束。

    说明:公式先用MID函数将字符串中的每个字符分解到到一个字符数组中,然后用LENB函数返回各字符的的字符数,对于汉字会返回“2”。用MATCH函数取得第一个“2”的位置,即第一个汉字的位置,最后再用MID函数提取汉字。

    使用上述公式时要求字符串中的汉字是连续的,中间没有其它字符分隔。

    如果字符串中的汉字之间有其它字符分隔,例如上图中的A14单元格,要提取其中的所有汉字,可用下面的自定义函数。方法是:

    1. 按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入粘贴下面的代码:

    Function 提取汉字(sString As String) As String

    Dim regEx As Object

    Set regEx = CreateObject("VBScript.RegExp")

    With regEx

    '搜索整个字符串

    .Global = True

    '匹配非汉字

    .Pattern = "[^\u4e00-\u9fa5]"

    '将字符串中的非汉字替换为空

    提取汉字 = .Replace(sString, "")

    End With

    Set regEx = Nothing

    End Function

     

    说明:上述代码定义了一个自定义函数“提取汉字”。代码利用RegExp对象使用正则表达式匹配模式,清除字符串中的所有非汉字,得到其中的汉字。

    2. 返回Excel工作表界面,在B14单元格中输入公式:

    =提取汉字(A14)

    即可取得A14单元格字符串中的所有汉字。

     

    二、用公式提取引号(某2个相同字符)之间的内容

    640?wx_fmt=png

    公式:=MID(A2,FIND("'",A2)+1,FIND("^",SUBSTITUTE(A2,"'","^",2))-FIND("'",A2)-1)

     640?wx_fmt=png

    如果要提取第一个字符和最后一个相同字符之间的内容,则修改公式为:

    =MID(A2,FIND("'",A2)+1,FIND("^",SUBSTITUTE(A2,"'","^",LEN(A2)-LEN(SUBSTITUTE(A2,"'",""))))-FIND("'",A2)-1)

    在excel中,如何查询字符串的第N次出现位置,或最后一次出现位置,使用公式:

    最后一次出现位置

    =FIND("这个不重复就行",SUBSTITUTE(A1,"-"," 这个不重复就行",LEN(A1)-LEN(SUBSTITUTE(A1,"-",""))))

    第N次出现位置

    假如查第四个\的位置

    =find("这个不重复就行",substitute(A1,"\","这个不重复就行",4))

     

    三、用FIND函数查找字符串中的双引号

    有这样一个字符串        AB"CDEFG        想查找到双引号的位置, 公式是这样的

    =FIND("""",E11)

    而不是    =FIND(""",E11)


    展开全文
  • 2、首先,我们选中需要提取信息的单元格(列)对应的右侧一格(列),例如,想要A列提取A2开始,我们选中B2。 3、接着,点击工具栏下的输入框(fx字样右侧),输入公式如下:=RIGHT(A2,Len(A2)...

    1、例如,在这个Excel表格中我们想要提取员工姓名,若员工数量较少,或许还可以逐个输入,但公司员工数量较多时,提取信息的工作量就比较大了。在这里,将教你如何使用公式提取想要的信息。
    在这里插入图片描述
    2、首先,我们选中需要提取信息的单元格(列)对应的右侧一格(列),例如,想要从A列提取,从A2开始,我们选中B2。
    在这里插入图片描述
    3、接着,点击工具栏下的输入框(fx字样右侧),输入公式如下:=RIGHT(A2,Len(A2)-Find(“部”,A2)),点击回车,B2就成了李力。(其中Len用于返回文本串的字符数,提醒:若要使用Left提取左边字段,就不需要使用Len函数了。)
    在这里插入图片描述
    4、然后,我们选中B2单元格,鼠标移至单元格右下角,鼠标图样变为黑色实心十字时,按住左键下拉至需要填充的最后一列即可。(也可双击鼠标左键,自动填充。)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 今天整理更多文本函数在实际工作中的应用,比如EXCEL单元格里提取指定符号里的内容,分离单元格里的英文字母和汉字,提取单元格里的数字等等。有些源数据比较规律,有些则比较杂乱,我们看看都有哪些方法可以对数据...
  • 隐藏第二列,通过第一列下拉选中之后,填补第二列值,第三类根据第二列的值,名称管理器中获取引用。 三、问题 1.如何自动填充第二列的值 2.如何根据第一列填充对应的值 3.如何解决没有搜索到对应的值,如何设置...
  • 每个人所属的部门的级别不同,有的人属于公司之下,有的属于team之下,而大家可以看到这个表里面有很多空白单元格,看上去不是很一目了然,现在用公式直接把所属级别直接显示在姓名后面。。 其实上面的这么多废话的...
  • 日前在一个应用开发中需要提取Excel表格中的百分数,尝试了各种方法不得所愿,最后使用正则表达式解决了,具体代码参考下面: '自定义函数:根据传递过来的匹配表达式partn,对strng进行查找,并输出查找的结果 ...
  • 文本 需要提取的内容 得到的结果 search for <bird food> rice corn, cardinal lover <bird tray> for wild animals 1.需要提取<bird food>之前的所有字符和单词 search for ...
  • Camelot:pdf中提取表格数据

    万次阅读 2019-03-22 16:40:20
    Camelot:pdf中提取表格数据文章目录:一、Camelot的介绍和安装1. Camelot介绍2. Camelot的安装3. 其他二、Camelot的使用1. 快速入门使用2. 详细说明3. camelot两种表格解析(提取)方法1、流解析(stream)2、格子...
  • excel 截取单元格部分内容(指定位置截取) CreateTime--2018年5月28日08:28:46 Author:Marydon 1.情景展示  截取手机号后6位 2.实现  语法说明:right(单元格,num)  根据单元格内容,右边开始截取...
  • Excel-VBA正则表达式提取文本案例

    千次阅读 2019-10-02 23:47:44
    背景是这样的,我手上有一份统计表,需要将IP地址里的省市提取出来,以便于处理。因此我首先想到了Python里的正则表达式,打算写一个自定义函数去批量提取。然而之前没学VBA里的正则表达式语法,因此就去网上搜了...
  • split将文本按主要关键字分割,把关键词后面的对应句子提取并写入Excel。
  • 用EXCEL制作一份工作日历,涂颜色的单元格表示休息日(共有4种颜色,深红一种,浅红2种,橙色一种),白色表示工作日,现在需要统计每个月休息日的数量,如何实现? 在EXCEL中按条件选择数据,通常使用“筛选”...
  • 前两天在工作中遇到一个小需求,如果将一列相同内容的数据合并到一个单元格?如下图所示,如将等级一样的城市合并到一个单元格,城市之间用逗号分隔开来,如何实现?两个解决方法,分享给大家!方法一 IF函数法在...
  • 问题:单元格中有一个值,如何将这个值中的所有数字进行相加?例如:下图中,B3单元格的值为:1845,每个数字进行相加,即:1+8+4+5=18,也就是D3单元格中显示的结果。如何用函数公式来解决?具体操作步骤如下:1、...
  • 我们的excel工作表单元格里面有批注,比如鼠标放在A2单元格上,会弹出A2单元格的批注文字:部落窝Excel教程软件学习QQ群。同样,A3、A4单元格也有批注。  问题:如何复制批注内容到单元格里面,效果如下面所示:...
  • 比如我想在原有的数字后面添加10的五次方,又不想一个一个改,就可以用&符号,去完成下图的操作: =—>选中你要修改的第一个表格—>&—>“你想要加的内容”—>回车 —>下拉把余下的内容填充...
  • 假设是要在一列的单元格内容前加上...(2)如果原单元格的内容是文本内容,要在原内容前添加"ABC"这样的前缀 则选中这些单元格----右键----设置单元格格式---自定义---类型中写入 "ABC"@ ---确定 方法二:用公式...
  • Python—提取Word中的文本内容 参考博客:Python读取word文档内容
  • PhpSpreadsheet提供了丰富的API接口,可以设置诸多单元格以及文档属性,包括样式、图片、日期、函数等等诸多应用,总之你想要什么样的Excel表格,PhpSpreadsheet都能做到。 在thinkphp中引入该三方库的方法: ...
  • 一、单元格及行列操作相关方法 from openpyxl import load_workbook ...用ws表示工作表实例,后面不再说明。 (一)获取单元格 总结获取单元格有两种方式: 1.ws[行列名] # 列名使用英文字母 2....
  • 基于MaskRcnn以及形态学操作的文本图像中表格区域的提取 训练一个可用于检测表格区域的分割网络,在得到网络的输出即文本图像中表格区域后,利用形态学中的开运算提取表格区域中的线段用于后续的操作。 MaskRcnn ...
  • 对于word中的数据,我们可能存在将其抽取为结构化数据的需求。抽取思想为对整个word文档上至下扫描,并对其中的文字和表格进行区分处理,可以记录文字和表格的顺序,并自由选择是否抽取出表格中的文字
  • 1.如下图我们想要复杂文本提取后面的数值 2.首先我们选中复杂文本单元格区域 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不做详细解说。) 4.点击【更多...
  • 文本型未设置文本格式,输入长串字符串时,后面会显示一串0000;数值型未设置数值格式时,数值右下角可能会显示一个小数点,这个显示问题都需要我们设置单元格格式来实现我们想要的字段格式。 值得注意的是,如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,419
精华内容 1,367
关键字:

从单元格后面提取文本