昨天一整天,都在研究這個(gè),那些公式,本來很陌生的,現(xiàn)在已經(jīng)變得很熟練了。 為什么要提取不重復(fù)的數(shù)值,為什么有這樣的需求? 我就不解析,用途實(shí)在太廣泛。比如最簡單的下拉菜單,還有匯總,你都是有可能用到的。 一直都在思考一個(gè)問題,該如何學(xué)Excel,是買本書,從頭看到尾,這樣的效果,其實(shí)很差,書上的很多例子是為了舉例而舉例,沒有實(shí)際的價(jià)值。其實(shí)有時(shí)候,從一個(gè)功能開始入手,這樣能提高你學(xué)習(xí)的興趣,同時(shí)也能提高你的動(dòng)手能力。 整個(gè)過程,基本把有用的函數(shù)都用到了,其實(shí)如果你把過程用到的函數(shù)都理解,那么其實(shí)你已經(jīng)是人們心目中的Excel高手了。 下面的內(nèi)容,是我根據(jù)excelhome的論壇的帖子的學(xué)習(xí)總結(jié),不過我都是自己動(dòng)手做,理解的。 看例子。 ![]() 我們現(xiàn)在有一個(gè)名單,希望把不重復(fù)的名單提取出來。那么其實(shí)我們需要解決幾個(gè)問題,下面的討論都是基于這個(gè)名單是連續(xù),如果不連續(xù),那么處理的辦法又是不一樣。 1:動(dòng)態(tài)名稱 為了寫公式的方便,我們需要把這一列,設(shè)置名稱,不過由于這一列的數(shù)據(jù)還是在不斷增加,那么我們設(shè)置名稱,就必須設(shè)置動(dòng)態(tài)的名稱,這樣才更加方便和靈活。 =OFFSET(Sheet1!$A$1,1,,COUNTA(Sheet1!$A:$A)-1,)
![]() 驗(yàn)證一下這個(gè)名稱是否正確。
![]() 如果你在下面繼續(xù)增加,那么這個(gè)數(shù)值也是會自動(dòng)變化。達(dá)到我們預(yù)期的目標(biāo)。不過如果你刪除中間一行,那么就會出問題。這里就不討論了。 2:有多少個(gè)不同的數(shù)據(jù) 那么這一列里到底包含了多少不同的數(shù)據(jù)。 =SUM(1/COUNTIF(客戶名稱,客戶名稱))
![]() 記住,這是數(shù)組公式,輸入完后,一定要按 CTRL+shift+enter 一共是8個(gè)不同的數(shù)值,如果我們在下面繼續(xù)添加,那么這個(gè)數(shù)值會自動(dòng)變化。 公式的含義,如果理解不了,你就當(dāng)成一個(gè)公式來用就可以了。 3:提取不重復(fù)的數(shù)值 選中一個(gè)區(qū)域,因?yàn)槲覀兪切枰祷氐氖且淮臄?shù)值, ![]() 輸入下面的數(shù)組公式 =IF(SUM(1/COUNTIF(客戶名稱,客戶名稱))>=ROW()-7,INDEX(客戶名稱,SMALL(IF(ROW(客戶名稱)-1=MATCH(客戶名稱,客戶名稱,),ROW(客戶名稱)-1,"0"),ROW(客戶名稱)-1)),"")
![]() 上面的公式,你只需要做兩件事情,你就可以使用 1:替換掉名稱,把你的名稱替換上去 2:更改4個(gè)數(shù)字,第一個(gè)數(shù)字的含義和后面三個(gè)是不同的??磮D你就應(yīng)該明白怎么體會這些數(shù)值,后面3個(gè)數(shù)字都是相同的,
4:第二種方法提取不重復(fù)的數(shù)值
![]() 看圖,我們在D8的單元格里輸入下面的公式,這是一個(gè)數(shù)組公式,需要按CTRL+Shift+enter =IF(AND(COUNTIF(D$7:D7,客戶名稱)),"",INDEX(客戶名稱,MATCH(,COUNTIF(D$7:D7,客戶名稱),))) 往下一拖,那么就出來全部的結(jié)果。這個(gè)公式,哪怕你的列表包括空的單元格,那也是沒有問題的,不會報(bào)錯(cuò)
上面的公式也比較簡單,不過有一個(gè)問題,就是要求上面有一行空行,也就是D7,不過這一行,通常都是標(biāo)題行,解決的辦法,就是通過 在D7單元格寫 0,并自定義該單元格格式為 ;;"不重復(fù)清單"
![]() 這樣就能解決這個(gè)問題了,復(fù)雜了一點(diǎn)。 |