不需寫代碼,F(xiàn)ilter函數(shù)公式,制作模糊查詢器(模糊查詢js)
舉個(gè)工作場景中的例子,比如左邊是員工檔案數(shù)據(jù),現(xiàn)在我們可以制作一個(gè)查詢器,通過模糊搜索的方式,只需要我們輸入關(guān)鍵字,則對(duì)應(yīng)所有內(nèi)容都顯示出來
并且模糊查找的關(guān)鍵字可以是任意的,可以是市場,可以輸入張,可以輸入男,都可以查詢到對(duì)應(yīng)的結(jié)果:
這種效果是怎么制作的,無需寫代碼,只需要一個(gè)Filter公式就能搞定
1、Filter基本用法
首先我們來了解一下Fiter公式的基本用法,當(dāng)我們需要輸入姓名關(guān)鍵詞,自動(dòng)獲取這個(gè)姓名對(duì)應(yīng)的數(shù)據(jù)時(shí),我們只需要輸入的公式是:
=FILTER(A:E,A:A=H1)
FILTER的第一個(gè)參數(shù)表示在A:E列內(nèi)進(jìn)行篩選,第二個(gè)參數(shù)表示,篩選的A列,以及篩選的值是H1單元格。
但是這個(gè)公式不支持模糊搜索,比如我們?cè)谛彰锩嬷惠斎胍粋€(gè)關(guān)鍵字,張的時(shí)候,出不來結(jié)果,所以我們要繼續(xù)改進(jìn)
2、Filter Search實(shí)現(xiàn)模糊查找
我們輸入的公式是:
=FILTER(A:E,IFERROR(SEARCH(H1,A:A),0))
第2個(gè)參數(shù)改成了SEARCH公式,就可以對(duì)H1單元格的值在A列進(jìn)行模糊查找,IFERROR可屏幕查找不到的錯(cuò)誤值, 這樣就可以實(shí)現(xiàn)模糊查找
當(dāng)我們輸入一個(gè)喬字時(shí),也可以得到相應(yīng)的結(jié)果:
3、Filter多列同時(shí)模糊搜索
如果我們關(guān)鍵字既可以輸入姓名,又可以輸入月份的話,就需要多次的SEARCH查找,所以我們將公式更新為:
=FILTER(A:E,IFERROR(SEARCH(H1,A:A),0) IFERROR(SEARCH(H1,B:B),0))
這樣的話,我們輸入關(guān)鍵字之后,它既會(huì)在A列進(jìn)行查找,也會(huì)在B列進(jìn)行查找
如果A或B列能查找到相應(yīng)的結(jié)果,則會(huì)顯示出來,所以這個(gè)時(shí)候不僅輸入姓名關(guān)鍵字能查找到,同時(shí)我們輸入1月,也可以查找到1月相關(guān)的數(shù)據(jù):
如果還想查找更多的列,則我們可以多加幾個(gè)SEACH公式進(jìn)行查找,如下所示:
=FILTER(A:E,IFERROR(SEARCH(H1,A:A),0) IFERROR(SEARCH(H1,B:B),0) IFERROR(SEARCH(H1,C:C),0) IFERROR(SEARCH(H1,D:D),0) IFERROR(SEARCH(H1,E:E),0),0)
這樣的話,就可以在A、B、C、D、E列里面都去查找了,就能實(shí)現(xiàn)開頭的動(dòng)圖效果了
你學(xué)會(huì)了么?動(dòng)手試試吧!