在間隔資料中排定名次

2022-11-25 18:18:05 字數 1522 閱讀 2411

用excel**做了學生考試成績彙總表,格式如圖1所示。需要根據aaa列中相應科目的成績排出名次,並將結果放到ab列相應的單元格中。

排定名次要使用rank函式,其語法是「rank(number,ref,order)」其中,引數「number」是需要找到排位的數字;而引數「ref」則是數字列表的引用;第三個引數如果省略則是按降序排列,這正是我們需要的。比如公式「=rank(a3,a2:a6)」的意思就是要得到a3單元格資料在a2:

a6單元格資料中的排名。

顯然,在本例中要使用rank函式,但有乙個問題是必須要解決的。假設我們要針對語文學科的總分來排名次。學生們的語文總成績分布在aa4、aa12、aa20……等單元格中,所處單元格區域並不連續,每8行有乙個成績。

怎樣才能將它們選中,並作為排名的區域呢?

這個問題也曾經困擾了我很長時間,最後發現利用求餘數函式可以使問題得到順利解決。不過,有些準備工作是要做的。

還是以語文成績的排名為例。

先將aa列的資料複製到別的位置,等準備工作完成後再貼上回來。

先選中aa4單元格,輸入公式「=1/(mod(row(),8)-4)」,回車後即可發現出現「#div/0!」的錯誤提示。拖動該單元格填充控制代碼向下至aa379,則會從aa4單元格開始,每8行出現相同的錯誤提示,其它各行均為數字。

點選功能區「開始」選項卡「編輯」功能組「查詢和選擇」按鈕,在彈出的選單中點選「定位條件」命令,開啟「定位條件」對話方塊。選中「公式」單選項,並只保留選中隨後出現的「錯誤」復選項,如圖2所示。確定後就可以發現,凡是出現錯誤的提示的單元格就處於被選中狀態了。

現在點選功能區「公式」選項卡「定義的名稱」功能組「定義名稱」按鈕,在開啟的「新建名稱」對話方塊的「名稱」輸入框中輸入「ymzf」。確定關閉對話方塊。

以後只要我們在名稱框中輸入「ymzf」,回車,就可以再次選中aa列中全部語文學科對應的單元格了,如圖3所示。

按照上面的方法,只要能讓錯誤提示分別出現在相應學科所在行,那麼就可以利用定位條件來選中它們。因為語文學科所處的單元格所在行除以8的餘數為4,所以我們採用公式「=1/(mod(row(),8)-4)」製造了除數為0的錯誤提示。那麼數學、英語等其它學科則可以分別根據其行數除以8的餘數不同,重複上面的操作過程,只是將公式分母中「-4」分別變成「-5」、「-6」、「-7」、「-0」、「1」、「2」、「3」就可以了。

將所到的各學科區域分別以「sxzf」、「yyzf」等名稱命名。

但準備工作僅僅做這些還是不夠的。因為我們排出的名次應該放在ab列而不是aa列。所以我們還要在再用上面的方法在ab列中選中各學科對應的區域,並分別以「ymmc」、「sxmc」、「yymc」等名稱命名,以便將來在這些區域中輸入不同的公式。

至此,我們的準備工作才算是完成了。現在我們可以將臨時放到別處的總分貼上回aa列單元格中了,再剩下的事兒就是用rank函式排名的問題了。咱還是先根據語文成績排名吧。

先在名稱欄輸入「ywmc」,回車,將ab列語文學科所對應的單元格全部選中,此時ab372單元格會處於被啟用狀態。我們只要在編輯欄輸入公式「=rank(aa372,ywzf)」,並按下「ctrl+enter」就可以在全部選中的單元格中輸入公式並得到名次結果了。最後的結果如圖1所示。

資料結構中排序演算法

include define maxlen 20 typedef int keytype typedef char infotype 10 typedef structrectype void insersort rectype r,int n r j 1 temp 在j 1處插入iprintf i...

在兩次檢定間隔期間

1 概述 嶗應7050型煙塵 氣 測試校準儀主要用於對煙塵 氣 測試儀的動壓 靜壓和流量等引數進行校準,也可用於其它需要壓力 流量校準的場合。廣泛適用於環境監測 勞動保護 科研院校等部門。2 工作條件 2.1工作電源 外接18v,2.5a直流電源,或內建可充電鎳氫電池 2.2環境溫度 20 45 2...

資料結構在GIS中的應用

計算機是一門研究用計算機進行資訊表示和處理的科學。這裡面涉及到兩個問題 資訊表示 資訊處理,資訊表示直接關係到資訊處理的演算法與效率。資訊 資料 之間往往是有重要的結構關係,資料結構就是對資料表示以及其上操作或功能的封裝,分邏輯結構和儲存結構兩個層面。邏輯結構定義了資料之間的邏輯結構關係。資料元素相...