Skip to main content

三種類型的多列下拉列表 – 逐步指南

Author: Siluvia Last Modified: 2025-05-12

獲取範例文件:


根據多列創建依賴下拉列表

 

如下方 GIF 圖所示,您希望為大洲創建一個主下拉列表,根據主下拉列表選擇的大洲創建包含國家的次級下拉列表,然後再根據次級下拉列表選擇的國家創建包含城市的第三個下拉列表。本節中的方法可以幫助您完成此任務。


使用公式根據多列創建依賴下拉列表

步驟 1:創建主下拉列表

1. 選擇要插入下拉列表的單元格(這裡我選擇 G9:G13),前往「數據」選項卡,點擊「數據驗證 > 數據驗證」。

click Data Validation form Data tab

2. 在「數據驗證」對話框中,請按以下配置:

1) 點擊「設置」選項卡;
2) 在「允許」下拉列表中選擇「列表」
3) 點擊「來源」框,選擇包含要在下拉列表中顯示的大洲的單元格;
4) 點擊「確定」按鈕。見截圖:
configure the settings in the dialog box to create the first drop-down list
步驟 2:創建次級下拉列表

1. 選擇包含要在次級下拉列表中顯示項目的整個區域。前往「公式」選項卡,然後點擊「 根據所選內容創建」。

Select the entire range and click Create from Selection

2. 在「根據所選內容創建名稱」對話框中,僅勾選「首行」框,然後點擊「確定」按鈕。

check the Top row box in the dialog box

3. 選擇要插入次級下拉列表的單元格,前往「數據」選項卡,點擊「數據驗證 > 數據驗證」。

4. 在「數據驗證」對話框中,您需要:

1) 停留在「設置」選項卡;
2) 在「允許」下拉列表中選擇「列表」
3) 在「來源」框中輸入以下公式。
=INDIRECT(SUBSTITUTE(G9," ","_"))
其中 G9 是主下拉列表單元格的第一個單元格。
4) 點擊「確定」按鈕。
configure the settings in the dialog box to create the secondary drop-down list

5. 選擇這個下拉列表單元格,拖動其自動填充柄向下應用到同一列中的其他單元格。

次級下拉列表現在已完成。當您在主下拉列表中選擇一個大洲時,次級下拉列表中只會顯示該大洲下的國家。

The secondary drop-down list is complete
步驟 3:創建第三個下拉列表

1. 選擇包含要在第三個下拉列表中顯示值的整個區域。前往「公式」選項卡,然後點擊「 根據所選內容創建」。

Select the entire range and click Create from Selection

2. 在「根據所選內容創建名稱」對話框中,僅勾選「首行」框,然後點擊「確定」按鈕。

check the Top row box in the dilaog box

3. 選擇要插入第三個下拉列表的單元格,前往「數據」選項卡,點擊「 數據驗證 > 數據驗證」。

4. 在「數據驗證」對話框中,您需要:

1) 停留在「設置」選項卡;
2) 在「允許」下拉列表中選擇「列表」
3) 在「來源」框中輸入以下公式。
=INDIRECT(SUBSTITUTE(H9," ","_"))
其中 H9 是次級下拉列表單元格的第一個單元格。
4) 點擊「確定」按鈕。
configure the settings in the dialog box to create the third drop-down list

5. 選擇這個下拉列表單元格,拖動其 自動填充柄向下應用到同一列中的其他單元格。

包含城市的第三個下拉列表現在已完成。當您在次級下拉列表中選擇一個國家時,第三個下拉列表中只會顯示該國家下的城市。

The third drop-down list is created

上述方法對於某些用戶來說可能比較繁瑣,如果您想要更高效和直接的解決方案,以下方法只需幾次點擊即可完成。


只需幾次點擊即可使用 Kutools for Excel 根據多列創建依賴下拉列表

下方 GIF 圖展示了 Kutools for Excel動態下拉列表功能的步驟。

如您所見,整個操作只需幾次點擊即可完成。您只需要:

1. 啟用該功能;
2. 選擇所需的模式:兩層三至五層下拉列表
3. 選擇需要創建依賴下拉列表的列;
4. 選擇一個輸出區域。

