【问题标题】:Write data from a list if the adjacent cell contains certain string如果相邻单元格包含特定字符串,则从列表中写入数据
【发布时间】:2022-01-23 20:51:22
【问题描述】:

我需要更新数百个单元格,这将是微不足道的自动化,但我无法使其工作。

我有一个如下列表:

并且,在另一个选项卡中,我必须根据其他列中 twitter 句柄的外观,用上面的值(在 B 中)填充一个列表。

名称位于一个长文本字符串中(它们都以 @ 开头),并且无法根据这些名称重新排序列表。此外,名称多于值,因此某些单元格将保持空白。

如果该行中 A 列中的名称包含在相邻字符串中,我是否可以编写一个公式将第一个列表的值写入第二个列表?

谢谢!

【问题讨论】:

  • 我不清楚您的设置或数据的性质。源表的名称是什么?每张纸的第 1 行是否有标题?数据是否从每张纸的第 2 行开始?此外,如果您可以共享一个“名称”的 realistic 样本,因为它可能出现在第一张表 Col-A 中,以及一个 realistic 样本的字符串将从第二张表的 Col-C 匹配。每个细节都很重要。
  • 非常真实!我编辑了这个问题,试图让它尽可能清晰。
  • 第一个选项卡/工作表的名称是什么?

标签: string list google-sheets formula spreadsheet


【解决方案1】:

您可以参考这个示例公式(使用了同一张表):

=arrayformula(if(C2:C<>"",iferror(vlookup(REGEXEXTRACT(C2:C,"\B\@\w+"),A2:B,2,false),""),""))

它有什么作用?

  • 使用数组公式循环列 C 值
  • 使用Regexextract()提取推特名称(以@开头的字符串)
  • 使用提取的@twittername 作为搜索键来获取使用vlookup() 的连接值

输出:

【讨论】:

    【解决方案2】:

    由于我们无权访问电子表格,因此我无法确定第二张工作表的 Col-A 单元格中的换行符是什么。并且使用这个换行符很重要,因为 Twitter 句柄可能使用一些非字母数字字符,例如下划线和其他不包含在诸如\w 等 REGEX 符号中的其他字符。我在这里假设换行符是 ASCII 图表中的 CHAR(10)。

    我也不知道你第一张纸的名字;所以在这里,我把它写成Sheet1。您需要将其替换为您的实际工作表名称,如果它包含除字母数字字符以外的任何内容(例如,'Data Sheet'),请记住将其放在单引号中。

    也就是说,删除第二张表中 Col-B 中的所有内容(包括标题“连接”),并将以下公式放在第二张表的单元格 B1 中):

    =ArrayFormula({"Connections"; IF(A2:A="",, IFERROR(VLOOKUP(REGEXEXTRACT(SUBSTITUTE(A2:A,CHAR(10),"~"),"@[^~]+"),Sheet1!A:B,2,FALSE)))})

    【讨论】:

      猜你喜欢
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多