首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google拆分功能是将文本转换为日期,然后再拆分

Google拆分功能是将文本转换为日期,然后再拆分
EN

Web Applications用户
提问于 2016-11-02 16:22:27
回答 2查看 1.8K关注 0票数 1

我有一个带有逗号分隔值的列,如下所示:

代码语言:javascript
运行
复制
Thursday 9-10   
Thursday 7-8    
Thursday 8-9, Thursday 9-10
Thursday 8-9, Thursday 9-10, Thursday 7-8
...

(编辑后又添加了一个示例)

我想得到每个值,所以我决定使用split,如下所示:

=if(iserror(find(",",A1)), A1, split(A1, ","))

并返回以下内容:

代码语言:javascript
运行
复制
Thursday 9-10   
Thursday 7-8    
Tuesday 8-9 Saturday 9-10
Tuesday 8-9 Saturday 9-10   Friday 7-8

(编辑后又添加了一个示例)

在我看来,拆分函数不是以纯文本形式读取单元格(尽管我将其格式化为纯文本),而是作为日期,然后在此基础上拆分。

有人能向我解释一下为什么会发生这种事吗?我怎样才能让它不被当作约会对象呢?

我曾尝试将单元格与"" & A1连接到一个字符串,但这也失败了。

返回前两个值是因为这些单元格中没有逗号。

EN

回答 2

Web Applications用户

回答已采纳

发布于 2016-11-09 05:14:28

最简单的方法是使用regex重置函数,它在默认情况下也有效地将字符串保留为字符串,并且它非常动态,因此它是我最喜欢的函数之一:

代码语言:javascript
运行
复制
=IFERROR(REGEXEXTRACT(A4,"("®EXREPLACE(A4,", ","), (")&")"),A4)

解释:

我首先通过动态构建自己的正则表达式,将, (带空格的逗号)放置到相反的圆括号之间,这会部分地在我想要的文本片段周围创建捕获组。

它开始创建一个如下所示的字符串:

代码语言:javascript
运行
复制
Thursday 8-9), (Thursday 9-10), (Thursday 7-8

要完成捕获组,我用开始和结束括号开始和结束字符串,如下所示:

代码语言:javascript
运行
复制
="("®EXREPLACE(A4,", ","), (")&")")

它有效地创建了这样一个变量:

代码语言:javascript
运行
复制
(Thursday 8-9), (Thursday 9-10), (Thursday 7-8)

默认情况下,捕获组会自动将每个组推送到它自己的单元格中,而且由于我不告诉它括号中必须包含什么,所以它只应该使用逗号和空格来知道组的结尾和开始位置,所以我用regex提取函数来结束它。

对于没有逗号可替换的情况,它会抛出一个错误,因此最简单的方法是用iferror包装整个事件,以便在这些情况下只返回原始单元格:

票数 2
EN

Web Applications用户

发布于 2016-11-02 17:22:56

这是一个黑客,但请尝试:

代码语言:javascript
运行
复制
=split(t("'"&A1&char(160)),",")

t省去了准备单元格格式和非中断空间来强制文本(但不明显)的麻烦。

票数 2
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/99970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档