【问题标题】:Google Sheets | Search Range for substring in referenced cell and if found, then "Y"谷歌表格 |在引用单元格中搜索子字符串的范围,如果找到,则 \"Y\"
【发布时间】:2022-09-28 05:25:20
【问题描述】:

我无法找到一个有效的公式来搜索范围 (\'AC 3\'!$B4:B) 中引用的单元格(跟踪 3 中的 $A6)中的子字符串,如果它返回 true,则为“Y\”将显示。

我目前有一个谷歌表格,用于通过搜索引用的与会者的范围(复制和粘贴的聊天消息)来跟踪网络研讨会的出席情况,如果找到与会者的姓名,则会在其中放置一个“Y”那个细胞。该工作表目前适用于我们之前的网络研讨会平台,因为粘贴聊天消息时,与会者的姓名被隔离在其自己的单元格中,但是,新平台以以下格式复制:\“来自\'与会者姓名\' 致所有小组成员 00:00 PM\"。在我目前拥有的代码中,无法识别出参加者的姓名是否在范围内。

对于视觉效果,我为名称 Dylan Payne 输入了“Y”,以显示我正在寻找的最终结果。我已经尝试过 SEARCH、REGEXMATCH 和 MATCH 函数。我相信搜索功能是我的答案所在,但我无法达到我想要的结果。如果有人能够提供一些额外的反馈,将不胜感激。

我还使用了一些 google Apps 脚本,如果有办法使用它来隔离单元格内的与会者姓名。

[追踪3]

[交流3]

  • 显示预期的输出。
  • 期望的结果是如果他们发送了聊天,则在相应的单元格 (D6:AB) 中出现“Y”,这些聊天记录将粘贴到工作表“AC 3”的列中。
  • 在什么情况下 D6 会是 YE6:AB6 不会呢?
  • 因此,如果在 \'AC 3\'!$B$4:B 范围内的任何子字符串中找到名称 \"Billy Madison\",则 D6 应该有一个 \"Y\"。 D7 将在 \'AC 3\'!$C$4:C 的任何子字符串中查找 \"Billy Madison\"。目前,仅当引用的单元格(与会者的姓名)在其自己的单元格中被隔离时,该公式才返回“Y”。

标签: google-apps-script google-sheets google-sheets-formula


【解决方案1】:

将 Y 添加到搜索子字符串的范围

function fss() {
  const ss = SpreadsheetApp.getActive():
  const sh = ss.getSheetByName("AC3");
  const sh0 = ss.getSheetByName("Tracking");
  const sA = sh0.getRange(2,1,sh.getLastRow() - 1).getValues().flat();//names
  const rg = sh.getRange("C4:N" + sh.getLastRow());//search range
  sa.forEach((s,i) => {
    rg.createTextFinder(s).matchEntireCell(false).findAll().forEach(r => {
      r.setValue(r.getValue() + "Y")
    });
  });
}

【讨论】:

  • 我不相信 AppsScript 会起作用,因为“String1”、“String2”等是与会者姓名的引用单元格,这会有所不同。
  • 只需用那里的名称替换那些字符串。
【解决方案2】:

我想我刚刚找到了一个可用的代码,实际上:

=IF(ISTEXT(INDEX(FILTER('AC 3'!$B$4:$B,SEARCH($A20,'AC 3'!$B$4:$B)),1)),"Y","")

我还想从前面的代码中实现一个元素。在前面的代码中,它搜索命名范围 courseACs,如果在名称范围内找到标题 ($A$1),它将具有该网络研讨会持续时间所需的指定列数(每小时三列期间)。

假设网络研讨会标题Ethics 长达两个小时,并且需要六列用于聊天记录。然后,该公式查看该列,如果它位于用于注意力跟踪的第六列(K 列)之后的列中,则- 将反映在单元格中。原始代码如下所示:

=IF(IFERROR(E$5<=SEARCH(RIGHT($A$1,LEN($A$1)-15),courseACs,4),true),IF(OR(ISNUMBER(MATCH($A6,'AC 1'!C$4:C$2000,0))),"Y"," "),"-")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    相关资源
    最近更新 更多