精华内容
下载资源
问答
  • EXCEL公式以指定分隔符从右往左截取字符
    千次阅读
    2021-01-14 16:58:33

    从A串中提取从"."开始的字符串B,可以使用find函数来对"."的首次出现进行定位,这类似于各种语言中的indexOf功能,find是从左往右查找的,在EXCEL中并没有从右往左查找,类似lastIndexOf的函数.

    在EXCEL想要从右往左截取字符,可使用公式=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT("

    ",LEN(A1))),LEN(A1))).

    例:已知A1=http://www.163.com/sports/Arsenal.html

    要获取Arsenal.html字符串.

    公式=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))),LEN(A1))).

    解释:

    1.REPT(" ",LEN(A1))的意思是得到一空格串,长度为A1的长度.

    REPT函数可可以按照定义的次数重复现实文本,相当于复制文本.

    2.SUBSTITUTE(A1,"/",REPT(" ",LEN(A1)))

    将A1中的字符"/"用多个空格串(第1步所得)来替换.此时,可获得的文本如:

    http:

    www.163.com

    sports

    Arsenal.html

    SUBSTITUTE(text,old_text,new_text,instance_num)

    函数是在文本字符串中用 new_text 替代 old_text

    3.在以指定空格串代替所有分隔符后,就可以使用Right函数,从右往左取子串了.即

    =RIGHT(SUBSTITUTE(A2,"/",REPT(" ",LEN(A2))),LEN(A2))

    此时得到的字串如:

    Arsenal.html

    4.最后使用Trim函数将空格删除,可得到结果:Arsenal.html

    =TRIM(RIGHT(SUBSTITUTE(A2,"/",REPT(" ",LEN(A2))),LEN(A2)))

    更多相关内容
  • 语法: substr(要截取的字符串, 开始位置 ,截取长度) 开始位置从0开始,如果想从第一个字符开始截取,则开始位置参数为0. 最后一个参数是可选的,如果只提供开始... 输出结果为:bcd 从右左截取: 1、从右左截取1
  •  sql只查一次未优化 SELECT  * FROM  (  SELECT  COUNT(company_name) AS countnum,  company_name,  tel_tru,  tel_full  ...

     

         sql只查一次未优化

    SELECT
        *
    FROM
        (
            SELECT
                COUNT(company_name) AS countnum,
                company_name,
                tel_tru,
                tel_full
            FROM
                (
                    SELECT
                        company_name,
                        tel_full,
                        case 
                         when length(tel_l)<=12 then RIGHT(tel_l,7)
                         when length(tel_l)>12 then RIGHT(tel_l,12) 
                         end  tel_tru 

                        
                    FROM
                        (
                            SELECT
                                company_name,
                             
                                REPLACE(tel,' ','') tel_l,
                                tel tel_full
                            FROM
                                t_contact) a
                                
                                 ) b
            GROUP BY
                tel_tru 
                
                
                ) c
    WHERE
        countnum >= 10
        
    展开全文
  • 从A串中提取从"."开始的字符串B,可以使用find函数来对"."的首次出现进行定位,这类似于各种语言中的...在EXCEL想要从右往左截取字符,可使用公式:TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",LEN(A1))),LEN(A1)))。 例

    从A串中提取从"."开始的字符串B,可以使用find函数来对"."的首次出现进行定位,这类似于各种语言中的indexOf功能。find是从左往右查找的,在EXCEL中并没有从右往左查找,类似lastIndexOf的函数。


    在EXCEL想要从右往左截取字符,可使用公式:TRIM(RIGHT(SUBSTITUTE(A1,".",REPT(" ",LEN(A1))),LEN(A1)))。


    例:已知A1=http://www.163.com/sports/Arsenal.html,要获取Arsenal.html字符串。


    公式=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))),LEN(A1)))。


    解释:
    1. REPT(" ",LEN(A1))的意思是得到一空格串,长度为A1的长度。
        REPT函数可可以按照定义的次数重复现实文本,相当于复制文本。


    2. SUBSTITUTE(A1,"/",REPT(" ",LEN(A1)))
         将A1中的字符"/"用多个空格串(第1步所得)来替换。此时,可获得的文本如下:

    http:                                                                            www.163.com                                      sports                                      Arsenal.html


       SUBSTITUTE(text,old_text,new_text,instance_num) 函数是在文本字符串中用 new_text 替代 old_text。


    3. 在以指定空格串代替所有分隔符后,就可以使用Right函数,从右往左取子串了。即
        =RIGHT(SUBSTITUTE(A2,"/",REPT(" ",LEN(A2))),LEN(A2))
        此时得到的字串如:

                                          Arsenal.html

     

    4. 最后使用Trim函数将空格删除,可得到结果:Arsenal.html
        =TRIM(RIGHT(SUBSTITUTE(A2,"/",REPT(" ",LEN(A2))),LEN(A2)))

     

    来源:http://blog.sina.com.cn/s/blog_67532f7c01019gvk.html

     

    面对多重判断,excel有四法

     

    一般来说,我们经常会碰到这样的问题,即

    面对多重判断,excel有四法

     

    需要按照这张mapping表进行数值判断,下面有四种方法:

     

    1 经典法:if多重判断

    这个就不用多说了,一般来说,我们这个函数一般写为:

    面对多重判断,excel有四法

     

    当然这里面and与函数有点多余,所以我们也可以写为

    面对多重判断,excel有四法

     

    当时这个也有缺点,因为经常很多人会把临界点搞错,比如A1=5000的情况是D,还是C,所以会经常弄混的。最重要的,多重只能到7重,而且重数多了,if会写的非常乱

     

    2 vlookup函数妙用法

    啊,vlookup函数呀,这好像和多重判断不搭界呀,其实,vlookup函数有精确匹配和近似匹配,我们一般用的是精确匹配,而这里用的是近似匹配(原理在于近似匹配采用的是返回小于 lookup_value 的最大数值,所以一定要升序排列哦)。

     

     面对多重判断,excel有四法

    而这里函数写为

    =VLOOKUP(E2,B2:D5,3,TRUE)

    就能返回各个相应的值,这个比if函数简单,而且可以支持7重以上。

    但是缺点是一旦不是>=,而是>的下限形式,会比较麻烦。

     

    3 VBA进阶1:select case函数

    大家去查查外面的VBA书籍,这个说的比较多,举个例子吧

    我要对所有的上市公司进行判断,要按照利润区间分为

    面对多重判断,excel有四法

     

    这个大家就不要用if写了,9重的if第一不支持(号称excel 2007 if函数只支持7重),第二即使写出来,过了一段时间,自己写的自己也不认识了。所以这边用VBA写了一个例子

    Function profitrank(income) As String

    Select Case income

        Case Is <= 0

            profitrank = "<=0"

        Case Is <= 5000

            profitrank = "0-5千万"

        Case Is <= 10000

            profitrank = "5千万-1亿"

        Case Is <= 20000

            profitrank = "1亿-2亿"

        Case Is <= 30000

            profitrank = "2亿-3亿"

        Case Is <= 40000

            profitrank = "3亿-4亿"

        Case Is <= 50000

            profitrank = "4亿-5亿"

        Case Is <= 100000

            profitrank = "5亿-10亿"

        Case Else

            profitrank = ">10亿"

        End Select

    End Function

    这个函数,我定义为profitrank函数,这个大家可以copy到自己的excel中使用

     

    4 VBA进阶2:switch函数

    用过access的人都知道,它里面的switch比较好用,语法就是

    Switch(条件1,”结论1”,条件2,”结论2”,条件3,”结论3”,…..)

    比if函数好多了,可惜的是excel工作表竟然不知道switch函数,但是老天有眼,excel的VBA函数却可以支持switch,所以有些高手就做了些为国为名的好事(这里得感谢外国高手们,这帮人呀,牛)

    其函数可以直接写作

    =Switch2(A1<1000,"D",A1<5000,"C",A1<10000,"B",TRUE,"A")

     

    比较if函数,是不是即简洁又清晰

     

     面对多重判断,excel有四法

    目前代码如下:

    Function Switch2(Test1 As String, Result1 As String, _
    Optional Test2 As String, Optional Result2 As String, _
    Optional Test3 As String, Optional Result3 As String, _
    Optional Test4 As String, Optional Result4 As String, _
    Optional Test5 As String, Optional Result5 As String, _
    Optional Test6 As String, Optional Result6 As String, _
    Optional Test7 As String, Optional Result7 As String, _
    Optional Test8 As String, Optional Result8 As String, _
    Optional Test9 As String, Optional Result9 As String, _
    Optional Test10 As String, Optional Result10 As String, _
    Optional Test11 As String, Optional Result11 As String, _
    Optional Test12 As String, Optional Result12 As String, _
    Optional Test13 As String, Optional Result13 As String, _
    Optional Test14 As String, Optional Result14 As String)

    Switch2 = Switch(Test1, Result1, _
    Test2, Result2, _
    Test3, Result3, _
    Test4, Result4, _
    Test5, Result5, _
    Test6, Result6, _
    Test7, Result7, _
    Test8, Result8, _
    Test9, Result9, _
    Test10, Result10, _
    Test11, Result11, _
    Test12, Result12, _
    Test13, Result13, _
    Test14, Result14)
    End Function

    这个大家也可以copy到excel中,非常方便,目前代码里面是支持14个条件的,大家可以任意扩充)

     

    5 结论:if如果做多重判断,是不方便了,如果考虑到简单实用,建议用vlookup,如果还想多做VBA的学习,那还是用后面的两个VBA方法。


    来源:http://blog.sina.com.cn/s/blog_603d40f70100esta.html

     

    其他:1、excel自定义函数添加,在Excel工作表界面下按<ALT+F11>组合键打开VBA编辑器,单击“插入”→“模块”,并在右边的代码窗口输入自定义函数的程序代码。单击窗口右上角的“关闭”按钮关闭VBA编辑器,返回excel工作表界面就可使用。

              来源:http://www.ittribalwo.com/article/1274.html

     

              2、在使用公式或函数后,为何双击单元格右下角“十”字,没有作用?

                     如果因为特殊原因 不可以双击填充 则选择要填充的区域  按下ctrl+D 进行填充。

              来源:http://www.excelpx.com/thread-329199-1-1.html

    展开全文
  • oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏常用函数:substr和instr1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串解释:string 元字符串start_...

    oracle 截取字符(substr),检索字符位置(instr) case when then else end语句使用 收藏

    常用函数:substr和instr

    1.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串

    解释:string 元字符串

    start_position 开始位置(从0开始)

    length 可选项,子字符串的个数

    For example:

    substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符

    substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符

    substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符

    substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。

    substr("ABCDEFG", -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。

    2.INSTR(string,subString,position,ocurrence)查找字符串位置

    解释:string:源字符串

    subString:要查找的子字符串

    position:查找的开始位置

    ocurrence:源字符串中第几次出现的子字符串

    例子:

    按照‘-’字符串从右到左,以第一个‘-’为条件,截取数据。

    select substr('索尼爱立信-W595C-跃动蓝',

    1,

    instr('索尼爱立信-W595C-跃动蓝', '-', -1, 1) - 1)

    from dual

    展开全文
  • java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况
  • excel右边查找字符截取

    千次阅读 2021-01-14 16:58:21
    公式:=LEFT(A1,FIND("/",A1)-1) =TRIM(RIGHT(SUBSTITUTE... num_chars代表从左开始截取字符数。 6.left函数的语法格式 =left(text,num_chars) text代表用来截取的单元格内容。 num_chars代表从左开始截取字符数。
  • oracle,按特定字符,截取字符串,直接出结果 oracle,按特定字符,截取字符串,直接出结果oracle,按特定字符,截取字符串,直接出结果
  • oracle左右两端截取字符

    万次阅读 2017-05-27 13:45:17
    描述:在oracle开发或维护过程中经常会遇到字符串的截取问题,其中从左或从右截取字符串也较为常用。 详述: 1.从左 从左截取指定长度的字符串 SQL> select substr('China-Shanghai',1,5) value from dual; ...
  • 示例字符串 var userId= '6hjf2342b4237p42bkj32149214'; 要求:保留userId后22位字符,前面的字符用'...'代替 方法一:(substring) userId.substring(userId.length - 22, userId.length) 方法二:(match匹配) .....
  • 001_002_003",想要右边第4个(_003)开始,得到向的所有字符串“。。还有很多。。001_002"应当如何实现 ,字符串的长度不确定,所以只能右边开始载回复讨论(解决方案)substr可以用负数,详情参考:...
  • java 字符截取的三种方法(推荐)

    千次阅读 2021-03-23 22:49:07
    众所周知,java提供了很多字符截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则...
  • excel从右左截取字符串函数

    万次阅读 2013-03-28 15:01:29
    从A串中提取从"."开始的字符串B,可以使用find函数来对"."的首次出现进行定位,这类似于各种语言中的...在EXCEL想要从右往左截取字符,可使用公式=TRIM(RIGHT(SUBSTITUTE(A1,"/",REPT(" ",LEN(A1))),LEN(A1))). 例:已知A
  • C# 实现字符左截取截取

    千次阅读 2016-01-27 10:04:28
    熟悉了此方法后,我们来实现如何实现左截取右截取字符串。 左截取:str.Substring(0,i) 返回,返回左边的i个字符 截取:str.Substring(str.Length-i,i) 返回,返回右边的i个字符 请看下边的例子: ...
  • excel中如何在不知道字符串长度的情况下 从右左截取单个字符串right(A1,1)excel中按某字符截取字符串选中你所要分的列,数据分列分隔符号其他输入/完成。200分简单问题 从excel中从右开始截取指定字符串说明下,...
  • @VBA字符串操作:从右左截取特定分隔符后的内容 熟悉EXCEL函数的朋友遇到截取字符串的时候第一个想到的肯定是FIND()、 LEN() 、LEFT()、**RIGHT()**这一套操作, 但很遗憾VBA里面的FIND针对的是Range对象,用到字符...
  • 例如,单元格A2里的内容是:D:\!!MyWork\个人资料\咨询记录\王先生-...第一步:构造一个源字符串长度的空格字符串; 即: =REPT(" ",LEN(A2)) 第二步:把整个字符串中的分隔符,替换为上面构造出的长空格串。 即...
  • 但是,当步长为负数时,也可以从右提取元素(从右切), 比如 [10:1:-2] 可以 而[1:10:-2] 不行 总结来说,简单一句话,提取元素的方向不能跟步长正负相反 (可以把正数当成从左向右,而负数则是从右) ...
  • 本文实例讲述了Python实现的从右左字符串替换方法。分享给大家供大家参考,具体如下:一 . 前言需要用到,但是发现python没有从右边开始替换的内置方法,默认的replace只是从左边开始,就索性自己写个,有需求的...
  • 学IT不但可以高薪就业,还可以助你顺利转型,而java更是潮流的程序语言,JAVA字符.../*** JAVA截取字符串左侧指定长度的字符串* @param input 输入字符串* @param count 截取长度* @return 截取字符串*/public stat...
  • Oracle 字符截取 后向前截取方法

    千次阅读 2021-05-01 02:27:18
    Oracle 字符截取 后向前截取方法INSTR:INSTR方法的格式为INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)默认查找顺序为从左。当起始位置为负数的时候,右边开始查找。SUBSTR:取子字符串 取子字符串...
  • 功能:在原始字符串,从右往左查找某个子字符串。如果没找到,返回-1。 语法: strObj.lastIndexOf(substr) 参数:substr 代表要查找的子字符串。 示例: //判断以下文件名是不是图片 var arr = ["gif","png","jpg...
  • 其中 var 是变量名,# 号是运算符,*// 表示左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.aaa.com/123.htm # 号截取,删除左边字符,保留右边字符。 echo $...
  • 3、SUBSTRING(name,5,3) 截取name这个字段 第五个字符开始 只截取之后的3个字符 SELECT SUBSTRING('成都融资事业部',5,3) 结果:事业部 4、SUBSTRING(name,3) 截取name这个字段 第三个字符开始,之后的所有个...
  • 1、从开始截取字符串 ...2、从右开始截取字符串 # 语法 SELECT RIGHT(str,len) str:被截取的字符串 len:截取长度 # 示例 SELECT RIGHT('TF-8220210412003-1', 6) # 结果为:2003-1 3、截取特定长度的字符串 # 语

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,635
精华内容 8,654
关键字:

从右往左截取字符

友情链接: CLOCK6DIGIT16f876.rar