首页 > 解决方案 > Google 表格(查询选项卡、显示电子邮件地址、突出显示所有重复项)

问题描述

已解决:我希望能够从“代理名册”选项卡中查询信息,并让它在主工作表上显示信息。

代码: =if(IsBlank(C2),"",iferror(textjoin(", ",true,QUERY('Agent Roster'!A:H, "Select H where A= '"&C2&"'", 0), "")))

编辑:我需要突出显示 C5:C37 中的所有重复项,我需要它只检查这些范围内的重复项:B39:O144。所以几乎我希望能够在我的工作表上的其他任何地方都有重复项,并且不会被突出显示,除非它是 C5:C37 中的重复项,它与 B39:O144 中的任何重复项匹配

我的文档截图

标签: google-sheets

解决方案


在主工作表的 I2 列中并向下拖动 =iferror(QUERY('Agent Roster'!A:H, "Select H Where A= '"&C2&"'", 0),"not found")

改编自https://productforums.google.com/forum/#!msg/docs/joOidiswlMg/DwB7Jd5qAAAJ

现在它区分大小写,需要完全匹配。你可以修补一下。

编辑:如果你想避免匹配缺失名称的废话,你可以将主要思想嵌入=if(IsBlank(C2),"",iferror(QUERY('Agent Roster'!A:H, "Select H Where A= '"&C2&"'", 0),"not found"))

如果一个名字出现在代理上两次,您可能还想考虑要做什么,因为列出两封电子邮件会被拒绝,因为它会覆盖下一个人的电子邮件。一种方法是查看错误并通过插入空白行来处理它。另一个可能是努力获得第一封电子邮件=if(IsBlank(C2),"",iferror(index(QUERY('Agent Roster'!A:H, "Select H Where A= '"&C2&"'", 0),1),"not found"))

或者,您可以使用 列出给定人员的所有电子邮件地址=if(IsBlank(C2),"",iferror(textjoin(", ",true,QUERY('Agent Roster'!A:H, "Select H Where A= '"&C2&"'", 0),"")))。我没有解决关于在您的标题中突出显示重复项的问题,因为它似乎是独立的,我不确定它的含义。

编辑 2:要对代理列表中有多个匹配项以及多个电子邮件地址的内容进行条件格式设置,请使用我最后一个带有 textjoin 的选项,选择主工作表上的电子邮件列,转到格式菜单,选择条件格式并选择文本包含并放入逗号。编辑 2.1:要在主工作表上多次输入条件格式名称,选择名称列 (C) 并选择格式、条件格式、自定义公式并使用=(countif($C$1:$C$975,C1)>1)(您的 975 可能会有所不同)。编辑 2.15:一般来说,要在输入的主表中有条件地格式化重复项,您将选择或指定最终可能被有条件地格式化的单元格,这将填充条件格式菜单中的“应用到范围”字段。然后,您的自定义公式将包括 =countif(绝对范围(带有美元符号),其中不能有多个这些,应用于条件格式的范围中第一个单元格的相对名称)> 1 . 如果由于某种奇怪的原因可以在格式化范围内但不能在外部复制,那么重复检查范围不包括格式化的范围,那么 >1 将变为 >0。


推荐阅读