-
1 # 嘉州六絃琴
-
2 # 談天說地聊工作
用二級下拉選單可解決此類問題。例如現在我們要製作一張表格,用下拉選單的方式填寫農林牧漁業的行業歸類。
⑴、新建一個工作簿,預設有Sheet1、Sheet2、Sheet3三張工作表,在Sheet2工作表中,輸入的選單內容如下表:
⑵、定義一級選單選項:將A1---A5定義為“行業”;
⑶、定義二級選單選項(注意:定義的二級選單名稱應與一級選單選項內容一致):將B2--B5定義為“農業”,B7---B11定義為“林業”,B13---B16定義為“畜牧業”,B18---B19定義為“漁業”。
試試看,做過B2單元格的選擇後,才能做C2單元格的選擇。但不足之處是選擇完C2後又修改B2,C2的內容不會相應變化而形成錄入錯誤。怎樣避免此類錯誤?還需你的研究和挖掘。
-
3 # 精進Excel
你這問題就是下了選單加資料查詢匹配!
我用一篇文章讓你完全掌握Excel下拉選單的製作方法。
下拉選單,從製作方法上,可以分為資料有效性法、控制元件法;從功能上,可以分為一級下拉選單、多級聯動下拉選單、查詢下拉選單。
01、下拉選單製作方法下拉選單有兩者製作方法,最常用的是我們熟知的資料有效性,其實Excel中還有一個工具可以製作下拉選單,它就是控制元件。
由於控制元件靈活性非常強,篇幅有限,本文只做簡要介紹,將主要精力放在資料有效性上面。
①資料有效性法
資料有效性在2016版Excel中叫做資料驗證。
如圖所示,需要為部門列設定一級下拉選單,設定下拉選單之後,不僅能夠提高錄入效率,而且可以有效防止不規範地輸入。
Step2:驗證條件中,「允許」中選擇「序列」
GIF動圖演示
②控制元件法
控制元件是Excel中比較高階的一種功能,多用於VBA開發。它被整合在「開發工具」選項卡。控制元件法建立的下拉選單,多數用於數值的選擇,一般建立的較少,不能批次建立。
如果你的Excel中,沒有開發工具這個選項卡,需要先在「自定義功能區」中將「開發工具」新增進來。
勾選如下圖中的開發工具即可。
建立方法:
GIF動圖演示
控制元件的使用非常靈活,它和OFFSET函式、CHOOSE函式、MTATCH函式、INDEX函式等結合,能製作出非常高效的動態圖表,這裡不詳細展開。
02、多級聯動下拉選單首先製作二級聯動選單。
二級聯動選單指的是,當我們選擇一級選單之後,對應的二級選單會隨著一級選單的不同而選項也不同。二級選單的建立方法有很多種,這裡我們講最常用的:透過indirect函式建立。
如圖所示,我們要建立省份是一級下拉選單,對應的市名是二級下拉選單的聯動選單。
①為省市建立“名稱”
名稱是一個有意義的簡略表示法,可以在Excel中方便的代替單元格引用、常量、公式或表。
比如將C20:C30區域定義為名稱:MySales,那麼公式=SUM(MySales)可以替代=SUM(C20:C30),可見名稱比單元格區域更具有實際意義。
Step1:按住Ctrl鍵,分別用滑鼠選取包含省、市名的三列資料,要點是不要選擇空單元格。(也可以透過Ctrl+G調出定位條件,設定定位條件為在常量來選取資料區域)
②建立聯動選單
Step1:建立一級選單
Step2:為上圖中的“市”建立二級選單
提示:這裡出錯的原因是此時C3單元格中為空,還未選擇省份的資料,找不到資料來源,不影響二級選單的設定。
完成之後,就實現了二級聯動選單,如圖所示。
多級下拉選單的製作原理是完全一樣的,學會了二級下拉選單,三級選單甚至四級選單應該也不成問題,自己動手試一試吧!
03、查詢式下拉選單下拉選單的目的之一是提高輸入的效率,但是,如果選項過多,那麼下拉列表勢必會很長,此時要想快速從下拉選單中找到目標選項就非常困難。
我經常在想,如果能進行搜尋下拉選單該多好啊,這裡教給你的方法,雖然沒有搜尋框,但是能模擬搜尋的效果。
我把它稱為查詢式下拉選單。
如圖,要根據A列的集團列表,在E2單元格建立查詢式下拉選單,更方便地選擇集團。該下拉選單可以根據E2單元格內輸入的第一個字來動態顯示所有以輸入漢字開頭的集團,即實現查詢作用。
Step1:對A列的集團進行升序排序。
=OFFSET($A$1,MATCH($E$2&"*",$A$2:$A$15,0),,COUNTIF($A$2:$A$15,$E$2&"*"),1)
最終的效果如下動圖所示:
①為什麼要對集團資料列進行升序排序
排序之後,可以將第一個字相同的集團排在一起,這樣在後面的輸入首字進行查詢式,這些集團都能夠顯示出來。
②OFFSET函式
它的語法形式是 OFFSET(reference,rows,cols,height,width),引數1為參照系,引數2為偏移行數,引數3為偏移列數,引數4為返回幾行,引數5為返回幾列。
總之,這裡主函式OFFSET的作用就是:當E2單元格內輸入首字時,找到以輸入的漢字開頭的集團名稱,並引用所有符合條件的集團作為下拉選單的顯示內容。
在集團列表中查詢以E2單元格字元開頭的集團名稱,返回找到的對應的第一個集團在列表中的序號;
④COUNTIF($A$2:$A$15,$E$2&"*")
在列表中統計以E2中字元開頭的集團的個數
這裡,MATCH函式作為OFFSET的第二個引數,即向下移動的行數;COUNTIF函式作為OFFSET的第4個引數,即從集團列表中返回的行數。
舉例:當E2中輸入“廣”時
MATCH($E$2&"*",$A$2:$A$15,0)返回以廣開頭的集團在$A$2:$A$15中的序號,即2(廣發集團排在第二位)。
此時COUNTIF($A$2:$A$15,$E$2&"*")統計出以廣開頭的集團共有三個,所以返回值為3。
主函式就變為OFFSET($A$1,2,,3,1),即返回「以A1為參照,向下移動移動兩行(A3),行數總計為3行(A3:A5)的一個區域」,這個區域正是以廣開頭的三家集團:廣發集團、廣彙集團、廣汽集團。
⑤為什麼不能勾選出錯警告
資料驗證,要求輸入的內容和設定的源中的內容必須一致,否則將提示警告,導致無法正常輸入。我們因為是首字匹配,因此要取消警告。
最後,再次強調,函式是重點,理解了函式在本里中充當的含義,才能靈活的設定查詢式下拉選單。
End 祝你好運!!
-
4 # 韓老師講office
推薦一種多級選單的製作方法:
以省份、地市、區縣資料為例。
動圖演示:
關鍵步驟提示:
第一步:分級資料整理
紅色部分是一級選單,黃色部分是二級選單,無填充部分是三級選單需要的資料。如下圖:
第二步:自定義名稱
在名稱管理器中可以看到已經建立的名稱:
第三步:建立各級選單
一級選單:
二級選單:
三級選單:
-
5 # Excel技巧精選
用慣了網路搜尋的你,一定也熟悉了網路搜尋中的關鍵詞推薦。
那如果在Excel中能用上,是不是也很酷啊!?
這裡,我就分享下,如何在Excel中實現聯想式下拉列表!
Excel中實現聯想式下拉列表實現聯想式下拉列表,需要如下幾個小技巧:
資料有效性驗證(下面會講解)Offset函式動態確定範圍=offset($A$1,MATCH(B3&"*",$A:$A,0)-1,,COUNTIF($A:$A,B3&"*"))引數1:$A$1,表示下拉框引用的區域起始位置,從A1單元格開始;引數2:MATCH(B3&"*",$A:$A,0)-1,表示將區域偏移到查詢的關鍵字上,如示例中,輸入"安"以後,區域就從第一找到"安"的位置開始;引數3:預設不偏移;引數4:COUNTIF($A:$A,B3&"*"),統計下輸入內容的個數,如示例中,有3個姓"安"的人。如上公式,輸入"安",Offset則從第一個姓"安"人員位置開始,往下取3個單元格,作為下拉框的內容。
完整動畫演示如下:簡單的下拉列表透過資料驗證,即可實現簡單的下拉列表,如下動畫演示:
資料驗證中,選擇序列,然後輸入序列值"男,女"
還可以在序列中輸入公式:=單元格地址區域
多級聯動的下拉列表多級聯動:每個下級選單的內容都是根據上級內容動態更新的。
如,省份中選擇“江蘇”,城市中則彈出江蘇的城市,若選擇“廣東”,城市則彈出“廣州”,以此類推,如下所示:
步驟如下:
一級選單的製作,直接使用資料驗證中,選擇序列,然後選擇一級選單內容區域即可。
多級選單的製作,則需要先將所有的上級選單定義為名稱,然後使用indirect函式來獲取名稱內容
-
6 # Excel自學成才
Excel下拉選單好用,但是資料來源多起來之後,就會出現找資料找不到的煩惱,對於如下所示,朋友們是怎麼處理的呢?
這是小福個人思路,也不一定好用,僅供朋友們借鑑參考。
透過在輔助單元格E1輸入關鍵詞,然後將下拉選單的資料來源進行縮減,從中選擇你需要的。
1輔助查詢資料
需實現在E1單元格輸入關鍵字,便從A列提取包含該字元的所有資料
其中:A列有102個數據即A1:A102
然後在F1輸入公式:
=INDEX($A$1:$A$103,SMALL(IF(ISNUMBER(FIND($E$1,$A$1:$A$102)),ROW($A$1:$A$102),103),ROW(C1)))
自己製作,根據單元格位置不同可以套用上面的公式,注意102和103的位置即可。
2資料來源儲存
當查詢關鍵字C時,下拉的資料提供是10個,當查詢關鍵字R時,下拉的資料提供是6個。。那麼如何動態的資料來源如何儲存供下拉資料來源引用呢?
在【公式】-【名稱管理器】中新建
名稱為:資料來源
引用位置:=OFFSET(Sheet1!$F$1,0,0,1048576-COUNTBLANK(Sheet1!$F:$F),1)
3下拉選單資料引用
選中C列資料來源
在【資料】-【資料驗證】
對於資料來源太多,你是怎麼使用下拉選單的呢?
我現在有兩個表格月報表和彙總表,分別如下圖,現在我想在月報表中的第二行(用紅色字型標出來的)有一個下拉列表分別是1-12月份,如果當我選擇2月份的時候,會在下面的每一列的本月資料這列跳出對應的每一個專案2月份的發生額,但是月報表這個表中的資料全部來自於彙總表,而且每一個專案的每一列本年度中的資料會隨著彙總表中的本年度發生額的變化而變化,想這種動態如何製作?求大神指導,很著急,謝謝
回覆列表
用陣列或程式設計,見效果圖,即使2個表的專案名稱順序不一致,也可以查詢到資料.
如果不對,可能與你表格的結構不同,那就需要提供實際的表格,根據實際寫.
B5=INDEX(彙總表!$A:$Z,MATC($A5,彙總表!$A:$A,),SMALL(IF(彙總表!$3:$3=B$3,COLUMN($A$1:$Z$1),256),--LEFT($A$2,LEN($A$2)-2)))
陣列公式
C5=VLOOKUP($A5,彙總表!$A:$Z,MATCH(月報表!B$3,彙總表!$W$3:$Z$3,)+22,0)
B5,C5下拉,然後複製B5:C10公式,到其他2列,類推。