• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      在數(shù)據(jù)表中如何進行一對多查詢

      2020-07-06 16:39:59曾憲豐
      考試與評價 2020年6期

      曾憲豐

      【摘 要】 在數(shù)據(jù)處理當中,我們常常要對數(shù)據(jù)進行一對多查詢,并將結果提取出來,使用INDEX索引函數(shù)和SMALL排序函數(shù)正好能實現(xiàn)這個功能。

      【關鍵詞】 數(shù)據(jù)查詢 ?IF函數(shù) ?INDEX函數(shù) ?SMALL函數(shù)

      下面我就講講在數(shù)據(jù)表中進行一對多查詢的典型用法,可以說這個公式相當于一個萬能公式。

      一、判斷函數(shù)IF的應用

      這里我引用一個簡單的數(shù)據(jù)源作為例子,復雜的數(shù)據(jù)只要變換公式里相應的參數(shù)就可以了。

      數(shù)據(jù)源如下:

      A~E列是部分教師的信息,要根據(jù)G2單元格指定的職稱,提取出所有職稱為“高級教師”的教師姓名。

      H2單元格輸入以下公式,按住Shift+Ctrl不放,按回車,再將公式向下拖動到出現(xiàn)空白單元格為止:

      =INDEX(A:A,SMALL(IF(D$2:D$14=G$2,ROW($2:$14),4^8),ROW(A1)))&""

      二、排序SMALL函數(shù)的應用

      SMALL函數(shù)的作用是返回一組數(shù)值中的第n個最小值,比如公式SMALL(D:D,2),就是返回D列中的第二個最小值。

      在這個例子中,SMALL(IF(D$2:D$14=G$2,ROW($2:$14),4^8),ROW(A1)),SMALL函數(shù)用IF函數(shù)的計算結果作為第一參數(shù),要在這個內(nèi)存數(shù)組中提取第n個最小值,這里的n由誰來指定呢?就是公式最后部分的ROW(A1)。

      ROW(A1)的作用是返回A1單元格的行號,結果是1。當公式向下復制時,參數(shù)會依次變成ROW(A2)、ROW(A3)、……,也就是得到從1開始、依次遞增的序號1、2、3……n。最終的目的是給SMALL函數(shù)一個動態(tài)的參數(shù),依次從內(nèi)存數(shù)組中提取出第1至n個最小值的序列。

      在這里,SAMLL函數(shù)是先取出內(nèi)存數(shù)組中的第1個最小值,也就是2。

      這個2的作用是什么呢?現(xiàn)在該輪到INDEX函數(shù)上場了。

      三、索引INDEX函數(shù)的應用

      INDEX函數(shù)的作用是根據(jù)指定的位置信息,從數(shù)據(jù)區(qū)域返回對應位置的內(nèi)容。剛剛的2就是位置信息,INDEX函數(shù)從D列中返回第二個單元格的內(nèi)容,結果就是第一個符合條件的姓名“劉昌”。

      公式向下復制到H3單元格,ROW(A1)變成了ROW(A2),返回A2的行號2,SMALL函數(shù)再從內(nèi)存數(shù)組中提取第2個最小值,是8。這時INDEX函數(shù)就返回D列中的第8個單元格中的內(nèi)容“陳青”。

      以此類推,如果所有符合條件的行號都提取完了,公式還向下復制,這個時候SMALL函數(shù)返回的結果就是4^8,也就是65536,INDEX函數(shù)就返回D列第65536個單元格中的內(nèi)容。

      四、拓展

      這個公式還能用在多對多查詢,通常分為兩種情況:一是要提取出同時符合多個條件的所有記錄;二是要提取出多個條件符合其一的所有記錄。

      比如,要提取出上面例子中性別為“女”,職稱為“一級教師”的所有教師姓名。這里的判斷條件就變成性別和職稱兩個條件了,兩個條件要同時符合,公式該怎么用呢?

      I2單元格輸入以下公式,按住Shift+ctrl不放,按回車,再將公式向下拖動到出現(xiàn)空白單元格為止:

      =INDEX(A:A,SMALL(IF((B$2:B$14=G$2)×(D$2:D$14=H$2),ROW($2:$14),4^8),ROW(A1)))&""

      公式中大部分和前面的幾乎是一樣的,有所不同的地方就是if判斷中的條件,這里用的是(B$2:B$14=G$2)×(D$2:D$14=H$2),也就是把多個條件分別寫到括號內(nèi),再用乘號把多個條件對應相乘。只有這幾組條件同時符合了,對應相乘后的結果才是1,否則相乘結果是0。

      在IF函數(shù)的第一參數(shù)中,0的作用相當于邏輯值FALSE,不等于0的數(shù)值則相當于邏輯值TRUE。也就是兩個條件同時符合了,就返回對應的行號,否則返回65536。

      至于多對多查詢的第二種情況是多個條件符合其一。

      總結

      在數(shù)據(jù)處理當中,要善于利用函數(shù)和公式的組合,完成對數(shù)據(jù)更復雜的處理,呈現(xiàn)更直觀的效果。我們也不用害怕復雜的公式,通過“剝洋蔥”式的分析,我們就能對公式的運行了如指掌;再通過實例操作,就能熟練掌握高階公式的應用了。

      宁阳县| 万全县| 东兴市| 和林格尔县| 琼中| 玉田县| 贺州市| 吉林省| 北碚区| 榆林市| 泰来县| 镇宁| 张家口市| 紫阳县| 定日县| 四会市| 嫩江县| 固始县| 陕西省| 驻马店市| 新泰市| 屏东市| 盐山县| 颍上县| 新营市| 浦县| 辽中县| 益阳市| 桂平市| 孟连| 江西省| 万源市| 靖江市| 阳山县| 申扎县| 茌平县| 永寿县| 垦利县| 华阴市| 临朐县| 贵港市|