2016-05-16 64 views
3

任何人都可以幫助一種方法結合列表和自定義公式數據驗證在單個單元格中而不使用vb​​a?如果logical爲TRUE,我有一個自定義公式來驗證數據,但我希望用戶也有能力從下拉列表中進行選擇。任何援助將不勝感激。謝謝。結合列表和自定義公式數據驗證在Excel中的一個單元格內沒有vba

對不起,如果問題不夠清楚。請看下面:

enter image description here

在這個例子中,即使用戶能夠選擇從下拉列表中,如果用戶對A2單元格,選擇7,驗證應拋出一個錯誤,因爲它是不小大於或等於小區B2。它更清楚嗎?

+0

您可以構造公式來執行列表檢查本身。 –

+1

任何人都需要更多的信息來真正幫助你。你使用什麼公式?請顯示一些數據和預期結果。 –

+0

此外,請參閱[如何問](http://stackoverflow.com/help/how-to-ask) – BruceWayne

回答

1

保存我們要設置DV細胞B1這樣:

  • 如果輸入,它必須在小於值A1
  • 如果文本被輸入,它必須在列表中從D1D3

這裏是公式化DV做到這一點:

enter image description here

的配方結合數字測試用,以限制輸入到一些固定的列表的功能。

+0

我所指的列表是這樣的,用戶可以從下拉列表中選擇輸入,但仍然會進行邏輯測試。我不希望用戶輸入值,我希望他/她選擇它。 –

+0

@TundeAwosanya,看到我的回答,我相信這是正確和完整的。 –

3

這個非VBA解決方案結合了條件和下拉選擇列表。 它提供了2個不同的選取列表,依賴於另一列中的值。

這是不同比經常共享cascading-lists method(但看到link一些偉大的技術)

比方說,你有兩列的表。字段1可以包含任何內容:

a 
box 
cat 
z 

要求:字段2的驗證應該顯示列表1下拉列表中,當Field1包含a,並顯示列表2時Field1包含其他任何東西。

解決方案:依賴於事實,即一個Excel條件公式可以返回範圍包含的項目的列表。

步驟:

  • 創建選擇列表值的上一個查找表的清單,並將其命名爲List1
  • 在查找表上創建另一個列表,並將其命名爲List2
  • 在您的條目表中,插入一個包含2列的表格對象。命名錶MyTable,字段Field1Field2

    enter image description here

  • 創建以下定義的名稱,並調用它ValidFmla。這是祕密武器:

    =IF(MyTable[@Field1]="a", List1, List2)

  • 在Field2中選擇條目細胞,並單擊數據帶狀驗證。

  • 選擇 「列表」 類型,並輸入=ValidFmla
  • 測試出來:

    enter image description hereenter image description here

優點:

  • 它不會打破,如果你改變您的表名稱,字段名稱,列表名稱或驗證公式名稱 - 所有相關的東西會自動更新。

  • 支持您想要的任何複雜條件,只要您的驗證公式返回列表範圍即可。驗證不必基於Field1中的值。

  • 驗證列表範圍可以被命名爲任何東西。依賴列表方法要求將驗證列表範圍命名爲與第一個字段中的值相同。

注意,你不使用Table對象才能使用此方法。但是,使用Table對象在驗證公式中提供了結構化引用,這是一種更智能,更可讀的構建公式的方法。

0

我知道這個線程是舊的,但爲了完整性,我也將提供另一個非VBA的解決方案。 OP我不相信正在尋找提供依賴列表的方法來提供大多數解決方案,而是希望他的選項列表按照原樣存在,而是對正在執行的實際選擇提供額外的驗證。

這實際上需要使用Excel的一個不同功能來爲您自己提供這種洞察更容易。條件格式。根據最初提供的OP的屏幕截圖:

突出顯示列A,單擊條件格式(主頁選項卡)>新規則。選擇最後一個選項,自定義公式之一,使用公式:

=$A1>$B1 

單擊格式按鈕,改變着色背景或其他一些這樣的驗證是由明顯,單擊確定。查看屏幕截圖獲取結果,您仍然按照常規設置數據驗證列表以供用戶從中選擇值。需要注意的一點是,這並不能阻止輸入,它僅僅提供了一個視覺確認,即輸入是錯誤的。

Screenshot of results

相關問題