上方 GIF 圖僅展示製作兩層下拉列表的步驟。如果您想製作超過兩層的下拉列表,點擊這裡了解更多 。或者 下載 30 天免費試用版

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

在 Excel 的下拉列表中進行多選

本節提供兩種方法來幫助您在 Excel 的下拉列表中進行多選。


使用 VBA 程式碼在 Excel 下拉列表中進行多選

以下 VBA 腳本可以幫助在 Excel 下拉列表中進行無重複的多選。請按照以下步驟操作。

步驟 1:打開 VBA 編輯器並複製程式碼

1. 前往工作表標籤,右鍵點擊它並從右鍵菜單中選擇「查看代碼」。

right click thes heet tab and select View Code

2. 然後彈出 Microsoft Visual Basic for Applications 窗口,您需要在 Sheet (Code) 編輯器中複製以下 VBA 程式碼。

copy and paste the code into the module

VBA 程式碼:允許在下拉列表中進行無重複的多選

Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2019/11/13
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Not Application.Intersect(Target, xRng) Is Nothing Then
        xValue2 = Target.Value
        Application.Undo
        xValue1 = Target.Value
        Target.Value = xValue2
        If xValue1 <> "" Then
            If xValue2 <> "" Then
                If xValue1 = xValue2 Or _
                   InStr(1, xValue1, ", " & xValue2) Or _
                   InStr(1, xValue1, xValue2 & ",") Then
                    Target.Value = xValue1
                Else
                    Target.Value = xValue1 & ", " & xValue2
                End If
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub
步驟 2:測試程式碼

粘貼程式碼後,按下 Alt + 鍵關閉視覺編輯器並返回工作表。

提示:此程式碼適用於當前工作表中的所有下拉列表。只需點擊包含下拉列表的單元格,逐一從下拉列表中選擇項目以測試是否有效。

注意:如果您希望在下拉列表中允許多選並且在再次選擇時刪除現有項目,也可以應用 VBA 程式碼來實現:點擊這裡逐步跟隨教程

只需幾次點擊即可使用 Kutools for Excel 在 Excel 下拉列表中進行多選

VBA 程式碼有很多限制。如果您不熟悉 VBA 腳本,很難修改程式碼以滿足您的需求。這裡推薦一個強大的功能——多選下拉列表,可以幫助您輕鬆地從下拉列表中選擇多個項目。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝 Kutools for Excel 後,前往 Kutools 選項卡,選擇「下拉列表 > 多選下拉列表」。然後按以下配置:

  1. 指定包含下拉列表的區域,您需要從中選擇多個項目。
  2. 指定下拉列表單元格中選定項目的分隔符。
  3. 點擊「確定」完成設置。
結果

現在,當您點擊指定區域內具有下拉列表的單元格時,旁邊會出現一個列表框。只需點擊項目旁的「+」按鈕即可將其添加到下拉單元格,並點擊「-」按鈕移除不需要的項目。請參閱下面的示範:

注意
  • 如果希望在單元格內垂直顯示選定項目,請勾選「插入分隔符後換行」選項。如果您偏好水平列出,請保持此選項未勾選。
  • 如果希望在下拉列表中添加搜索欄,請勾選「啟用搜索」選項。
  • 要應用此功能,請先下載並安裝 Kutools for Excel

在下拉列表中顯示多列

 

如下方截圖所示,本節將向您展示如何在下拉列表中顯示多列。

display multiple columns in a drop-down list

默認情況下,數據驗證下拉列表僅顯示一列項目。要在下拉列表中顯示多列,我們建議使用組合框(ActiveX 控件)而不是數據驗證下拉列表。

步驟 1:插入組合框(ActiveX 控件)

1. 前往「開發工具」選項卡,點擊「插入 > 組合框(ActiveX 控件)」。

click Insert > Combo Box from Developer tab

提示:如果「開發工具」選項卡未顯示在功能區中,您可以按照本教程「顯示開發工具選項卡」中的步驟來顯示它。

2. 然後在您希望顯示下拉列表的單元格中繪製一個組合框

步驟 2:更改組合框的屬性

1. 右鍵點擊組合框,然後從上下文菜單中選擇「屬性」。

