夜雨聆风学习资料网

ARTICLE · 981919

Excel efunction函数插件教程合辑3

Excel efunction函数插件教程合辑3

ETArrayPick

函数名: ETArrayPick(对区域进行切片)

函数描述: 从指定区域中按起始行、行数、起始列、列数截取一个子区域(切片)并返回。

函数参数1:dataRange — 需要处理的选区

函数参数2:startRow — 开始行(从 1 开始计数的行号)

函数参数3:rows — 行数(要截取的行数)

函数参数4:startColumn — 开始列(从 1 开始计数的列号)

函数参数5:columns — 列数(要截取的列数)

使用案例:

假设 A1:D4 区域内有 4×4 的数据:

A
B
C
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

需求:从第 2 行第 2 列开始,截取 2 行 2 列。

=ETArrayPick(A1:D4, 2, 2, 2, 2)

返回结果:

列1
列2
6
7
10
11

参数说明:

  • dataRange
    :A1:D4,源区域。
  • startRow
    :2,开始行为第 2 行。
  • rows
    :2,截取 2 行。
  • startColumn
    :2,开始列为第 2 列。
  • columns
    :2,截取 2 列。

ETStrProcessChar

函数名: ETStrProcessChar(处理文本内的连续字符)

函数描述: 对文本内的连续重复字符进行处理,支持三种模式:提取连续字符、剔除连续字符、保留唯一字符(去重)。

函数参数1:dataRange — 需要处理的文本

函数参数2:model — 处理模式:1. 提取连续的字符;2. 剔除连续的字符;3. 保留唯一的字符

使用案例:

假设 A1 为文本:aaabbbcccdd。

需求一:提取连续字符(模式 1)。

=ETStrProcessChar(A1, 1)

返回结果:abcd(保留每组连续字符的代表)

需求二:剔除连续字符(模式 2)。

=ETStrProcessChar(A1, 2)

返回结果:剔除所有连续重复字符后的结果

需求三:保留唯一字符(模式 3,去重)。

=ETStrProcessChar(A1, 3)

返回结果:abcd

参数说明:

  • dataRange
    :A1,待处理文本。
  • model
    :1 提取连续字符 / 2 剔除连续字符 / 3 保留唯一字符。

ETRangeJoin

函数名: ETRangeJoin(将 Excel 不连续区域拼接为连续的区域)

函数描述: 将多个不连续的区域(或值)按顺序拼接为连续的一维数组。该函数使用 ExplicitRegistration = true,可在公式中以多个区域参数形式调用。

函数参数1:dataRange — 需要拼接的区域

函数参数2:dataRanges — 需要拼接的区域们(可变参数,可传入多个区域或值)

使用案例:

假设 A1:A2 与 C1:C2 是不连续的两个列区域:

A
C
1
5
2
6

需求:将 A1:A2 与 C1:C2 拼接为连续区域。

=ETRangeJoin(A1:A2, C1:C2)

返回结果(一维行向量):

列1
列2
列3
列4
1
2
5
6

参数说明:

  • dataRange
    :A1:A2,第一个区域。
  • dataRanges
    :C1:C2,第二个区域(可变参数,可继续追加更多区域)。

ETStrSeparate

函数名: ETStrSeparate(将文本分割为独立字符)

函数描述: 将文本按指定长度分割为多个独立的子串,返回一维数组。每个子串长度为 subLen(最后一段可能不足该长度)。

函数参数1:dataRange — 需要处理的文本

函数参数2:subLen — 文本分割的长度

使用案例:

假设 A1 为文本:ABCDEFGHI。

需求:按长度 3 分割文本。

=ETStrSeparate(A1, 3)

返回结果(行向量):

列1
列2
列3
ABC
DEF
GHI

参数说明:

  • dataRange
    :A1,待处理文本"ABCDEFGHI"。
  • subLen
    :3,每个子串长度为 3。

ETGetUUID

函数名: ETGetUUID(获取唯一码,UUID)

函数描述: 生成一个全局唯一的 UUID 字符串。isMark 为 TRUE 或省略时返回不带连字符的 32 位字符串;为 FALSE 时返回带连字符的标准 UUID 格式。该函数为易失性函数,每次重算会重新生成。

函数参数1:isMark — 默认为 TRUE,无拼接符;FALSE 表示有"-"拼接符

使用案例:

需求一:生成不带连字符的 UUID。

=ETGetUUID(TRUE)

返回结果(示例):E1B2C3D4E5F6A7B8C9D0E1F2A3B4C5D6

需求二:生成带连字符的标准 UUID。

=ETGetUUID(FALSE)

返回结果(示例):E1B2C3D4-E5F6-A7B8-C9D0-E1F2A3B4C5D6

参数说明:

  • isMark
    :TRUE 无连字符 / FALSE 带连字符。

ETFlipArray

函数名: ETFlipArray(对区域数据进行翻转)

