對於excel的參照性輸入,我們一般會使用資料驗證裡面的序列功能。常規下我們用作系列的資料來源無非就是乙個資料列表。但這種處理有個很大的問題,那就是如果系列裡面的資料項太多,那麼在下拉列表裡面非常難以查詢,他就會變成如下圖這般,很多個列表專案全部混在一起,需要用滾動條不停的滾動才能找到。
以上這種常規的做法效率非常低,體驗並不好,那麼有沒有一種快速定位列表項的辦法呢?當然有,且看下面我們怎麼實現它。
在此,為了更加快速的輸入,我們採用助記碼方式,而非直接輸入漢字。畢竟字母輸入的效率肯定比漢字輸入要高。
=offset($b$1,match("*"&e2&"*",$c$2:$c$11,0),0,countif($c$2:$c$11,"*"&e2&"*"))
該公式就不做過多解釋了,這裡不是excel函式教育的地方。
第二點,出錯警告這裡必須去除選項,否則直接沒法完成查詢引用。
在此,我們在做完資料驗證的e2單元格輸入助記碼「tk」,然後單擊下拉框,於是就自動列出了包含助記碼為「tk」的專案名稱。當然了,這裡助記碼是不分大小寫的。助記碼可以輸入任意字元完成模糊匹配
執行到第三步時,實際上已經完全可以使用了。但鑑於使用者體驗的問題,如果還想更進一步,那麼助記碼這個都可以使用自定義函式來自動生成。當然了,如果不願意使用自定義函式,則仍然可以使用手工編制助記碼。但更推薦這種使用函式自動對全欄位取碼的方式,因為這個是全欄位拼音簡碼,匹配的範圍要比部分拼音碼要更寬一些。
函式取碼的效果如下:
function pinyin(byval expression) as string dim lngi as long dim strword as string expression = trim$(iif(isnull(expression), 0, expression)) for lngi = 1 to len(expression) strword = mid$(expression, lngi, 1) select case asc(strword) case -20319 to -20284: pinyin = pinyin & "a" case -20283 to -19776: pinyin = pinyin & "b" case -19775 to -19219: pinyin = pinyin & "c" case -19218 to -18711: pinyin = pinyin & "d" case -18710 to -18527: pinyin = pinyin & "e" case -18526 to -18240: pinyin = pinyin & "f" case -18239 to -17923: pinyin = pinyin & "g" case -17922 to -17418: pinyin = pinyin & "h" case -17417 to -16475: pinyin = pinyin & "j" case -16474 to -16213: pinyin = pinyin & "k" case -16212 to -15641: pinyin = pinyin & "l" case -15640 to -15166: pinyin = pinyin & "m" case -15165 to -14923: pinyin = pinyin & "n" case -14922 to -14915: pinyin = pinyin & "o" case -14914 to -14631: pinyin = pinyin & "p" case -14630 to -14150: pinyin = pinyin & "q" case -14149 to -14091: pinyin = pinyin & "r" case -14090 to -13319: pinyin = pinyin & "s" case -13318 to -12839: pinyin = pinyin & "t" case -12838 to -12557: pinyin = pinyin & "w" case -12556 to -11848: pinyin = pinyin & "x" case -11847 to -11056: pinyin = pinyin & "y" case -11055 to -10247: pinyin = pinyin & "z" case else: pinyin = pinyin & strword end select nextend function
完成以上自定義函式之後就可以在工作簿內呼叫該函式了。
如此,在參照輸入時,只需輸入拼音簡碼,即可快速定位列表專案,比簡單的列表要高效得很多。
angular下拉框模糊查詢
前兩天研究了一下angularjs,不得不說angularjs的mvc思想還是很強大的。對應偏重於資料處理的專案還是非常有優勢的。寫了個搜尋下拉框的demo,注釋在裡邊都寫了,就不再這羅嗦了。1文字框做輸入,並監控器change事件,在change事件中獲取輸入值,獲取的輸入值與選擇框中的各個下拉項...
可輸入 自動匹配的下拉框
thanks for jk style.css ac menu ac menuitem ac menuitem selected main.js function combobox sobj,al v,al t loadcombobox sobj,al v,al t function loadcom...
可輸入 自動匹配的下拉框
style.css ac menu ac menuitem ac menuitem selected main.js function combobox sobj,al v,al t loadcombobox sobj,al v,al t function loadcombobox obj,al v...