【问题标题】:Google spreadsheets: conditional formatting with custom formula based on values from different sheetGoogle 电子表格:使用基于不同工作表值的自定义公式进行条件格式设置
【发布时间】:2014-03-06 13:46:51
【问题描述】:
我有一个带有 两张纸 的 Google 电子表格。在第一页上,项目列在A列中,以及它们的类型 位于 B 列中。
在第二张表上,我参考了第一张表的列A > 使用公式:=UNIQUE(Sheet1!A:A)。
然后我想根据项目类型为第二张中的项目着色(第一张 B* 列)。我尝试使用公式=Sheet1!$B:$B="Type1" 添加条件格式,但是当我尝试保存规则 时,它说公式无效。
对于这种情况,正确的公式是什么?
【问题讨论】:
标签:
google-sheets
formula
gs-conditional-formatting
【解决方案1】:
您不能直接在条件格式公式中引用单元格。另外,我认为这个公式行不通。
首先,您需要VLOOKUP 函数来获取对象的类型。
这是使用此功能的示例。不同之处在于第一个参数中的相应数据将在您的情况下以工作表名称开头。
查看此图片:
如您所见,VLOOKUP在矩阵A2:B4中搜索D中的项,然后在矩阵的第二列返回对应的值(同一行的值),即专栏B。
因此,如果您将此公式应用于条件格式,您将:
=VLOOKUP($D$2:$D;$A$2:$B$4;2)="Dragon"
VLOOKUP 的第一个参数必须是一个范围,我从 D2 开始,所以它与标题不匹配。在你的情况下,它会变成:
=VLOOKUP($D$2:$D;Sheet1!$A$2:$B$4;2)="Dragon"
但是由于不能直接使用引用,所以需要使用INDIRECT 函数。它接收一个单元格区域作为字符串并返回对该区域的引用。这与直接使用引用相同,但在这种情况下,您添加了一个额外的步骤(见图)。所以公式最终变成:
=VLOOKUP($D:$D;INDIRECT("$A$2:$B$4");2)="Dragon"
如果您使用的是新版本的电子表格,您可以选择任何范围来应用格式。例如,您可以为整行或单个单元格着色。