我正在使用資料驗證公式來隱藏使用過的名稱,如下所示:=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])
。此方法的唯一缺點是,如果重新命名工作表,值將不會更新。