【问题标题】:Google Sheets Using RegEX To Reformat & Concatenate使用 RegEX 格式化和连接的 Google 表格
【发布时间】:2020-07-31 19:03:00
【问题描述】:

Link To Spreadsheet

  • Sheet!1Name - 名称在单列中
  • Sheet!2Names - 名字在名字、姓氏列中。

我要做的基本上是删除所有后缀、特殊字符和空格,将这些信息大写,并将其与来自另一个字段的信息结合起来。

我能够弄清楚如何拼凑一些似乎可以有效摆脱后缀并删除特殊字符的正则表达式。它在下面。这就是我的技能停止的地方。

={"PlayerKey";ARRAYFORMULA(UPPER(IF(ISBLANK(C2:C8),,PROPER(TRIM(REGEXREPLACE(C2:C8," Jr\.$| J$| Sr\.$| S$|IV$|III$|II$|\.|-|'",""))))))}

我在嵌套公式时遇到问题 - 我相信我需要做的是嵌套 concat 和替换,但不确定这是否是获取工作表中“所需输出示例”的方法。我也无法理解做事的顺序,这就是我认为 2Name 遇到问题的原因。

【问题讨论】:

  • 请编辑您的问题并通过添加您的测试数据使其独立
  • 在屏幕截图中添加 :-)

标签: regex google-sheets google-sheets-formula


【解决方案1】:

在名为 MK.Help 的新选项卡的 A1 中如何?

=ARRAYFORMULA({"Player Key";UPPER(TRIM(REGEXREPLACE(IF(MID(C2:C8,2,1)=".",INDEX(SPLIT(C2:C8," "),,1),LEFT(C2:C8))&D2:D8," Jr\.$| J$| Sr\.$| S$|IV$|III$|II$|\.|-|'",""))&E2:E8)})

【讨论】:

  • 太棒了——所以只有两件事——你能解释一下哪些部分在做什么吗?我试图让它在 1Name 上工作,但我没有正确地做某事。另外-假设我想在球员姓名和位置之间添加-...这可能吗?只是想尽可能地理解这一点。
  • 实际上 - 我注意到另一件小事 - 所以在 A.J. Epenesa 它正在制作他的钥匙 AJEPENESADL 而不是 AEPENESA
  • 修复 AJ 问题....这是您的公式稍作修改的版本:=ARRAYFORMULA({"Player Key";UPPER(TRIM(REGEXREPLACE(IF(MID(C2:C8,2,1)=".",INDEX(SPLIT(C2:C8,"."),,1),LEFT(C2:C8))&D2:D8," Jr\.$| J$| Sr\.$| S$|IV$|III$|II$|\.|-|'",""))&E2:E8)})
  • 我以为 AJEPENESAD 是目标。道歉。如果没有找到像“AJ”这样的“初始”名称的要求,它会简单得多。它应该看起来像这样: =ARRAYFORMULA({"Player Key";UPPER(TRIM(REGEXREPLACE(LEFT(C2:C8)&D2:D8,"Jr\.$| J$| Sr\.$| S$|IV $|III$|II$|\.|-|'",""))&"-"&E2:E8)})
  • 太棒了...就是这样!
猜你喜欢
  • 2020-03-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
  • 1970-01-01
  • 2012-11-21
  • 1970-01-01
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多