函数描述: 对区域数据进行翻转,支持上下翻转(行序倒置)或左右翻转(列序倒置)。

函数参数1:dataRange — 需要翻转的区域

函数参数2:flipType — 翻转方式:默认 TRUE 为上下翻转;FALSE 为左右翻转

使用案例:

假设 A1:B2 内有数据:

A
B
1
2
3
4

需求一:上下翻转。

=ETFlipArray(A1:B2, TRUE)

返回结果:

A
B
3
4
1
2

需求二:左右翻转。

=ETFlipArray(A1:B2, FALSE)

返回结果:

A
B
2
1
4
3

参数说明:

  • dataRange
    :A1:B2,待翻转区域。
  • flipType
    :TRUE 上下翻转 / FALSE 左右翻转。

ETSequence

函数名: ETSequence(获取等差序列)

函数描述: 生成一个等差序列一维数组。从开始值出发,按指定步长生成指定数目的元素。

函数参数1:start — 序列开始值

函数参数2:number — 序列数目(元素个数)

函数参数3:step — 序列步长

使用案例:

需求:生成从 10 开始、共 5 个数、步长为 3 的等差序列。

=ETSequence(10, 5, 3)

返回结果(行向量):

列1
列2
列3
列4
列5
10
13
16
19
22

参数说明:

  • start
    :10,序列开始值。
  • number
    :5,共 5 个数。
  • step
    :3,步长为 3。

ETStrTranverse

函数名: ETStrTranverse(对文本进行翻转)

函数描述: 将文本字符顺序翻转(首尾倒置)后返回。

函数参数1:strRange — 待翻转的文本

使用案例:

假设 A1 为文本:Hello。

需求:翻转文本。

=ETStrTranverse(A1)

返回结果:olleH

参数说明:

  • strRange
    :A1,待翻转文本"Hello"。

ETAddPrefix

函数名: ETAddPrefix(在元素前后添加前后缀)

函数描述: 对区域中每个元素添加指定前后缀字符串。prefixType 为 TRUE 或省略时添加前缀,为 FALSE 时添加后缀。

函数参数1:dataRange — 需要处理的选区

函数参数2:prefix — 添加到前后缀的文本

函数参数3:prefixType — 前缀模式:默认 TRUE 添加前缀;FALSE 添加后缀

使用案例:

假设 A1:A3 内有数据:

A
张三
李四
王五

需求一:为每个元素添加前缀"员工:"。

=ETAddPrefix(A1:A3, "员工:", TRUE)

返回结果:

列1
员工:张三
员工:李四
员工:王五

需求二:为每个元素添加后缀"(已签到)"。

=ETAddPrefix(A1:A3, "(已签到)", FALSE)

返回结果:

列1
张三(已签到)
李四(已签到)
王五(已签到)

参数说明:

  • dataRange
    :A1:A3,待处理区域。
  • prefix
    :要添加的前后缀文本。
  • prefixType
    :TRUE 前缀 / FALSE 后缀。

ETRegexMatch

函数名: ETRegexMatch(正则表达式匹配)

函数描述: 使用正则表达式对文本进行匹配,返回匹配到的内容。invert 为 FALSE 或省略时保留提取的内容,为 TRUE 时剔除提取的内容(返回不匹配的部分)。

函数参数1:strRange — 文本数据

函数参数2:regex — 正则表达式

函数参数3:invert — 是否取反:默认为 FALSE,表示保留提取的内容;TRUE 表示剔除提取的内容

使用案例:

假设 A1 为文本:订单号:ORD20250825,金额:¥199.5。

需求一:提取所有数字。

=ETRegexMatch(A1, "\d+", FALSE)

返回结果:20250825 与 199 与 5(匹配到的数字内容)

需求二:剔除所有数字,保留其他内容。

=ETRegexMatch(A1, "\d+", TRUE)

返回结果:订单号:ORD,金额:¥.(移除数字后的剩余文本)

参数说明:

  • strRange
    :A1,待处理文本。
  • regex
    :\d+,匹配一个或多个数字。
  • invert
    :FALSE 保留匹配 / TRUE 剔除匹配。

ETRegexReplace

函数名: ETRegexReplace(正则表达式替换)

函数描述: 使用正则表达式匹配文本中的内容,并将匹配到的部分替换为指定字符串。源码 Description 标注为"正则表达式匹配",但实际行为是正则替换。

函数参数1:strRange — 文本数据

函数参数2:regex — 正则表达式

函数参数3:strReplace — 替换的内容,文本类型数据

使用案例:

假设 A1 为文本:电话:13800138000。

需求:将电话号码替换为****以脱敏。

=ETRegexReplace(A1, "\d+", "****")

返回结果:电话:****

参数说明:

  • strRange
    :A1,待处理文本。
  • regex
    :\d+,匹配数字。
  • strReplace
    :"****",替换字符串。

相关学习资料