Excel数据清洗函数
目录
1. LEFT 函数
-
作用:从文本的最左侧提取指定数量的字符。
-
语法:
=LEFT(text, [num_chars])
- text:要处理的文本字符串。
- num_chars(可选):指定提取字符的个数;
- 如果省略,则默认为1;
- 如果写为0是空白;
- 如果超出字符串长度,会输出正个字符串;
- 如果写成负数会报错。
-
示例:
=LEFT("Excel",2) -- 返回结果为 "Ex"。 =LEFT("Excel") -- 返回结果为 "E"。 =LEFT("Excel",0) -- 返回结果为 ""。 =LEFT("Excel",-2) -- 返回结果为 "错误!" =LEFT("Excel",9) -- 返回结果为 "Excel"
2. RIGHT 函数
-
作用:从文本的最右侧提取指定数量的字符。
-
语法:与
left
函数语法一样,只是一个从左开始取,一个从右开始取=RIGHT(text, [num_chars])
-
示例:
=RIGHT("Excel", 3) -- 返回结果为 "cel"。
3. MID 函数
-
作用:从文本中指定位置开始提取指定长度的子字符串。
-
语法:
=MID(text, start_num, num_chars)
- start_num:开始提取的起始位置(从 1 开始计数)。
- num_chars:要提取的字符数。
-
示例:
=MID("Excel", 2, 3)
从 “Excel” 的第 2 个字符开始,提取 3 个字符,返回 “xce”。
4. LEN 函数
-
作用:返回文本字符串中的字符数。
-
语法:
=LEN(text)
-
示例:
=LEN("Excel")
返回结果为 5。
5. LENB 函数
-
作用:返回文本字符串所占的字节数。
-
说明:在某些系统中,英文字符通常占 1 个字节,而中文等双字节字符则占 2 个字节。
-
语法:
=LENB(text)
-
示例:
=LENB("Excel")
通常返回 5;=LENB("中文")
返回 4(每个汉字占 2 个字节)。
6. CONCATENATE 函数
-
作用:将多个文本字符串合并成一个字符串(将多个字符文本或单元格中的数据连接在一起,显示在一个单元格中)。
-
语法:
=CONCATENATE(text1, [text2], …)
-
说明:在较新版本的 Excel 中,可以直接使用 “&” 运算符或者函数 CONCAT、TEXTJOIN 来实现相同的效果。
-
示例:
=CONCATENATE("Hello", " ", "World")
返回 “Hello World”。
7. TEXT 函数
-
作用:将数值转换为按照指定格式显示的文本。
-
语法:
=TEXT(value, format_text)
- value:需要转换的数值,必须为数值。
- format_text:指定的数字格式字符串(如日期、货币、百分比等)。
-
示例:
=TEXT(1234.56, "$#,##0.00") -- 返回 "$1,234.56",常用于将数值以特定格式显示为文本 =TEXT(1234, "0.00") -- 返回 "1234.00",常用于将数值保留两位小数 =TEXT(2025/3/31, "YYYY年M月D日") -- 返回 "2025年3月31日",常用于将数值转换为日期个格式
8. TRIM 函数
-
作用:去除文本中多余的空格,仅保留单词之间的单个空格,不删除中间的正常空格。
-
语法:
=TRIM(text)
-
示例:
=TRIM(" Hello World ") -- 返回 "Hello World",移除了首尾和中间多余的空格。
9. REPLACE 函数
-
作用:根据指定的起始位置和字符数,用新文本替换原文本中的一部分。
-
语法:
=REPLACE(old_text, start_num, num_chars, new_text)
- old_text:原始文本字符串。
- start_num:替换开始的位置。
- num_chars:要替换的字符数。
- new_text:替换的新文本。
-
示例:
=REPLACE("Hello", 1, 2, "Y")
将 “Hello” 中第 1 个字符开始的 2 个字符 “He” 替换为 “Y”,返回 “Yllo”。
10. SUBSTITUTE 函数
-
作用:在文本字符串中将某一指定文本替换为新的文本,可选择性地只替换第几次出现的目标文本。
-
语法:
=SUBSTITUTE(text, old_text, new_text, [instance_num])
- 如果省略 instance_num,则将所有出现的 old_text 替换为 new_text。
-
示例:
=SUBSTITUTE("2021/2021/2021", "2021", "2022", 2) -- 仅替换第二个 "2021",结果为 "2021/2022/2021" =SUBSTITUTE("2021/2021/2021", "2021", "2022") -- 替换全部的 "2021",结果为 "2022/2022/2022"
11. FIND 函数
-
作用:在文本中查找指定字符或字符串,并返回其首次出现的位置(区分大小写)。
-
语法:
=FIND(find_text, within_text, [start_num])
- find_text:要查找的文本。
- within_text:被搜索的文本字符串。
- start_num(可选):从指定位置开始查找。
-
示例:
=FIND("c", "Excel")
如果 “Excel” 中确实存在小写 “c”,则返回其位置(在此例中返回 3);如果找不到,则返回错误。注意大小写敏感,例如
=FIND("E", "excel")
则无法匹配。
12. SEARCH 函数
-
作用:与 FIND 函数类似,但不区分大小写。
-
语法:
=SEARCH(find_text, within_text, [start_num])
-
示例:
=SEARCH("E", "excel")
返回 1,因为搜索时忽略大小写。
综合说明
这些函数主要用于对文本数据进行清洗和整理,具体用途包括:
- 提取:使用 LEFT、RIGHT、MID 提取文本中指定位置的字符;
- 长度判断:通过 LEN 和 LENB 判断文本的长度(或字节数),便于数据验证;
- 合并:利用 CONCATENATE(或“&”运算符)合并多个文本段;
- 格式转换:用 TEXT 函数将数值转换成按特定格式显示的文本;
- 空格处理:TRIM 函数用于清理多余空格,确保数据整洁;
- 替换修改:REPLACE 和 SUBSTITUTE 分别用于基于位置或匹配内容进行文本替换;
- 查找定位:FIND 和 SEARCH 用于在文本中定位子字符串,其中 SEARCH 不区分大小写,适用性更广。
通过灵活组合这些函数,可以构建出强大的数据清洗方案。例如,在对一列数据进行预处理时,你可以先用 TRIM 去掉多余空格,再用 LEFT/MID/RIGHT 提取有效部分,最后用 SUBSTITUTE 或 REPLACE 对错误或不标准的格式进行修正。