google-sheets - 如何使用 REGEXEXCTRACT 从一个非常长的文本单元格创建多个子字符串?
问题描述
在我的工作表中,单元格 A1 包含一个很长的逗号分隔文本字符串。
A1(示例) ="value1,value2,value3,value4,value5,value6,value7,value8,value9,value10,...etc.")
我正在使用以下 regexextract 公式,以便提取前 1000 个字符,但不会在逗号分隔值的中间截断结果文本。这将确保字符串的结尾是最后一个适合的 FULL VALUE。
单元格 B1=IF(LEN(A1)<=200,A1,REGEXEXTRACT(A1,"(.{0,1000}),"))
上面的函数完美地工作,但我不知道如何让单元格 B2 开始于单元格 B1 结束的地方,参考我的主文本字符串 A1。这意味着如果它在下面的示例中以单元格 B1 中的value45 结尾,我需要单元格 B2在单元格 B1 的文本字符串中用于结束value45的逗号之后开始。
B1(结果字符串示例)"value1,.....,value45"
我需要在单元格 B2、B3、B4 等中一遍又一遍地执行 B1 的相同功能,直到将整个文本提取到 1000 个字符的子字符串块中并完成。
有谁知道我该如何解决这个问题?在未来的项目中,单元格 A1 的字符长度总是会改变,所以我需要它对于任何大于 200 个字符的字符长度都是动态的。我也不能使用脚本编辑器,因为这是管理层给我的要求
解决方案
试试这些公式:
B1:=regexextract(A1, "(.{0,1000})(?:,|$)")
B2:=regexextract( mid(A$1, len(join(",", B$1:B1)) + 2, len(A$1)), "(.{0,1000})(?:,|$)" )
您可以将 B2 中的公式复制下来以获取更多值。
推荐阅读
- node.js - 无法在 ElasticBeanstlk 上获取“/”,但可以在本地获取
- powershell - 从注册表解析谷歌浏览器的安装路径
- python - 如何在 Python 中使用 Selenium 完全关闭选项卡?
- r - 使用同一数据框中的数值在数据框中创建新的分类列?
- flutter - 如何将数据传递给颤振应用程序中的类
- java - Karaf 捆绑包没有出现,无法启动捆绑包
- sql - 如何在 SQL Server 中创建忽略 NULL 值的计算几何列
- python - Python请求多个表单文件发布
- java - 403 Forbidden Error - Java , java.net.HttpURLConnection 不能在 aws-ec2 机器上工作,但在本地工作站上工作正常
- go - 提取结构的 FIELD 名称并将它们放入字符串切片中