2022年11月

如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;
如果需要在某一文本字符串中替换特定位置处的任意文本,请使用函数 REPLACE。

SUBSTITUTE

SUBSTITUTE(text, old_text, new_text, [instance_num])
描述:在文本字符串中用 new_text 替换 old_text。

SUBSTITUTE 函数语法具有下列参数:

  • text 必需。需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。
  • old_text 必需。需要替换的文本。
  • new_text 必需。用于替换 old_text 的文本。
  • Instance_num 可选。指定要将第几个 old_text 替换为 new_text。 如果指定了 instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。

例子1:
SUBSTITUTE("我们班一共有*个同学,男同学*人,女同学*人", "*", A2)
用单元格A2的内容替换字符串中的*号,通常可以用来补充固定模板中的数据。
我们班一共有30个同学,男同学30人,女同学30人
(因为没有指定替换哪一个*号,所以全部*号都被替换)

例子2
SUBSTITUTE("我们班一共有*个同学,男同学*人,女同学*人", "*", A3,2)
替换字符串中的第2个*号
我们班一共有*个同学,男同学16人,女同学*人

REPLACE和REPLACEB

根据指定位置的字符数,将部分字符串替换为不同的字符串。
REPLACE(old_text, start_num, num_chars, new_text)
REPLACEB(old_text, start_num, num_bytes, new_text)

  • 注意:这两个函数基本一致,只是在处理非英文字符的时候计算字符串的数量上不一致,国内可以一直使用replace。出错的情况下才需要考虑使用replaceb。

REPLACE 和 REPLACEB 函数语法具有下列参数:

  • old_text 必需。 要替换其部分字符的文本。
  • start_num 必需。 old_text 中要替换为 new_text 的字符位置。
  • num_chars 必需。 old_text 中希望 REPLACE 使用 new_text 来进行替换的字符数。
  • Num_bytes 必需。 old_text 中希望 REPLACEB 使用 new_text 来进行替换的字节数。
  • new_text 必需。 将替换 old_text 中字符的文本。

例子:
REPLACE("abcdefg",2,3, "+") ,将从第2个字符开始,连续3个字符bcd整体串替换为+。 a+efg

TEXT

TEXT(待格式化内容, "显示样式")

描述:将数据按指定方式展示。
例子1:
text(now(),"yyy年mm月dd日"),显示当前日期 2022年11月01日

例子2:
text(123,"00000"),显示5位数字,不足补0 00123 。这里如果超过5位数将显示为全部数字,并不是只显示5位。

例子3:
text(123.123,"# ?/?"),显示数字为几又几分之几,四舍五入: 123 1/8
这里#号后面有一个空格,问号代表分数的位数。
如果不加空格 text(123.123,"#?/?") 显示为几分之几格式: 895/8

注意:这个函数经常不单独使用,可以配合其它函数使用效果更好。

count(区域)

描述:计算所选范围内的数字格式的单元格数量,仅仅计算数字格式,文本格式的不可以计算

counta(区域)

描述:计算区域内非空单元格数量,即对区域内所有的文本,数值以及逻辑值进行统计。

countblank(区域)

描述:计算所选区域内空单元格的数量。