共计 11274 个字符,预计需要花费 29 分钟才能阅读完成。
二、Json 函数说明
-
Json_序列化:
- 功能:将对象(如数组或字典)序列化为 JSON 字符串。
- 用法:
=Json_序列化(A1:B2)
(假设A1:B2
是一个二维数组)。 - 输出:返回 JSON 字符串。
-
Json_反序列化:
- 功能:将 JSON 字符串反序列化为对象,并返回对象的字符串形式。
- 用法:
=Json_反序列化("{'name':'John', 'age':30}")
。 - 输出:返回反序列化后的对象的字符串形式。
-
Json_读取键值:
- 功能:从 JSON 对象中读取单层或多层嵌套的键值。
- 用法:
=Json_读取键值("{'person':{'name':'John', 'age':30}}", "person.name")
。 - 输出:返回对应的键值,例如
"John"
。
-
Json_转换为数组:
- 功能:将 JSON 数据转换为 Excel 数组,并返回到单元格区域。
- 用法:
=Json_转换为数组("{'name':'John','age':30}")
。 - 输出:返回一个 2D 数组,直接在 Excel 中展开。
使用示例
-
将简单 JSON 对象转换为 Excel 数组:
=Json_转换为数组("{'name':'John','age':30}")
-
在 Excel 中返回如下内容:
name | John age | 30
-
-
将 JSON 数组转换为 Excel 数组:
=Json_转换为数组("[[1,2,3],[4,5,6],[7,8,9]]")
-
在 Excel 中返回如下内容:
1 | 2 | 3 4 | 5 | 6 7 | 8 | 9
-
-
读取 JSON 中的键值:
=Json_读取键值("{'person':{'name':'John','age':30}}", "person.name")
- 返回
John
。
- 返回
-
序列化为 JSON:
=Json_序列化(A1:B2)
- 假设
A1:B2
是[["Name", "Age"], ["John", 30]]
,返回"[["Name", "Age"], ["John", 30]]"
。
- 假设
关键点总结
- 统一命名:所有函数名称都使用
Json_
前缀加上中文描述的方式,方便在 Excel 中查找和使用。 - 高效的 Excel 数组处理:
Json_转换为数组
使用高效的方式将 JSON 数据转换为 Excel 数组,并返回多单元格区域。 - 多功能支持:这些函数涵盖了 JSON 数据的序列化、反序列化、读取键值和数组转换,适用于各种 JSON 数据处理需求。
三、Python 函数说明
示例 1: 执行简单的 Python 代码片段
用法:在 Excel 中执行一段简单的 Python 代码,并返回输出。
=Python_执行代码("print('Hello, World!')")
说明:
- 这段代码会在 Python 中打印
"Hello, World!"
,并将输出"Hello, World!"
返回到 Excel 单元格中。
示例 2: 执行 Python 代码片段并返回 JSON 格式输出
用法:执行 Python 代码并返回 JSON 格式的输出。
=Python_执行代码("import json; print(json.dumps({'name':'Alice', 'age':30}))", TRUE, "json")
说明:
- 这段代码会在 Python 中生成一个包含
"name"
和"age"
的字典,并将其以 JSON 格式输出。Excel 将会返回"name":"Alice","age":30
。
示例 3: 执行包含数学运算的 Python 代码片段
用法:执行一段包含数学运算的 Python 代码,并返回计算结果。
=Python_执行代码("result = 5 * (3 + 2); print(result)")
说明:
- 这段代码计算
5 * (3 + 2)
,结果为25
,并将结果返回到 Excel 中。
示例 4: 执行 Python 脚本(相对路径)
用法:执行存储在相对路径中的 Python 脚本,并返回输出。
=Python_执行相对路径脚本("scripts/hello_world.py")
说明:
- 这段代码执行
scripts
文件夹中的hello_world.py
脚本,并返回脚本的输出结果。如果脚本中有print
语句,这些输出会返回到 Excel 中。
示例 5: 执行 Python 脚本(绝对路径)
用法:执行存储在绝对路径中的 Python 脚本,并返回输出。
=Python_执行绝对路径脚本("C:\PythonScripts\calculate.py")
说明:
- 这段代码执行位于
C:\PythonScripts\
文件夹中的calculate.py
脚本,并返回脚本的输出结果。
示例 6: 获取当前 Python 解释器的路径
用法:获取当前配置的 Python 解释器的路径。
=Python_获取解释器路径()
说明:
- 这段代码返回当前配置的 Python 解释器的路径,帮助用户了解正在使用哪个 Python 环境。
示例 7: 启动 Python API 服务
用法:启动内置的 Python API 服务。注意: 不要使用函数调用,在脚本中调用例如VBA中使用比较好!
=Python_启动API服务()
说明:
- 这段代码启动 Python API 服务,并返回启动状态和消息,表示服务是否启动成功。
示例 8: 停止 Python API 服务
用法:停止运行的 Python API 服务。注意: 不要使用函数调用,在脚本中调用例如VBA中使用比较好!
=Python_停止API服务()
说明:
- 这段代码停止正在运行的 Python API 服务,并返回停止状态和消息。
示例 9: 执行包含错误的 Python 代码并捕获异常
用法:执行一段包含语法错误的 Python 代码,查看错误处理情况。
=Python_执行代码("print('Hello, World!)") # 注意缺少一个引号
说明:
- 由于代码中缺少一个引号,这段代码将会产生语法错误。函数将捕获并返回错误信息,帮助用户调试。
示例 10: 执行复杂的 Python 代码片段
用法:在 Excel 中执行复杂的 Python 代码,计算并返回多个结果。
=Python_执行代码("
import math
result1 = math.sqrt(144)
result2 = math.pow(2, 10)
result3 = sum(range(1, 11))
print(f'Result 1: {result1}, Result 2: {result2}, Result 3: {result3}')
")
说明:
- 这段代码计算并返回多个结果,包括平方根、指数运算和范围求和,输出将会是:
Result 1: 12.0, Result 2: 1024.0, Result 3: 55
。
关键点总结
- 多种使用场景:这些示例展示了如何使用 Python 处理简单和复杂的任务,包括数学计算、脚本执行、API 服务控制等。
- 实时交互:Excel 用户可以通过这些自定义函数实时与 Python 进行交互,执行代码并立即获取结果。
- 错误处理:通过捕获和返回 Python 执行过程中的错误信息,用户可以在 Excel 环境中调试和修正代码。
四、筛选函数
4.1 筛选_Table
函数使用说明
1. 函数作用
筛选_Table
函数是一个用于 Excel 的自定义函数,专为从多列数据中筛选出符合特定条件的行而设计。该函数支持多种筛选条件,包括比较运算符、逻辑运算符、字符串操作、日期时间比较等,提供了一种强大且灵活的方式来处理 Excel 中的数据筛选任务。
2. 函数语法
筛选_Table(dataRange, filterCondition, [useColumnHeaders])
3. 参数说明
-
dataRange
: 要筛选的数据区域。输入为Excel单元格区域,例如A1:D10
。 -
filterCondition
: 筛选条件的字符串表达式,使用类似 SQL 的语法,可以包含比较运算符、逻辑运算符、字符串操作等。 -
useColumnHeaders
(可选): 布尔值,决定是否使用数据区域的第一行作为列标题。如果为TRUE
,则第一行将被视为列名;默认为FALSE
,此时列名将使用Column1
,Column2
等名称。
4. 使用示例
以下示例展示了如何在 Excel 中使用 筛选_Table
函数进行数据筛选。每个示例都展示了不同的运算符和功能。
1. 基本比较运算符
假设我们有以下数据:
A | B | C | D |
---|---|---|---|
Name | Age | City | Salary |
Alice | 25 | New York | 70000 |
Bob | 30 | Los Angeles | 80000 |
Charlie | 35 | New York | 90000 |
David | 40 | Chicago | 100000 |
Eva | 45 | Miami | 110000 |
等于(=)和不等于(<>)
=筛选_Table(A1:D6, "Age = 30", TRUE)
返回:Bob, 30, Los Angeles, 80000
=筛选_Table(A1:D6, "City <> 'New York'", TRUE)
返回:Bob, 30, Los Angeles, 80000; David, 40, Chicago, 100000; Eva, 45, Miami, 110000
大于(>)和小于(<)
=筛选_Table(A1:D6, "Salary > 90000", TRUE)
返回:David, 40, Chicago, 100000; Eva, 45, Miami, 110000
=筛选_Table(A1:D6, "Age < 35", TRUE)
返回:Alice, 25, New York, 70000; Bob, 30, Los Angeles, 80000
大于等于(>=)和小于等于(<=)
=筛选_Table(A1:D6, "Age >= 40", TRUE)
返回:David, 40, Chicago, 100000; Eva, 45, Miami, 110000
=筛选_Table(A1:D6, "Salary <= 80000", TRUE)
返回:Alice, 25, New York, 70000; Bob, 30, Los Angeles, 80000
2. 逻辑运算符
AND(与)
=筛选_Table(A1:D6, "Age > 30 AND Salary < 100000", TRUE)
返回:Charlie, 35, New York, 90000
OR(或)
=筛选_Table(A1:D6, "City = 'Chicago' OR City = 'Miami'", TRUE)
返回:David, 40, Chicago, 100000; Eva, 45, Miami, 110000
NOT(非)
=筛选_Table(A1:D6, "NOT (City = 'New York')", TRUE)
返回:Bob, 30, Los Angeles, 80000; David, 40, Chicago, 100000; Eva, 45, Miami, 110000
3. 字符串操作
LIKE(匹配模式)
=筛选_Table(A1:D6, "Name LIKE 'A%'", TRUE)
返回:Alice, 25, New York, 70000
IN(多个匹配)
=筛选_Table(A1:D6, "City IN ('New York', 'Chicago')", TRUE)
返回:Alice, 25, New York, 70000; Charlie, 35, New York, 90000; David, 40, Chicago, 100000
4. 空值判断
IS NULL(为空)
假设数据中某些单元格为空:
A | B | C | D |
---|---|---|---|
Name | Age | City | Salary |
Alice | 25 | New York | 70000 |
Bob | 30 | Los Angeles | 80000 |
Charlie | 35 | 90000 | |
David | 40 | Chicago | 100000 |
Eva | Miami | 110000 |
=筛选_Table(A1:D6, "City IS NULL", TRUE)
返回:Charlie, 35, , 90000
IS NOT NULL(不为空)
=筛选_Table(A1:D6, "Age IS NOT NULL", TRUE)
返回:Alice, 25, New York, 70000; Bob, 30, Los Angeles, 80000; Charlie, 35, , 90000; David, 40, Chicago, 100000
5. 日期操作
假设数据表如下:
A | B | C | D |
---|---|---|---|
Name | Age | HireDate | Salary |
Alice | 25 | 2020-01-15 | 70000 |
Bob | 30 | 2019-06-01 | 80000 |
Charlie | 35 | 2018-09-10 | 90000 |
David | 40 | 2021-04-22 | 100000 |
Eva | 45 | 2022-12-30 | 110000 |
日期比较
=筛选_Table(A1:D6, "HireDate > #2020-01-01#", TRUE)
返回:Alice, 25, 2020-01-15, 70000; David, 40, 2021-04-22, 100000; Eva, 45, 2022-12-30, 110000
6. 运算符优先级
运算符优先级控制了表达式的计算顺序,可以通过使用括号 ()
明确优先级。
=筛选_Table(A1:D6, "(Age > 30 OR Salary > 90000) AND City = 'New York'", TRUE)
返回:Charlie, 35, New York, 90000
5. 正则表达式筛选示例
筛选_Table
函数支持通过正则表达式进行高级字符串匹配。这使得它在处理复杂的文本数据时非常强大,例如筛选出以特定字符开头、包含特定模式的字符串。
在 筛选_Table
函数中,你可以使用自定义函数 CustomRegexMatch
来实现正则表达式的筛选。以下是几个使用正则表达式进行筛选的示例。
假设我们有以下数据:
A | B | C | D |
---|---|---|---|
Name | Age | City | Salary |
Alice | 25 | New York | 70000 |
Bob | 30 | Los Angeles | 80000 |
Charlie | 35 | New York | 90000 |
David | 40 | Chicago | 100000 |
Eva | 45 | Miami | 110000 |
Ann | 28 | Boston | 75000 |
Daniel | 38 | Dallas | 95000 |
1. 筛选出以字母 "A" 开头的名字
=筛选_Table(A1:D8, "CustomRegexMatch(Name, '^A')", TRUE)
返回:Alice, 25, New York, 70000; Ann, 28, Boston, 75000
2. 筛选出名字以 "e" 结尾的行
=筛选_Table(A1:D8, "CustomRegexMatch(Name, 'e$')", TRUE)
返回:Charlie, 35, New York, 90000; Eve, 45, Miami, 110000
3. 筛选出名字包含 "an" 的行
=筛选_Table(A1:D8, "CustomRegexMatch(Name, 'an')", TRUE)
返回:Ann, 28, Boston, 75000; Daniel, 38, Dallas, 95000
4. 筛选出城市名称以 "New" 开头的行
=筛选_Table(A1:D8, "CustomRegexMatch(City, '^New')", TRUE)
返回:Alice, 25, New York, 70000; Charlie, 35, New York, 90000
5. 筛选出包含数字的城市名称
假设我们的数据表包含一些带有数字的城市名称:
A | B | C | D |
---|---|---|---|
Name | Age | City | Salary |
Alice | 25 | New York1 | 70000 |
Bob | 30 | Los Angeles | 80000 |
Charlie | 35 | New York2 | 90000 |
David | 40 | Chicago | 100000 |
Eva | 45 | Miami3 | 110000 |
Ann | 28 | Boston | 75000 |
Daniel | 38 | Dallas | 95000 |
=筛选_Table(A1:D8, "CustomRegexMatch(City, '[0-9]')", TRUE)
返回:Alice, 25, New York1, 70000; Charlie, 35, New York2, 90000; Eva, 45, Miami3, 110000
常用正则表达式模式示例
-
^A
: 匹配以字母 "A" 开头的字符串。 -
e$
: 匹配以字母 "e" 结尾的字符串。 -
.*an.*
: 匹配包含 "an" 的字符串。 -
[0-9]
: 匹配包含数字的字符串。
注意事项
- 正则表达式大小写敏感:如果需要忽略大小写,可以在表达式中使用适当的模式修饰符,或者通过自定义函数进行进一步处理。
- 性能考虑:正则表达式的匹配功能强大,但在处理大数据量时可能会影响性能。
筛选_Table
已经通过并行处理优化了性能,但在极大数据集上,仍需考虑性能问题。 - 复杂表达式的使用:你可以结合多个正则表达式进行复杂筛选。例如,筛选出以 "A" 开头且以 "e" 结尾的名字,可以使用以下表达式:
=筛选_Table(A1:D8, "CustomRegexMatch(Name, '^A.*e$')", TRUE)
返回:Alice, 25, New York, 70000
通过使用正则表达式,筛选_Table
函数为处理复杂的文本数据提供了灵活的工具。希望这些示例能够帮助你在 Excel 中更好地利用这一功能,实现复杂的数据筛选需求。
4.2 其它筛选函数
不会用上面筛选表达式?没关系~下面有一些降低难度的筛选函数!
假设你在Excel工作表中有以下数据,存储在一个名为“数据”的区域中:
日期 | 产品 | 销售额 | 数量 | 地区 | 备注 |
---|---|---|---|---|---|
2023-01-01 | Apple | 100 | 10 | East | Urgent |
2023-01-02 | Orange | 150 | 20 | West | |
2023-01-03 | Banana | 50 | 5 | North | |
2023-01-04 | Grape | 120 | 12 | South | |
2023-01-05 | Apple | 200 | 25 | East | |
2023-01-06 | Orange | 300 | 30 | West | Special Order |
在这个案例中,你可以使用我们定义的筛选函数来处理和分析数据。
注意下面所有的函数,最后一个参数需要指定是否使用标题,建议使用公式插入面板来看参数提示。
1. 筛选_大于
描述:筛选出列中大于指定值的行。
示例:
=筛选_大于(数据, "销售额", 100)
描述:返回销售额大于100的所有行。
2. 筛选_小于
描述:筛选出列中小于指定值的行。
示例:
=筛选_小于(数据, "销售额", 100)
描述:返回销售额小于100的所有行。
3. 筛选_介于
描述:筛选出列中介于指定范围的行。
示例:
=筛选_介于(数据, "销售额", 50, 200)
描述:返回销售额在50到200之间的所有行。
4. 筛选_等于
描述:筛选出列中等于指定值的行。
示例:
=筛选_等于(数据, "销售额", 150)
描述:返回销售额等于150的所有行。
5. 筛选_不等于
描述:筛选出列中不等于指定值的行。
示例:
=筛选_不等于(数据, "销售额", 150)
描述:返回销售额不等于150的所有行。
6. 筛选_包含
描述:筛选出列中包含指定字符串的行。
示例:
=筛选_包含(数据, "备注", "Urgent")
描述:返回备注中包含“Urgent”的所有行。
7. 筛选_不包含
描述:筛选出列中不包含指定字符串的行。
示例:
=筛选_不包含(数据, "备注", "Urgent")
描述:返回备注中不包含“Urgent”的所有行。
8. 筛选_正则匹配
描述:筛选出列中符合正则表达式的行。
示例:
=筛选_正则匹配(数据, "产品", "^A.*")
描述:返回产品名称以“A”开头的所有行。
9. 筛选_空值
描述:筛选出列中为空值的行。
示例:
=筛选_空值(数据, "备注")
描述:返回备注为空值的所有行。
10. 筛选_非空值
描述:筛选出列中为非空值的行。
示例:
=筛选_非空值(数据, "备注")
描述:返回备注不为空的所有行。
11. 筛选_唯一值
描述:筛选出列中唯一值的行。
示例:
=筛选_唯一值(数据, "产品")
描述:返回产品列中只出现一次的产品对应的行。
12. 筛选_去重
描述:筛选出列中去除重复值的行。
示例:
=筛选_去重(数据, "产品")
描述:返回产品列中不重复的所有产品对应的行。
13. 筛选_数据治理
描述:筛选出列中不符合数据治理规则的行,例如空值、异常值。
示例:
=筛选_数据治理(数据, "备注")
描述:返回备注列中不符合数据治理规则的所有行(如空值)。
14. 筛选_缺失数据
描述:筛选出包含缺失数据的行。
示例:
=筛选_缺失数据(数据, {"备注", "销售额"})
描述:返回备注或销售额中有缺失值的所有行。
15. 筛选_高频值
描述:筛选出列中出现频率最高的前 N 个值的行。
示例:
=筛选_高频值(数据, "产品", 2)
描述:返回产品列中最常见的前2个产品对应的行。
16. 筛选_趋势分析
描述:筛选出列中具有上升或下降趋势的行,适合时间序列数据。
示例:
=筛选_趋势分析(数据, "日期", "销售额", TRUE)
描述:返回销售额具有上升趋势的行。
17. 筛选_异常检测
描述:筛选出列中可能的异常值,使用Z值方法。
示例:
=筛选_异常检测(数据, "销售额", 2.0)
描述:返回销售额列中异常值(Z值大于2)的行。
18. 筛选_日期范围
描述:筛选出日期列在指定范围内的行。
示例:
=筛选_日期范围(数据, "日期", DATE(2023,1,2), DATE(2023,1,4))
描述:返回日期在2023年1月2日至4日之间的行。
19. 筛选_条件组合
描述:组合多个条件进行筛选,适合复杂的多条件筛选。
示例:
=筛选_条件组合(数据, "销售额 > 100", "数量 < 20")
描述:返回销售额大于100且数量小于20的所有行。
20. 筛选_动态列计算
描述:根据动态计算结果进行筛选。
示例:
=筛选_动态列计算(数据, "销售额 > 数量 * 10")
描述:返回销售额大于数量乘以10的所有行。
21. 筛选_倒数TopN
筛选出列中倒数前 N 个数据的行。
=筛选_倒数TopN(数据, "销售额", 3)
描述:返回销售额最低的前三行。
22. 筛选_空格剔除
剔除列中包含空格的行。
=筛选_空格剔除(数据, "备注")
描述:返回备注中不包含空格的所有行。
23. 筛选_负值
筛选出列中为负值的行。
=筛选_负值(数据, "销售额")
描述:返回销售额为负值的所有行。
24. 筛选_零值
筛选出列中为零值的行。
=筛选_零值(数据, "销售额")
描述:返回销售额为零值的所有行。
25. 筛选_非零值
筛选出列中非零值的行。
=筛选_非零值(数据, "销售额")
描述:返回销售额不为零的所有行。
26. 筛选_非负值
筛选出列中为非负值的行。
=筛选_非负值(数据, "销售额")
描述:返回销售额为非负值的所有行。
27. 筛选_文本长度
筛选出列中文本长度满足指定条件的行。
=筛选_文本长度(数据, "产品", 5, 6)
描述:返回产品名称长度在5到6个字符的所有行。
28. 筛选_列总和大于
筛选出列中数值总和大于指定值的行。
=筛选_列总和大于(数据, {"销售额", "数量"}, 200)
描述:返回销售额和数量之和大于200的所有行。
29. 筛选_列平均值小于
筛选出列中数值平均值小于指定值的行。
=筛选_列平均值小于(数据, {"销售额", "数量"}, 50)
描述:返回销售额和数量的平均值小于50的所有行。
30. 筛选_日期等于
筛选出列中日期等于指定日期的行。
=筛选_日期等于(数据, "日期", DATE(2023,1,3))
描述:返回日期为2023年1月3日的所有行。
31. 筛选_日期不等于
筛选出列中日期不等于指定日期的行。
=筛选_日期不等于(数据, "日期", DATE(2023,1,3))
描述:返回日期不为2023年1月3日的所有行。
32. 筛选_日期在范围内
筛选出列中日期在指定范围内的行。
=筛选_日期在范围内(数据, "日期", DATE(2023,1,2), DATE(2023,1,4))
描述:返回日期在2023年1月2日到4日之间的所有行。
33. 筛选_日期不在范围内
筛选出列中日期不在指定范围内的行。
=筛选_日期不在范围内(数据, "日期", DATE(2023,1,2), DATE(2023,1,4))
描述:返回日期不在2023年1月2日到4日之间的所有行。
34. 筛选_日期为周末
筛选出列中日期为周末的行。
=筛选_日期为周末(数据, "日期")
描述:返回日期为周末的所有行。
35. 筛选_日期为工作日
筛选出列中日期为工作日的行。
=筛选_日期为工作日(数据, "日期")
描述:返回日期为工作日的所有行。
36. 筛选_列中最大值
筛选出列中最大值的行。
=筛选_列中最大值(数据, "销售额")
描述:返回销售额为最大值的行。
37. 筛选_列中最小值
筛选出列中最小值的行。
=筛选_列中最小值(数据, "销售额")
描述:返回销售额为最小值的行。
38. 筛选_满足所有条件
筛选出满足所有条件的行。
=筛选_满足所有条件(数据, "销售额 > 100", "数量 < 25")
描述:返回销售额大于100且数量小于25的所有行。
39. 筛选_满足任一条件
筛选出满足任一条件的行。
=筛选_满足任一条件(数据, "销售额 > 200", "数量 = 5")
描述:返回销售额大于200或数量等于5的所有行。
40. 筛选_非空文本
筛选出列中非空文本的行。
=筛选_非空文本(数据, "备注")
描述:返回备注中非空文本的所有行。
41. 筛选_以指定文本开头
筛选出列中以指定文本开头的行。
=筛选_以指定文本开头(数据, "产品", "Ap")
描述:返回产品名称以“Ap”开头的所有行。
42. 筛选_以指定文本结尾
筛选出列中以指定文本结尾的行。
=筛选_以指定文本结尾(数据, "备注", "Order")
描述:返回备注以“Order”结尾的所有行。
43. 筛选_值为null或空
筛选出列中值为null或空的行。
=筛选_值为null或空(数据, "备注")
描述:返回备注中值为null或空的所有行。
44. 筛选_排除指定值
筛选出列中排除指定值的行。
=筛选_排除指定值(数据, "产品", "Banana")
描述:返回产品不为Banana的所有行。
45. 筛选_值范围
筛选出列中值在指定范围内的行。
=筛选_值范围(数据, "销售额", 50, 150)
描述:返回销售额在50到150之间的所有行。
46. 筛选_特定字符串存在次数
筛选出列中某特定字符串存在指定次数的行。
=筛选_特定字符串存在次数(数据, "备注", "Order", 1)
描述:返回备注中包含“Order”1次的所有行。
47. 筛选_指定列中至少一个值大于
筛选出某列中至少有一个值大于指定值的行。
=筛选_指定列中至少一个值大于(数据, {"销售额", "数量"}, 100)
描述:返回销售额或数量中至少有一个值大于100的所有行。
48. 筛选_指定列中所有值大于
筛选出某列中所有值都大于指定值的行。
=筛选_指定列中所有值大于(数据, {"销售额", "数量"}, 50)
描述:返回销售额和数量都大于50的所有行。
49. 筛选_特定字符开头的行
筛选出某列中以特定字符开头的所有行。
=筛选_特定字符开头的行(数据, "产品", "A")
描述:返回产品名称以"A"开头的所有行。
50. 筛选_特定字符结尾的行
筛选出某列中以特定字符结尾的所有行。
=筛选_特定字符结尾的行(数据, "备注", "d")
描述:返回备注以“d”结尾的所有行。