使用=Left的带有子字符串替换文本的Google表格问题

Posted

技术标签:

【中文标题】使用=Left的带有子字符串替换文本的Google表格问题【英文标题】:Google Sheets Problem w/ Substring Replacement Text Using =Left 【发布时间】:2020-11-18 18:25:36 【问题描述】:

尝试修复一些格式错误的数据。这是我正在使用的公式:

="Final Name";ARRAYFORMULA(IFERROR(IF(ISBLANK(E3:E),,LEFT(E3:E,find(".",E3:E)-2))))

这是 colE 中的数据示例。列表缩进不是数据的一部分,它只是为了便于阅读而在此处格式化。我猜我需要一些正则表达式或其他东西,但这有点超出了我的范围。

CeeDee LambC.羊肉 DAL J.K.多宾斯J。多宾斯 BAL 小安东尼麦克法兰麦克法兰坑 迈克尔·沃伦 IIM。沃伦 PHI

第一个生产 CeeDee Lamb。那很完美。其余的都不起作用 - 这是意料之中的,但我不知道如何解决。

我希望它产生的是:J.K.多宾斯 它实际产生的是:(空白单元格) 我希望它产生的是:Anthony McFarland 它实际产生的是:Anthony McFarland J 我希望它产生的是:Michael Warren 它实际产生的是:迈克尔·沃伦二世

有什么想法吗?

【问题讨论】:

【参考方案1】:

尝试:

=ARRAYFORMULA(REGEXREPLACE(TRANSPOSE(QUERY(TRANSPOSE(IFERROR(
 ARRAY_CONSTRAIN(SPLIT(A1:A, " "), 9^9, 2))),, 9^9)), "[A-Z]?\.$", ))

【讨论】:

以上是关于使用=Left的带有子字符串替换文本的Google表格问题的主要内容,如果未能解决你的问题,请参考以下文章

替换从字符开始并以另一个字符结束的文本文件中的子字符串

替换数据库文本字段中所有出现的子字符串

用字典替换子字符串的最快方法(在大型数据集上)

String的replace方法怎么转换带有特殊字符的子字符串?

带有子查询语法的 LEFT OUTER JOIN

Clickhouse LEFT JOIN 部分匹配(或子选择)