網友問到:在 Excel 的工作表中(如下圖),如果有二個下拉式選單,希望第二選單不要重現第一個選單已選取的項目,該如何處理?
例如,在選單A中已選取「五月」,則選單B中沒有列出「五月」供選取。
【公式設計與解析】
要製作選單效果可以透過「資料驗證」功能,例如選單A設定:
儲存格內允許:清單
來源:=$D$2:$D$13
如果要做到選單B不能包含選單A中已被選取的項目,則必須建立另一個選單的內容。
選取儲存格D1:D13,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:選單A。
儲存格E2:
{=OFFSET($D$1,SMALL(IF(選單A<>$A$2,ROW(選單A),""),ROW(1:1))-1,0)}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動輸入「{}」。
(1) IF(選單A<>$A$2,ROW(選單A),"")
在陣列公式中判斷儲存格A2內容是否和選單A陣列相同,若是則傳回儲存格列號,否則傳回空字串。
(2) SMALL(第(1)式,ROW(1:1))
利用 SMALL 函數由小至大依序取出列號。
(3) OFFSET($D$1,第(2)式,ROW(1:1))-1,0)
將第(2)式傳回的列號代入 OFFSET 函數取得對應的儲存格內容。
複製儲存格E2,貼至儲存格E2:E12。
在儲存格B2中以儲存格E2:E12,建立下拉式清單。
文章標籤
全站熱搜