Excel用定義名稱、萬金油公式製作查詢器、可模糊、不同欄位查找

2020-12-27 Excel小小技巧

之前寫過一篇文章Excel表格使用公式製作信息查詢器(可模糊查找、不同欄位查找)有粉絲朋友說公式太長太複雜看不太明白,希望我可以分享一個更容易理解的方法製作一個信息查詢器。今天就為朋友們分享一種使用定義名稱和萬金油公式製作信息查詢器的方法。

一.效果圖

還是先給朋友們看一張動態效果圖看看這個信息查詢器的神奇之處(與之前的文章效果一樣,只是公式更簡單更容易理解)。

二.主要相關函數用法介紹

1.Offset函數

(1)語法:

Offset(reference,rows,cols,height,width)

(2)各參數意義:

Reference:作為參照系的引用區域,其左上角單元格是是偏移量的起始位置;

Rows:相對於參照系左上角單元格,上下便宜的行數(向下為正,向上為負);

Cols:相對於參照系左上角單元格,左右便宜的行數(向右為正,向左為負);

Height:新引用區域的行數;

Width:新引用區域的列數。

(3)用法演示(本演示參考係為A1單元格,向下偏移2,向右偏移2,返回一個3行2列的單元格區域。)

2.MATCH函數(在這裡只用到第三個參數為0的精確匹配)

(1)語法:

MATCH(lookup_value, lookup_array, [match_type])

(2)各參數意義:

lookup_value 參數可以為值(數字、文本或邏輯值)或對數字、文本或邏輯值的單元格引用。

lookup_array 必需。 要搜索的單元格區域。

match_type 可選。 數字 -1、0 或 1。

3.INDEX函數(在這裡只用到第一個參數為array形勢,也就是數組形式)

(1)功能:

返回表或數組中元素的值,由行號和列號索引選擇。

當函數 INDEX 的第一個參數為數組常量時,使用數組形式。

(2)語法

INDEX(array, row_num, [column_num])

(3)各參數意義:

array 必需。 單元格區域或數組常量。

如果數組只包含一行或一列,則相應的 row_num 或 column_num 參數是可選的。

(4)在這裡只用到根據row_num返回一列數組裡的元素。

(5)用法演示(本演示利用ROW()函數構造一個數字1、2、3...的序列返回A列對應的單元格內容)

4.SMALL函數

語法:SMALL(array,k)

功能:返回array(通常是一個數組)中第K個最小值。

5.row()函數

語法:ROW([reference])

功能:返回引用單元所在的行

6.ISNUMBER( )函數

語法:ISNUMBER([reference])

功能:判斷是否為數字

7.FIND( )函數

(1)語法:FIND(find_text,within_text,start_num)

Find_text 是要查找的字符串。

Within_text 是包含要查找關鍵字的單元格。就是說要在這個單元格內查找關鍵字。

Start_num 指定開始進行查找的字符數。如果忽略 start_num,則假設其為 1。

(3)說明:找不到查找內容時返回錯誤值#VALUE!

三.製作方法

1.根據查找依據的欄位值定義一個名稱

(1)在H2輸入公式:

=OFFSET($A$1,0,MATCH($G$1,$A$1:$D$1,0)-1,COUNTA($A:$A),1)

(2)公式解析:

COUNTA($A:$A)函數返回A列非空單元格的個數;

MATCH($G$1,$A$1:$D$1,0)函數返回查找依據欄位在原始數據表頭的列數;

整個函數返回的是一個查找欄位所在列所有數據構成的數組。

(3)定義名稱時要在引用單元格的位置之前加上「工作表名!」

定義名稱名字為:查找依據數組。

輸入的公式為:

=OFFSET(信息表!$A$1,0,MATCH(信息表!$G$1,信息表!$A$1:$D$1,0)-1,COUNTA(信息表!$A:$A),1)

2.輸入公式查找

=INDEX(A:A,SMALL(IF(ISNUMBER(FIND($G$2,查找依據數組)),ROW(查找依據數組),1000000),ROW(A1))) &""

1.FIND($G$2,查找依據數組),如果查找依據數組元素內包含G2單元格內容返回其位置,否則返回錯誤值,最終返回一個由數字和錯誤值構成的數組。

