在工作中,總會(huì)遇到一些古怪的問(wèn)題,比如下面的銀行卡號(hào),需要從中找出重復(fù)的:
有人會(huì)說(shuō):這一眼看過(guò)去不就可以了嘛。這樣當(dāng)然可以,但是當(dāng)有無(wú)數(shù)條這樣的卡號(hào)那該怎么辦呢?
這時(shí)你可能會(huì)想到了條件格式中的突出顯示重復(fù)值,想法不錯(cuò),可結(jié)果呢?
真的令人尷尬,這兩個(gè)隨機(jī)生成的銀行卡號(hào)明明后四位不一樣,也就是說(shuō)銀行卡號(hào)不一樣,但是Excel表格卻顯示這兩個(gè)卡號(hào)一樣,難道是Excel“瞎”了嗎?
其實(shí)事實(shí)并不是Excel的錯(cuò)誤,也并不能怪Excel,因?yàn)橐龀稣_的判斷這已經(jīng)超出了Excel條件格式的能力范圍。那么這是為什么,我們最終的處理的目的是要達(dá)到不僅要找到重復(fù)的銀行卡號(hào)而且還要它顯示出哪一行與哪一行重復(fù),那又該如何做呢?
首先分析原因,這是因?yàn)镋xcel的數(shù)字處理精度只有15位,而銀行卡號(hào)一般要19位,雖然將銀行卡號(hào)的格式設(shè)置為文本格式,但是Excel依然按照數(shù)字格式來(lái)處理,并且處理精度依然是15位。
其次理清目標(biāo),就是不僅要找出重復(fù)的卡號(hào),而且還要顯示出第幾行與第幾行重復(fù)。
最后說(shuō)說(shuō)如何解決問(wèn)題。
遇到這樣的問(wèn)題首先想到的是函數(shù),那么具體應(yīng)用什么函數(shù)呢?實(shí)際上只用四個(gè)函數(shù):
第一個(gè)IF函數(shù)是判斷函數(shù)。
第二個(gè)ROW函數(shù)是顯示行號(hào)。
第三個(gè)MATCH函數(shù)是顯示要找的數(shù)據(jù)在某一列或某一行數(shù)據(jù)中的所處的位置。
第四個(gè)CONCATENATE函數(shù)是將多個(gè)單元格的數(shù)據(jù)合并到一起。
利用這四個(gè)函數(shù)的嵌套,在B2單元格輸入公式:
=IF(ROW(A2)-1=MATCH(A2,$A$2:$A$174,0),CONCATENATE('第',ROW(A2)-1,'行'),CONCATENATE('第',ROW(A2)-1,'行與',MATCH(A2,$A$2:$A$174,0),'行重復(fù)'))
紅色的公式為算出A2單元格所處的行號(hào)為第二行,那么ROW(A2)-1就是2-1=1。
綠色的公式為算出A2單元格中的銀行卡號(hào)在A2到A174這個(gè)范圍中第一次出現(xiàn)的位置。
IF函數(shù)的第一參數(shù)對(duì)下面這個(gè)等式進(jìn)行判斷:
ROW(A2)-1=MATCH(A2,$A$2:$A$174,0)
如果等式成立,就計(jì)算這一部分的公式:
CONCATENATE('第',ROW(A2)-1,'行')
公式結(jié)果顯示為第n行。
如果IF函數(shù)對(duì)等式判斷后,兩個(gè)條件不成立,就計(jì)算這一部分的公式:
CONCATENATE('第',ROW(A2)-1,'行與',MATCH(A2,$A$2:$A$174,0),'行重復(fù)')
公式結(jié)果顯示為第幾行與第幾行重復(fù)。
聯(lián)系客服