Excel.002 函数学习(2) - 文本处理
1 LEN
LEN 返回文本字符串中的字符数。
LEN(text)
Text是要查找其长度的文本。空格将作为字符进行计数。

2 LEFT / RIGHT
LEFT 基于所指定的字符数返回文本字符串中的第一个或前几个(左侧)字符。
LEFT(text,num_chars)
RIGHT(text,num_chars)
参数 | 简单说明 |
---|---|
Text | 是包含要提取字符的文本字符串 |
Num_chars | 指定要由 LEFT 所提取的字符数 |
说明
- Num_chars 必须大于或等于 0。
- 如果 num_chars 大于文本长度,则 LEFT 返回所有文本。
-
如果省略 num_chars,则假定其为 1。
image.png

- Tips
# 如excel有一列数据字符串长度不同,如想要去除开头或者结尾相同的字符,但是保留的数字则不相同
# 首先使用len函数提取字符长度,再使用right/left函数提取,字符串长度len($Well)-去除的字符长度(N)
=right(len($Well)-N)
3 MID
MID 返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
MID(text,start_num,num_chars)
参数 | 简单说明 |
---|---|
Text | 是包含要提取字符的文本字符串 |
Start_num | 是文本中要提取的第一个字符的位置。文本中第一个字符的 start_num 为 1,以此类推 |
Num_chars | 指定希望 MID 从文本中返回字符的个数 |
说明
- 如果 start_num 大于文本长度,则 MID 返回空文本 ("")。
- 如果 start_num 小于文本长度,但 start_num 加上 num_chars 超过了文本的长度,则 MID 只返回至多直到文本末尾的字符。
- 如果 start_num 小于 1,则 MID 返回错误值 #VALUE!。
- 如果 num_chars 是负数,则 MID 返回错误值 #VALUE!。

4 LOWER/UPPER
LOWER:将一个文本字符串中的所有大写字母转换为小写字母。
LOWER(text)
UPPER:将一个文本字符串中的所有小写字母转换为大写字母。
UPPER(text)
Text 为需要转换成大写形式的文本。Text 可以为引用或文本字符串。
5 PROPER
将文本字符串的首字母及任何非字母字符之后的首字母转换成大写。将其余的字母转换成小写。
PROPER(text)
Text用引号括起来的文本、返回文本值的公式或是对包含文本的单元格的引用

6 CHAR
返回对应于数字代码的字符。函数 CHAR 可将其他类型计算机文件中的代码转换为字符。
CHAR(number)
Number 是用于转换的字符代码,介于 1 到 255 之间。使用的是当前计算机字符集中的字符。

# 生成随机的大写字符
=CHAR(RANDBETWEEN(65,90))
# 生成随机的小写字符
=CHAR(RANDBETWEEN(97,122))
7 CODE
返回文本字符串中第一个字符的数字代码。
CODE(text)
Text为需要得到其第一个字符代码的文本。
# 返回字符 A 的代码 (65)
=CODE("A")
# 返回字符 ! 的代码 (33)
=CODE("!")
8 EXACT
该函数测试两个字符串是否完全相同。如果它们完全相同,则返回 TRUE。否则,返回 FALSE。函数 EXACT 能区分大小写,但忽略格式上的差异。利用函数 EXACT 可以测试输入文档内的文本。
EXACT(text1,text2)
Text1 待比较的第一个字符串。
Text2 待比较的第二个字符串。
=EXACT("TEST","TEST")
# TRUE
=EXACT("test","TEST")
# FALSE
9 REPLACE
REPLACE 使用其他文本字符串并根据所指定的字符数替换某文本字符串中的部分文本。
REPLACE(old_text,start_num,num_chars,new_text)
参数 | 简单说明 |
---|---|
Old_text | 是要替换其部分字符的文本 |
Start_num | 是要用 new_text 替换的 old_text 中字符的位置 |
Num_chars | 是希望 REPLACE 使用 new_text 替换 old_text 中字符的个数 |
New_text | 是要用于替换 old_text 中字符的文本 |

10 SUBSTITUTE
在文本字符串中用 new_text 替代 old_text。如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE。如果需要在某一文本字符串中替换指定位置处的任意文本,请使用函数 REPLACE。
SUBSTITUTE(text,old_text,new_text,instance_num)
参数 | 简单说明 |
---|---|
Text | 为需要替换其中字符的文本,或对含有文本的单元格的引用 |
Old_text | 为需要替换的旧文本 |
New_text | 用于替换 old_text 的文本 |
Instance_num | 为一数值,用来指定以 new_text 替换第几次出现的 old_text。如果指定了 instance_num,则只有满足要求的 old_text 被替换。否则将用 new_text 替换 TEXT 中出现的所有 old_text |

11 TRIM
除了单词之间的单个空格外,清除文本中所有的空格。在从其他应用程序中获取带有不规则空格的文本时,可以使用函数 TRIM。
TRIM(text)
Text 需要清除其中空格的文本
REPT
按照给定的次数重复显示文本。可以通过函数 REPT 来不断地重复显示某一文本字符串,对单元格进行填充。
REPT(text,number_times)
Text 需要重复显示的文本。
12 TEXT
将数值转换为按指定数字格式表示的文本。
TEXT(value,format_text)
参数 | 简单说明 |
---|---|
Value | 为数值、计算结果为数字值的公式,或对包含数字值的单元格的引用 |
Format_text | 为“单元格格式”对话框中“数字”选项卡上“分类”框中的文本形式的数字格式 |

# A2=1000
=TEXT(A2,"$0.00")
# $1000.00