为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

判断一字符串是否包含在另一个字符串中

2017-12-26 7页 doc 21KB 18阅读

用户头像

is_633423

暂无简介

举报
判断一字符串是否包含在另一个字符串中判断一字符串是否包含在另一个字符串中 问题:如何判断一字符串是否包含在另一个字符串中,例如判断“49”是否包含在“1479”中,再如判断“149”是否包含在“1479”中, 由于“49”在“1479”中不连续,所以不能用find()等函数直接判断。 解决:我们可以先判断“4”是否包含在“1479”中,然后再判断“9” 是否包含在“1479”中,这可以用FINDB()和ISNUMBER()组合实现这一功能。 实例:下表中,E列存放“判断B列数据是否包含在‘2678’中”,F列存放“判断C列数据是否包含在‘2678’中”,G...
判断一字符串是否包含在另一个字符串中
判断一字符串是否包含在另一个字符串中 问题:如何判断一字符串是否包含在另一个字符串中,例如判断“49”是否包含在“1479”中,再如判断“149”是否包含在“1479”中, 由于“49”在“1479”中不连续,所以不能用find()等函数直接判断。 解决:我们可以先判断“4”是否包含在“1479”中,然后再判断“9” 是否包含在“1479”中,这可以用FINDB()和ISNUMBER()组合实现这一功能。 实例:下中,E列存放“判断B列数据是否包含在‘2678’中”,F列存放“判断C列数据是否包含在‘2678’中”,G列存放“判断D列数据是否包含在‘2678’中”,那么如何判断“BC、BD、CD所形成的字符串是否包含在‘2678’字符串”中, A B C D E F G H 期号 百 十 个 2678 2008324 5 4 9 FALSE FALSE FALSE 2008325 0 8 7 FALSE TRUE TRUE ※ 2008326 8 0 7 TRUE FALSE TRUE ※ 2008327 5 5 3 FALSE FALSE FALSE 2008328 2 0 5 TRUE FALSE FALSE 2008329 4 2 2 FALSE TRUE TRUE ※ 2008330 1 7 8 FALSE TRUE TRUE ※ 2008331 3 7 6 FALSE TRUE TRUE ※ 2008332 9 0 0 FALSE FALSE FALSE 2008333 8 8 5 TRUE TRUE FALSE ※ 2008334 0 7 8 FALSE TRUE TRUE ※ 2008335 6 2 8 TRUE TRUE TRUE ※ 2008336 2 9 8 TRUE FALSE TRUE ※ 说明:上表中,E列中存放的是对B列单元格的的判断,用函数FINDB(B3,$E$2,1)实现;F列中存放的是对C列单元格的内容的判断,用函数FINDB(B3,$E$2,1)实现; G列中存放的是对D列单元格的内容的判断,用函数FINDB(B3,$E$2,1)实现;H列中存放的是对B、C、D列单元格其中同时出现两个的内容的判断,用函数=IF(OR(AND(ISNUMBER(FINDB(B3,$E$2,1)),ISNUMBER(FINDB(C3,$E$2,1))),AND(ISNU MBER(FINDB(B3, $E$2,1)),ISNUMBER(FINDB(D3, $E$2,1))),AND(ISNUMBER(FINDB(C3, $E$2,1)),ISNUMBER(FINDB(D3, $E$2,1)))),T("※"),"")实现; 如判断B3单元格的内容是否包含在上表中E2单元格中“2678”字符串中呢,可用函数FINDB(B3,$E$2,1)实现,结果返回B3在E2中出现的位置。 若我们不希望出现这一数值结果,而是希望若B3单元格的内容包含在E2单元格中“2678”字符串中,则显示"※"号,否则显示空格。则可以用下面的语句实现:=IF(ISNUMBER(FINDB(B3,$E$2,1)), T("※"),""),其中使用了数值探测函数ISNUMBER() 怎样判断B3、C3单元格的内容是否同时包含在E2单元格中的“2678”里面呢,可以用下面的语句实现: =IF(AND(ISNUMBER(FINDB(B3,$E$2,1)), ISNUMBER(FINDB(C3,$E$2,1))) ,T("※"),"") 怎样判断B3、C3、D3单元格的内容两两组合形成的字符串的一个是否包含在E2单元格中的“2678”里面呢,可以用下面的语句实现: =IF(OR(AND(ISNUMBER(FINDB(B3,$E$2,1)),ISNUMBER(FINDB(C3,$E$2,1))),AND(ISNU MBER(FINDB(B3, $E$2,1)),ISNUMBER(FINDB(D3, $E$2,1))),AND(ISNUMBER(FINDB(C3, $E$2,1)),ISNUMBER(FINDB(D3, $E$2,1)))),T("※"),"") 文本串查找函数FIND() 用途:FIND()用于查找其他文本串(within_text)内的文本串(find_text),并从within_text的首字符开始返回find_text的起始位置编号。此函数适用于双字节字符,它区分大小写但不允许使用通配符。 语法:FIND(find_text,within_text,start_num), 参数:Find_text是待查找的目标文本;Within_text是包含待查找文本的源文本;Start_num指定从其开始进行查找的字符位置,即within_text中编号为1的字符。如果忽略start_num,则假设其为1。 实例:如果A1=软件报,则公式“=FIND("软件",A1,1)”返回1。 文本串查找函数FINDB() 用途:FINDB用于查找其他文本串(within_text)内的文本串(find_text),并根据每个字符使用的字节数从within_text的首字符开始返回find_text的起始位置编号。 语法:FINDB(find_text,within_text,start_num), 参数:Find_text是待查找的目标文本;Within_text是包含待查找文本的源文本;Start_num指定从其开始进行查找的字符位置,即within_text中编号为1的字符。如果忽略start_num,则假设其为1。 FIND与FINDB的区别在于:前者是以字符数为单位返回起始位置编号,后者是以字节数为单位返回起始位置编号。 实例:如果A1=电脑爱好者,则公式“=FINDB("爱好者",A1,1)”返回5。因为每个字符均按字节进行计算,而一个汉字为2个字节,所以第三个汉字“爱”从第五个字节开始。 同理:LEFT与LEFTB、RIGHT与RIGHTB、LEN与LENB、MID与MIDB、REPLACE与REPLACEB、SEARCH与SEARCHB的关系也如是。即不带字母B的函数是按字符操作的,而带字母B的函数是按字节进行操作的。 我们在编辑、修改、计算工作簿数据时,经常会用到许多汉字字符,如果使用以上带字母B的函数对汉字字符进行操作,就会很方便。 数值探测函数ISNUMBER 语法:ISNUMBER(value)。 参数:如果value为数值时函数返回ture(真),否则返回false(假)。 应用实例一:无错误除法公式 如果工作表为C1了公式“=A1/B1”,一旦B1单元格没有输入除数,就会在C1中显示错误信息“,DIV,0~”。这不仅看起来很不美观,一旦作为报表打印还可能引起误会。为避免上面提到的问题出现,可将C1单元格中的公式设计成“=IF (ISNUMBER(B1),A1/B1,″″)”。式中的ISNUMBER函数对B1单元格进行探测,当B1被填入数值时返回true(真),反之返回false(假)。为真时IF函数执行A1/B1的运算,为假时在C1单元格中填入空格。 应用实例二:消除无意义的零 使用SUM函数计算工资总额时,若引用的单元格区域没有数据,Excel仍然会计算出一个结果“0”。这样打印出来的报表不符合财务规定,为此可将公式设计成“=IF(ISNUMBER(A1:B1),SUM(A1:B1),″″)”。 式中ISNUMBER函数测试SUM 函数所引用的单元格区域是否全部为空,当不为空时返回true(真),反之返回fales(假)。为真时IF函数执行SUM(A1:B1),为假时在存放计算结果的F1单元格中填入空格,这样即可避免在F1单元格中出现“0”。 逻辑函数IF 语法:IF(logical_test,value_if_true,value_if_false)。 参数:logical_test是结果为true(真)或false(假)的数值或表达式;value_if_true是logical_test为true时函数的返回值,如果logical_test为ture并且省略了value_if_true,则返回true。而且value_if_true可以是一个表达式;value_if_false是logical_test为false时函数的返回值。如果logical_test为false并且省略value_if_false,则返回false。Value_if_false也可以是一个表达式。 应用实例一:个人收入调节税计算 假设个人收入调节税的稽征办法是:工资在1000元以下的免征调节税,工资1000元以上至1500元的超过部分按5%的税率征收,1500元以上至2000元的超过部分按8%的税率征收,高于2000元的超过部分按30%的税率征收。 假如工作表的B列存放职工姓名,C列存放工资,选中D列的空白单元格输入公式“=IF(C2<=1000,″″,IF((C2-1000)<=1500,(C2-1000)*0.05,IF(C2-E2<=1500,(C2-1500)*0.08,IF(C2>2000,(C2-2000)*0.3))))”,回车后即可计算出C2工资应缴纳的收入调节税。 公式中的IF语句是逐次计算的,如果第一个逻辑判断C2<=1000成立,则公式所在单元格被填入空格;如果第一个逻辑判断式不成立,则计算第二个IF语句;直至计算结束。如果税率征收发生了变化,只须改变逻辑和计算式中的值,如1000、1500和2000等即可。 应用实例二:消除无意义的零 用SUM函数计算工资总额等问题时,若引用的全部参数均为空白单元格,公式仍然会计算出一个“0”。这样打印出来的报表不仅很不美观。为此可将计算公式设计为“=IF(SUM(A1:B1,D2:E8)<>0,SUM(A1:B1,D2:E8),″″)”,即是当SUM(A1:B1,D2:E8)计算结果不等于零时,公式所在单元格显示SUM(A1:B1,D2:E8)的计算结果,否则显示一个空格。 上面这个问题在财务计算中依然存在,如公式“=A1-A6-A9”有可能为零或显示负数。为了避免打印零或负数,可以设计公式“=IF(A2-A6-A9=0,″″,IF(A2-A6-A9<0,RMB(A2-A6-A9),A2-A6-A9))”。当A2-A6-A9=0时在单元格中填写零,否则进行下一个逻辑判断。如果A2-A6-A9<0则在结果前添加一个“,”符号,否则进行正常运算直至结束。 应用实例三:多条件求和 假设C1:C460区域内存放着职工的职称,D1:D460区域存放着职工的性别。如果要统计具有高级职称的男性职工总数,可以使用公式“=SUM(IF(C1:C460=″高级″,IF(D1:D460=″男″,1,0)))”。这是一个数组公式,输入结束后按住Ctrl+Shift回车即可计算出结果。 T 用途:将数值转换成文本。 语法:T(value)。 参数:value是需要进行测试的数据。如果value本身就是文本,或是对文本单元格的引用,T函数将返回value;如果没有引用文本,则返回""(空文本)。 实例:如果A1中含有文本“电脑”,则公式“=T(A1)”返回“电脑”。 24.TEXT 用途:将数值转换为按指定数字格式表示的文本。 语法:TEXT(value,format_text)。 参数:value是数值、计算结果是数值的公式、或对数值单元格的引用;format_text是所要选用的文本型数字格式,即“单元格格式”对话框“数字”选项卡的“分类”列表框中显示的格式,它不能包含星号“*”。 注意:使用“单元格格式”对话框的“数字”选项卡设置单元格格式,只会改变单元格的格式而不会影响其中的数值。使用函数TEXT可以将数值转换为带格式的文本,而其结果将不再作为数字参与计算。 实例:如果A1=2986.638,则公式“=TEXT(A5,"#,##0.00")”返回2,986.64。
/
本文档为【判断一字符串是否包含在另一个字符串中】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索