1。 實現下拉選單動態擴充套件在Excel工作表中,一般情況下製作下拉選單需要選定相應單元格後,點選資料選項卡中的資料驗證,在彈出視窗的設定選項卡中,驗證條件允許處選擇序列,來源處選擇相應單元格內容或輸入所要顯示的列表條目(列表條目用英文狀態下的逗號隔開),這樣製作的下拉選單,當在所選單元格下增加新內容時,下拉列表並不會增加,這在實際使用中很不理想。
要想使下拉選單根據新增內容進行動態擴充套件,可以使用函式配合資料驗證。首先,點選公式選項卡中的定義名稱,在彈出視窗的名稱處輸入客戶全稱,在引用位置入輸入=offset(客戶名稱!$A$2,,,counta(客戶名稱!$A:$A)-1);然後,再選定相應單元格(如D2:D27),點選資料驗證,在驗證條件允許處選擇序列,將游標點到來源處,按F3鍵,在彈出視窗選擇客戶全稱。
這樣,當在A列增加或刪除客戶名稱時,下拉列表也跟著動態更新(圖2)。小提示:還有一種實現下拉選單動態擴充套件的方法:首先,選擇客戶名稱資料,點選插入選項卡中的表格,確定;再次選擇客戶名稱資料,點選公式選項卡定義的名稱中的根據所選內容建立,在彈出視窗只勾選首行,確定;同樣,選定相應單元格(如D2:D27),點選資料驗證,在驗證條件允許處選擇序列,將游標點到來源處,按F3鍵,在彈出視窗選擇客戶名稱。
2。 智慧獲取當前輸入內容一般情況下,在記錄客戶名稱時,不輸入客戶全稱,這就需要工作表能夠及時捕捉到輸入的內容是什麼。接下來說明工作表是如何智慧獲取當前輸入內容的。在工作表的F1單元格輸入=CELL(contents),回車後會出現警告提示,直接確定,F1單元格的值就會變成0,這時,在任意單元輸入內容,F1單元格就會捕獲取輸入的內容。
3。 動態篩選提取資料新建一個名稱為客戶列表的工作表,點選公式選項卡中的名稱管理器,在彈出的視窗點選新建,在新彈出視窗的名稱處輸入客戶列表,引用位置入輸入=offset(客戶列表!$A$2,,,countif(客戶全稱,*cell(contents)*));選定客戶列表這個工作表的A2單元格,在公式編輯欄輸入=INDEX(客戶名稱!A:A,SMALL(IF(ISNUMBER(FIND(CELL(contents),客戶全稱)),ROW(客戶全稱),4^8),ROW(A1))),同時按下Crtl+Shift+Enter,當彈出警告提示時,直接確定即可;將陣列公式填充到A80(可根據客戶名稱中的記錄估算篩選結果進行填充),這樣就能將根據輸入關鍵字在客戶名稱工作表中篩選出的客戶全稱新增到客戶列表的A2單元格及以下單元格中。
函式解釋:⑴ =offset(客戶列表!$A$2,,,countif(客戶全稱,*cell(contents)*)),countif根據輸入的內容在客戶全稱中統計符合包包含輸入內容的記錄個數,offset是從客戶列表中篩選出符合條件的記錄;⑵ =INDEX(客戶名稱!A:A,SMALL(IF(ISNUMBER(FIND(CELL(contents),客戶全稱)),ROW(客戶全稱),4^8),ROW(A1))),FIND是根據輸入內容在客戶全稱中進行查詢,如果找到就返回相應的位置,找不到就返回一個錯誤,為了相容這個錯誤需要用ISNUMBER,即如果找到就返回TRUE,找不到就返回FALSE;ROW就是如果找到就返回到該記錄相應的行;SMALL能夠逐一提取找到的記錄。
最後,在來電記錄工作表,選中客戶全稱這列,點選資料選項卡中的資料驗證,在彈出視窗的設定選項卡中,驗證條件允許處選擇序列,將游標點到來源處,按下F3鍵,在彈出的貼上名稱視窗選擇客戶列表;在出錯警告視窗,去掉輸入無效資料時顯示出錯警告前面的勾選。
如此,就完成了整個智慧化表格的製作。
1。 實現下拉選單動態擴充套件在Excel工作表中,一般情況下製作下拉選單需要選定相應單元格後,點選資料選項卡中的資料驗證,在彈出視窗的設定選項卡中,驗證條件允許處選擇序列,來源處選擇相應單元格內容或輸入所要顯示的列表條目(列表條目用英文狀態下的逗號隔開),這樣製作的下拉選單,當在所選單元格下增加新內容時,下拉列表並不會增加,這在實際使用中很不理想。
要想使下拉選單根據新增內容進行動態擴充套件,可以使用函式配合資料驗證。首先,點選公式選項卡中的定義名稱,在彈出視窗的名稱處輸入客戶全稱,在引用位置入輸入=offset(客戶名稱!$A$2,,,counta(客戶名稱!$A:$A)-1);然後,再選定相應單元格(如D2:D27),點選資料驗證,在驗證條件允許處選擇序列,將游標點到來源處,按F3鍵,在彈出視窗選擇客戶全稱。
這樣,當在A列增加或刪除客戶名稱時,下拉列表也跟著動態更新(圖2)。小提示:還有一種實現下拉選單動態擴充套件的方法:首先,選擇客戶名稱資料,點選插入選項卡中的表格,確定;再次選擇客戶名稱資料,點選公式選項卡定義的名稱中的根據所選內容建立,在彈出視窗只勾選首行,確定;同樣,選定相應單元格(如D2:D27),點選資料驗證,在驗證條件允許處選擇序列,將游標點到來源處,按F3鍵,在彈出視窗選擇客戶名稱。
2。 智慧獲取當前輸入內容一般情況下,在記錄客戶名稱時,不輸入客戶全稱,這就需要工作表能夠及時捕捉到輸入的內容是什麼。接下來說明工作表是如何智慧獲取當前輸入內容的。在工作表的F1單元格輸入=CELL(contents),回車後會出現警告提示,直接確定,F1單元格的值就會變成0,這時,在任意單元輸入內容,F1單元格就會捕獲取輸入的內容。
3。 動態篩選提取資料新建一個名稱為客戶列表的工作表,點選公式選項卡中的名稱管理器,在彈出的視窗點選新建,在新彈出視窗的名稱處輸入客戶列表,引用位置入輸入=offset(客戶列表!$A$2,,,countif(客戶全稱,*cell(contents)*));選定客戶列表這個工作表的A2單元格,在公式編輯欄輸入=INDEX(客戶名稱!A:A,SMALL(IF(ISNUMBER(FIND(CELL(contents),客戶全稱)),ROW(客戶全稱),4^8),ROW(A1))),同時按下Crtl+Shift+Enter,當彈出警告提示時,直接確定即可;將陣列公式填充到A80(可根據客戶名稱中的記錄估算篩選結果進行填充),這樣就能將根據輸入關鍵字在客戶名稱工作表中篩選出的客戶全稱新增到客戶列表的A2單元格及以下單元格中。
函式解釋:⑴ =offset(客戶列表!$A$2,,,countif(客戶全稱,*cell(contents)*)),countif根據輸入的內容在客戶全稱中統計符合包包含輸入內容的記錄個數,offset是從客戶列表中篩選出符合條件的記錄;⑵ =INDEX(客戶名稱!A:A,SMALL(IF(ISNUMBER(FIND(CELL(contents),客戶全稱)),ROW(客戶全稱),4^8),ROW(A1))),FIND是根據輸入內容在客戶全稱中進行查詢,如果找到就返回相應的位置,找不到就返回一個錯誤,為了相容這個錯誤需要用ISNUMBER,即如果找到就返回TRUE,找不到就返回FALSE;ROW就是如果找到就返回到該記錄相應的行;SMALL能夠逐一提取找到的記錄。
最後,在來電記錄工作表,選中客戶全稱這列,點選資料選項卡中的資料驗證,在彈出視窗的設定選項卡中,驗證條件允許處選擇序列,將游標點到來源處,按下F3鍵,在彈出的貼上名稱視窗選擇客戶列表;在出錯警告視窗,去掉輸入無效資料時顯示出錯警告前面的勾選。
如此,就完成了整個智慧化表格的製作。