Right click the Combo Box then select Properties

2. 在「屬性」對話框中,請按以下配置:

1) 在「列數」字段中,輸入一個代表要在下拉列表中顯示的列數的數字;
2) 在「列寬」字段中,請定義每列的寬度。這裡我將每列的寬度定義為 80 pt;100 pt;80 pt;80 pt;80 pt
3) 在「鏈接單元格」字段中,指定一個單元格以輸出與您在下拉列表中選擇的值相同的值。此單元格將在以下步驟中使用;
4) 在「列表填充範圍」字段中,輸入要在下拉列表中顯示的數據範圍。
5) 在「列表寬度」字段中,指定整個下拉列表的寬度。
6) 關閉「屬性」對話框。
configure the settings in the Properties pane
步驟 3:在下拉列表中顯示指定的列

1. 在「開發工具」選項卡下,通過點擊「 設計模式」圖標關閉設計模式

turn off the Design Mode

2. 點擊組合框的箭頭,列表將展開,您可以看到指定的列數在下拉列表中顯示。

注意:正如您在上面的 GIF 圖中看到的,雖然下拉列表中顯示了多列,但只有所選行的第一項顯示在單元格中。如果您希望在單元格中顯示其他列的項目,請繼續應用以下公式。
步驟 4:在特定單元格中顯示其他列的項目
提示:為了返回其他列中完全相同格式的數據,您需要在以下操作之前或之後更改結果單元格的格式。在此示例中,我提前將單元格 C11 的格式更改為日期格式,並將單元格 C14 的格式更改為貨幣格式。

1. 選擇組合框下方的一個單元格,輸入以下公式並按下 Enter 鍵以獲取同一行中第二列的值。

=IFERROR(VLOOKUP(B1,B3:F6,2,FALSE),"")
apply formula to get the data from second column

2. 為了獲取第三、第四和第五列的值,逐一應用以下公式。

=IFERROR(VLOOKUP(B1,B3:F6,3,FALSE),"")
=IFERROR(VLOOKUP(B1,B3:F6,4,FALSE),"")
=IFERROR(VLOOKUP(B1,B3:F6,5,FALSE),"")
apply formulas to get the data from other columns one by one
注意:
以第一個公式 =IFERROR(VLOOKUP(B1,B3:F6,2,FALSE),"") 為例,
1) B1 是您在「屬性」對話框中指定為「鏈接單元格」的單元格。
2) 數字 2 代表表格範圍「B3:F6」的第二列。
3) 此處的 VLOOKUP 函數搜索 B1 中的值並返回範圍 B3:F6 第二列中的值。
4) IFERROR 處理 VLOOKUP 函數中的錯誤。如果 VLOOKUP 函數評估為 #N/A 錯誤,IFERROR 函數將返回空值。

相關文章

在 Excel 下拉列表中輸入時自動補全
如果您有一個數據驗證下拉列表,包含大量值,您需要在列表中滾動才能找到合適的值,或者直接在列表框中輸入整個單詞。如果有方法可以在下拉列表中輸入首字母時自動補全,一切將變得更容易。本教程提供了解決問題的方法。

在 Excel 中從另一個工作簿創建下拉列表
在工作簿內的工作表之間創建數據驗證下拉列表非常容易。但如果數據驗證所需列表數據位於另一個工作簿中,您該怎麼辦?在本教程中,您將學習如何詳細地在 Excel 中從另一個工作簿創建下拉列表。

在 Excel 中創建可搜索的下拉列表
對於具有眾多值的下拉列表,找到合適的值並不容易。之前我們介紹了一種在下拉框中輸入首字母時自動補全下拉列表的方法。除了自動補全功能外,您還可以使下拉列表可搜索,以提高在下拉列表中查找合適值的工作效率。要使下拉列表可搜索,請嘗試本教程中的方法。

在 Excel 下拉列表中選擇值時自動填充其他單元格
假設您已根據單元格範圍 B8:B14 中的值創建了一個下拉列表。當您在下拉列表中選擇任何值時,您希望單元格範圍 C8:C14 中的相應值自動填充到選定單元格中。為了解決這個問題,本教程中的方法將對您有所幫助。

更多下拉列表教程...

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!