excel中利用综合应用len(),lenb(),left() ,find()函数筛选汉字问题
函數(shù)功能及結(jié)構(gòu)介紹:
1.LEN 返回文本串的字符數(shù)。
Len( text) Len(string | varname)
Len 函數(shù)的語法有下面這些部分:
string 任何有效的字符串表達(dá)式。如果 string 包含 Null,會(huì)返回 Null。
Varname 任何有效的變量名稱。如果 varname 包含 Null,會(huì)返回 Null。如果 varname 是 Variant,Len 會(huì)視其為 String 并且總是返回其包含的字符數(shù)。
2.lenb 返回文本串的字節(jié)數(shù)
3.find函數(shù)的語法格式
=find(find_text,within_text,start_num)
Find(要查找的文本,文本所在的單元格,從第幾個(gè)字符開始查找[可選,省略默認(rèn)為1,從第一個(gè)開始查找])。
4.LEFT(text,num_chars)Text 是包含要提取字符的文本字符串。Num_chars 指定要由 LEFT 所提取的字符數(shù)。Num_chars 必須大于或等于 0。如果 num_chars 大于文本長度,則 LEFT 返回所有文本。如果省略 num_chars,則假定其為 1。
如下圖所示,在excel 要將text列中的所有的非hardcode去掉,所謂hardcode 即代碼中直接用了中文,但是"引號(hào)是abap代碼中的注釋,因此注釋中含中文則不算hardcode,我們要做的就是把純hardcore篩選出來,然后分發(fā)給相關(guān)的開發(fā)人員去修改。
為了實(shí)現(xiàn)上面的功能,綜合使用了幾個(gè)excel中的函數(shù),如下:
=IF(LEN(LEFT(A2,FIND("""",A2)-1))=LENB(LEFT(A2,FIND("""",A2)-1)),0,1)
對(duì)該公式的解釋:
1,首先利用find函數(shù)找出"在字符串中的位置,如果一個(gè)字符串中有多個(gè)",則find函數(shù)返回第一個(gè)"出現(xiàn)的位置, 即 FIND("""",A2),如果壓根就不存在",則會(huì)出現(xiàn)#value
2,利用left 函數(shù)將" 左邊的字符串截取出來,即LEFT(A2,FIND("""",A2)-1)
3,用len,lenb分別判斷第二步截取的字符串的字符數(shù)以及字節(jié)數(shù),用if函數(shù)判斷,若相等則說明"左邊全是非中文的字符,用0標(biāo)記,說明不存在hardcode;若不等則說明"左邊存在中文字符,用1標(biāo)記,說明存在hardcore。即=IF(LEN(LEFT(A2,FIND("""",A2)-1))=LENB(LEFT(A2,FIND("""",A2)-1)),0,1)
至此,我們?cè)趖ype列將得到三種不同的值,即0,1,#value。其中,type 為0的為非hardcore,我們應(yīng)該刪除,為1和#value為hardcore,我們應(yīng)該取出來發(fā)給相關(guān)的開發(fā)去修改。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yorke/p/6216509.html
總結(jié)
以上是生活随笔為你收集整理的excel中利用综合应用len(),lenb(),left() ,find()函数筛选汉字问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 疫情让“灵活用工”浮出水面,作为Andr
- 下一篇: SpringMVC优雅的实现数据校验