2.ISNUMBER(FIND($G$2,查找依據數組),返回的是由邏輯值構成的數組。

3.IF(ISNUMBER(FIND($G$2,查找依據數組)),ROW(查找依據數組),1000000),根據邏輯值構成的數組,當數值中的元素為true時,返回對應元素所在的行,當數值中的元素為FLASE時,返回對一個較大的數值1000000.(這一步構造了數組元素與查找值匹配時返回其行數,否則返回一個較大值1000000

4.SMALL(IF(ISNUMBER(FIND($G$2,查找依據數組)),ROW(查找依據數組),1000000),ROW(A1)),ROW(A1)向下填充時返回一個數字1、2、3構成的序列,用SMALL函數依次返回數組中第1、2、3個最小值。(這一步構造了數組元素與查找值匹配時其對應行數構造成的數組

5.INDEX(A:A,SMALL(IF(ISNUMBER(FIND($G$2,查找依據數組)),ROW(查找依據數組),1000000),ROW(A1))) ,最終由INDEX分別提取之前構造的數組所對應的所有值。

6.公式最後的&」」是所有元素匹配完成後繼續向下填充公式會顯示數字0,&」」可以避免數字0的出現。

四.注意事項:

1.這裡涉及眾多數組公式,所以在確定公式時要同時按住Ctrl+Shift+Enter。

2.注意單元格的引用方式,不要混淆絕對引用和相對引用。

相關焦點

  • Excel表格使用條件格式製作可模糊、不同欄位查找的信息查詢器
    在此之前分享過兩種方法製作信息查詢器(有興趣的朋友可以閱讀一下),今天為朋友們分享一種更簡單的、使用條件格式製作可模糊、不同欄位查找的信息查詢器。Excel用定義名稱、萬金油公式製作查詢器、可模糊、不同欄位查找
  • Excel表格使用公式製作信息查詢器(可模糊查找、不同欄位查找)
    在朋友們的日常工作中表格的信息查詢都會經常用到,常用的方法有打開查找對話框輸入查找內容或者使用篩選功能。今天為朋友們分享一個利用函數製作的可以模糊查找、不同欄位查找的信息查詢器。一.話不多說先給朋友來一張動態效果圖,感受一下整個查詢器的神奇。二.使用方法:1.在G1單元格通過下拉列表選擇要查找的欄位依據。2.在G2單元格輸入要查找的內容。
  • Excel表格利用函數製作排序器(可依據不同欄位、升降序排序)
    Excel表格中的排序功能是我們經常使用的一個功能,排序的方式主要有升序排序、降序排序和自定義排序。前兩種排序方式默認的排序依據都是所選排序區域的第一列數據,自定義排序用戶可以自定排序的主要依據和次要依據。在我們的日常工作中可能會遇到根據不同要求來排序一份數據。如果每一次都手動的根據不同的欄位值依據和排序方式重新排序,那麼效率會非常底。
  • excel定義名稱詳解
    第一,excel定義名稱的命名規則  1.名稱可以是任意字符與數字組合在一起,但不能以數字開頭,不能以數字作為名稱,名稱不能與單元格地址相同。  如果要以數字開頭,可在前面加上下劃線,如_1blwbbs。  2.名稱中不能包含空格,可以用下劃線或點號代替。
  • excel操作技巧:「自定義名稱」應用基礎篇
    說到excel中的「自定義名稱」,那可就厲害了!它不僅能簡化函數公式,增加函數的可讀性,還能提高數據運行的效率,可謂是excel中的必會知識點!今天,我們就一起來了解一下「自定義名稱」。這是我們建好之後的四個名稱,同學們可以看到,這兩個模擬數據都是一樣的格式,一樣的表頭欄位,但是如果我們要創建名稱的話,一定要用不同的命名。
  • excel函數公式:萬金油篩選函數公式解讀
    估計還有很多小夥伴不知道啥是萬金油公式吧,其實就是INDEX-SMALL-IF-ROW啦,這個公式套路可以解決Excel一對多查找篩選等難題,今天給大家分享的只是其中一個,先來學一下吧,有興趣的話,再繼續給大家推送。那麼,這個公式又要怎麼用呢?
  • Excel小技巧:不要函數公式的多條件查詢,只需要一個控制項即可
    一提到宏或者vba可能很多人覺得很遙遠,但是今天小編通過一個多條件查詢的案例帶你快速入門宏~通過這個案例你也可以輕鬆地製作一個屬於自己的查詢器:比如公司人員統計,想要出查詢滿足多個條件的人員個數等等!——錄製宏Step 2:點擊數據——高級篩選——選擇條件區域和數據源——選擇結果區域Step 3:將年級名次按照升序排列,點擊停止錄製宏2、設置變化的條件,當更改年級名次後再次點擊開發工具下宏,找到剛才定義的宏名稱
  • excel函數技巧:什麼是模糊查找,如何操作?
    編按:大多數時候我們都需要進行精確查找,但也會遇到需要模糊查找的時候。譬如根據簡稱查找全稱,譬如根據數值劃分等級等。模糊查找不等於瞎子摸象,這裡分享4種用VLOOKUP和LOOKUP函數進行模糊查找的方法。今天來跟大家分享模糊查找的幾種方法。
  • excel函數技巧:什麼是模糊查找,如何操作?
    模糊查找不等於瞎子摸象,這裡分享4種用VLOOKUP和LOOKUP函數進行模糊查找的方法。今天來跟大家分享模糊查找的幾種方法。公式解析:這是通過LOOKUP向量形式來完成模糊查找。二、文本字符模糊查找下面分享文本的模糊查找,例如,通過查找AB返回查找區域中包含AB的AAAABBB單元格所對應的值。舉例:下表為各公司2018年度營業額數據,公司名稱為全稱。現在我們在另外一個表中需要根據公司簡稱來匹配相關的營業額數據。
  • 公式解讀 | 庖丁就牛Excel"萬金油"公式
    歡迎大家繼續學習Excel技巧1001系列,第21期說說那人見人愛,使用了數年的「萬金油」公式-INDEX(SMALL(IF()
  • Excel教程:媲美excel查找替換,卻少有人知道它!
    比如經常需要在表格中輸入公司名稱:成都部落窩科技有限公司,我們可以添加一個新條目,後續只需要輸入「部落窩」,Excel會自動更正為:成都部落窩科技有限公司。這效果可以媲美excel中的查找替換了。希望按照部門來進行排序,左邊是源數據,右邊是按照部門來排序的效果。
  • excel篩選技巧:不用函數公式也能快速多對多查找
    說到excel中的篩選,想必大家早已是了如指掌,不過增強版的篩選,你聽說過嗎?它可比普通的篩選厲害多了,不僅能實現excel中的一對多查找,就連複雜的多對多查找也不在話下!趕緊來看看吧!*********說起一對多查找,大家首先想到的就是萬金油公式,以前也分享過一篇相關的教程《Excel萬金油公式INDEX-SMALL-IF-ROW篩選函數公式解讀》。
  • excel篩選技巧:不用函數公式也能快速多對多查找
    說到excel中的篩選,想必大家早已是了如指掌,不過增強版的篩選,你聽說過嗎?它可比普通的篩選厲害多了,不僅能實現excel中的一對多查找,就連複雜的多對多查找也不在話下!趕緊來看看吧!*********說起一對多查找,大家首先想到的就是萬金油公式,以前也分享過一篇相關的教程《Excel萬金油公式INDEX-SMALL-IF-ROW篩選函數公式解讀》。
  • Excel教程:明明看到1了,為什麼查找不到?
    其實我們在excel中經常使用到的查找和替換,稍不注意也很容易出錯。比如數據1是由公式得來時,我們要查找肉眼看到的數據1,就不能直接查找,而需要做一定的調整。下面給大家詳細講解一下查找和替換功能。很多小夥伴習慣了不選擇區域直接進行查找和替換操作。但有時,這個習慣會導致失誤。為什麼呢?下面給大家演示一下,如果沒有先選中區域,會是什麼結果。
  • Excel中查找與引用函數的使用
    range_lookup:此參數為可選選項,它是一個邏輯值,表示是精確查找或模糊查找。注意事項: 1. range_lookup為 TRUE或省略時,表示模糊查找,返回小於等於 lookup_value 的最大值。
  • excel圖表技巧:切片器加透視表製作動態圖表
    上回說到,武林盟主要求大家學習excel動態圖表,此方法雖然可行,卻愚鈍至極,老衲揚言要傳授 「若不自宮,也能成功」的修煉大法,只需用滑鼠操作十幾秒即可。出家人從不打誑語,今日就請施主隨老衲修煉起來吧。一石激起千層浪,其實江湖早有傳言,「獨孤大俠」歸隱十年,日夜研究excel動態圖表,已匯成口訣:動態圖表真美妙;製作起來有訣竅。
  • excel查找函數-vlookup
    在我們日常表格數據處理中,經常遇到數據查詢等問題,比如根據產品編號查詢單價或根據產品名稱反方向查找產品編碼等。(查找目標,查找範圍,返回值的列數,精確OR模糊查找)=IFERROR(值,錯誤值)011、根據產品編號查詢單價
  • 史上最全Excel定義名稱公式的用法
    今天分享如何使用定義名稱,名稱就是比較特殊的公式,由用戶自定義設置保存在Excel中的公式,定義的名稱可以在其它名稱或者公式中調用,用途比較廣泛。1、定義區域求和選擇數據區域,點擊公式菜單欄下的定義名稱,在名稱框中輸入名稱【金額】,引用位置輸入公式【=表1!
  • Excel查找引用:比vlookup函數還好用的是hlookup函數
    在之前發布了一個動態排班表的文章,根據日期和班組來查詢班次,小編原來使用了一個很長很長的if+vlookup函數組合查找到的!IFERROR(IF($J$1="A班",VLOOKUP($J$1,A班,ROW(A2),),IF($J$1="B班",VLOOKUP($J$1,B班,ROW(A2),0),IF($J$1="C班",VLOOKUP($J$1,C班,ROW(A2),),VLOOKUP($J$1,D班,ROW(A2),)))),"")注意:vlookup函數查找範圍是使用了定義名稱
  • Excel公式技巧68:查找並獲取所有匹配的值
    學習Excel技術,關注微信公眾號:excelperfect 在《Excel公式技巧67:按條件將數據分組標識