例如,要將清單資料驗證套用至第二列:
車輛 | 模型 |
---|---|
車 | |
自行車 | |
車 |
我想做一個這樣的公式,但它錯誤:
=IF($A:$A=“car”, CarTable, BikeTable)
錯誤訊息是:
“消息來源目前評估為錯誤。”
如果我單擊“繼續”,則會出現一個下拉按鈕,但其中不包含任何內容。
如果我放置A2:A4
而不是A:A
它會起作用,但我需要將其應用於實際列,以便該列中的所有單元格都將進行資料驗證(當最終輸入新的新項目時)。
我該怎麼做?
答案1
假設您希望A
根據 列 中儲存格的值設定列的格式A
,您可以使用下列條件:
=A2="car"
並將其應用到A:A
如果您希望根據 column 中的值設定多列的格式A
,則需要使用絕對引用:
=$A2="car"
並將其應用於所需的範圍(例如:A:C
)
答案2
一件事肯定是個問題:您的參考範圍似乎不正確。就是這樣一點:$A:$A
。它試圖評估整個列並判斷它是否等於"car"
。
嘗試使用$A2
(假設您的區域中的第一個儲存格是B2
)或 ,取決於您的 Excel 版本@$A:$A
。這兩個都會傳回一個單元格。第一種情況 ( $A2
) 將透過驗證更新範圍中每個儲存格所引用的行,但由於$
.第二個 ( @$A:$A
) 基本上相同,它會傳回A
與我們正在評估的儲存格位於同一行的列中的儲存格。在您的情況下,這兩者的工作原理相同,因為 column 中的資料B
與 column 中的資料位於同一行A
。
問題也可能是單一列CarTable
或BikeTable
多個列。如果是這種情況,請將命名範圍調整為單一欄位。
這也可能是CarTable
一張實際的桌子。在這種情況下,您可以新增您想要將整個內容包含在內的列的名稱,INDIRECT()
如下所示:
Indirect("CarTable[Model]")