我正在使用数据验证公式来隐藏使用过的名称,如下所示:=IF(COUNTIF(DrawUsed, [Players])>=1, "", [Players])
,其中DrawUsed
是命名范围。问题是我的表格如下所示:
我需要将Blind Draw Team
列作为 的第一个参数COUNTIF
,因为如果在第一列中使用了名称,则第三列不应使用该名称Blind Draw Team
。问题是,这个公式定义了命名范围,=Blind!$B$2:$B$27,Blind!$I$2:$I$27,Blind!$P$2:$P$27
但只会导致#VALUE!
错误。
我无法定义一个连续的范围,因为Buyer
列应该不是依赖于的值Blind Draw Team
,并且也不应隐藏使用的名称。
有人有建议吗?
答案1
我通过定义 3 个独立范围和以下公式解决了这个问题:
=IF(
OR(
COUNTIF(BlindUsed1, [Players])>=1,
COUNTIF(BlindUsed2, [Players])>=1,
COUNTIF(BlindUsed3, [Players])>=1
),
"",
[Players]
)
为了易读性而返回。
更新
解决方案 2:INDIRECT
可以处理不连续的范围。我有一个范围实际上只是一堆不连续的单元格。我是这样定义的:
=INDIRECT(
{
"Sunday!$F$7",
"Sunday!$F$15",
"Sunday!$F$23",
"Sunday!$F$31",
"Sunday!$F$39",
"Sunday!$M$7",
"Sunday!$M$15",
"Sunday!$M$23",
"Sunday!$M$31",
"Sunday!$M$39",
"Sunday!$T$7",
"Sunday!$T$15",
"Sunday!$T$23",
"Sunday!$T$31",
"Sunday!$T$39"
}
)
然后COUNTIF
对范围进行操作:=COUNTIF(SundayCaptains,[Player])
。此方法的唯一缺点是,如果重命名工作表,值将不会更新。