Excel数据清洗函数(包括left、right、mid、len、lenb、concatenate、text、trim、replace、substitute、find、search)

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 对错误或不标准的格式进行修正。