【问题标题】:Extracting words from strings when string format differs (Google sheets)当字符串格式不同时从字符串中提取单词(Google表格)
【发布时间】:2021-03-09 13:05:06
【问题描述】:

我正在尝试从字符串行中提取广告系列名称。问题是广告系列名称格式不同。

  • 在这种情况下,提取粗体广告活动名称的最佳方法是什么?
  • 是否可以将 IF 和 TRIM 函数结合使用?

开始在多个广告系列中重复:

  • AO:11112_LTV_EDP_
  • AO:12311_
  • RTU_EDP_CHIKITA_
  • AO:15616_FI_

活动列表:

  • AO:11112_LTV_EDP_BAMBINO_All_Q1BeesAreGettingThem_mumba_jumba_v23
  • AO:12311_slimyinfluencer_v24_photoad
  • RTU_EDP_CHIKITA_PlainSnail_ai_karamba_v2
  • AO:15616_FI_potatogoestohollywood_hail_the_snail_0

如果是单一格式,我使用的是公式:

=TRIM(SPLIT((MID(A2,(SEARCH("EDP",A2)),LEN(A2))),"_"))

感谢您的帮助!

【问题讨论】:

  • 除非我们找到一个模式,否则很难为所有人制定一个公式。不过,除了“蜗牛”之外,它们都非常相似。
  • 是的,如果你不能表达识别活动名称的“规则”,那么就没有公式或代码来提取它们。它们不是第一个词在第三个下划线或任何我能辨别的逻辑之后。您能否用文字描述在您的示例中如何找到广告系列名称?是否类似于:倒数第二个下划线之前的文本?
  • 根据最佳实践,活动命名应该遵循:国家 - 部门 - 品牌 - 活动名称 - 活动目标 - 购买方式 - 目标结构,看起来像 RTU_EDP_CHIKITA_PlainSnail_ai_karamba_v2 但似乎在大多数情况。如果其他 3 种类型的偏差重复出现,有没有办法编写公式?
  • 仅当偏差有一些逻辑或一致性时。例如,如果他们都忽略了品牌。然后我们可以搜索每个字符串,并且缺少一个术语,我们知道使用第三个术语来表示 Campaign,而不是第四个。或者,如果在所有情况下,它们始终包含广告系列名称、广告系列目标和购买方法,我们将始终采用右数第三个术语。甚至可能,限制,如购买方法总是 2 或 3 个章节的长度。您可以给我们的“规则”越多,找到公式的机会就越大。给我们很多例子,有结果!
  • 但是您的第三个示例使我们不太可能得到答案。当PlainSnail一词在下划线之间时如何提取“Snail”,大写字母似乎无关紧要。我觉得您的数据太不标准,无法完成这项工作 - 除非您能找到逻辑和文字来说明您如何知道 Snail 是该示例中的广告系列名称...?

标签: google-sheets google-sheets-formula trim texttrimming


【解决方案1】:

如果活动数量有限,您可以列出所有已知的活动名称,然后从较长的字符串中提取它们。

如何制作清单。 如果你输入 B2:

=regexextract(a2,"Q1BeesAreGettingThem|slimyinfluencer|Snail|potatogoestohollywood") - this will extract the name of campaign found.

如果有例如 50 个广告系列名称并且还在增长,您可以用您的广告系列名称创建一个列(假设在 D 列中)

然后将所有这些名称加入一个表达式并放入 regexectract:

=regexextract(a2,join("|",D2:D))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多