如下圖所示,要判斷A列姓名是否重複出現過,B2輸入公式:
=IF(COUNTIF(A:A,A2)>1,"重複","")
COIUNTIF函數用于統計一個區域中符合條件的單元格個數。
先使用COIUNTIF函數計算出A列區域中有多少個與A2相同的姓名。然後使用IF函數判斷,如果COIUNTIF函數的結果大于1,就說明有重複了。
2、重複内容首次出現時不提示
如下圖所示,要判斷A列姓名是不是重複出現,B2輸入以下公式:
=IF(COUNTIF(A$2:A2,A2)>1,"重複","")
COUNTIF函數使用一個動态擴展的引用範圍A$2:A2,随着公式向下複制,這個區域會不斷擴展,依次變成A$2:A3、A$2:A4、A$2:A5…… ,也就是統計自A2單元格開始,到公式所在行這個範圍内,有多少個與A列姓名相同的單元格。
如果是某個姓名首次出現,則COUNTIF(A$2:A2,A2)的計算結果等于1,如果是重複出現,則結果必定大于1,
最後再用IF函數判斷,COUNTIF函數的結果是否大于1,如果大于1,就返回指定的内容“重複”。
3、根據出生年月計算年齡
如下圖所示,需要根據B列出生年月計算年齡,C2單元格輸入以下公式:
=DATEDIF(B2,TODAY(),"y")
TODAY函數返回系統當前的日期。
DATEDIF函數以B2的出生年月作為開始日期,以系統日期作為結束日期,第三參數使用“Y”,表示計算兩個日期之間的整年數。
4、根據身份證号提取出生年月
如下圖所示,要根據B列的身份證号碼,來提取出生年齡,C2單元格公式為:
=--TEXT(MID(B2,7,8),"0-00-00")
先使用MID函數從B2單元格中的第7位開始,提取表示出生年月的8個字符19850216。然後使用TEXT函數将其變成具有日期樣式的文本“1985-02-16”,最後加上兩個負号,也就是計算負數的負數,通過這樣一個數學計算,把文本型的日期變成了真正的日期序列值。
如果單元格中顯示的是五位數值,隻要設置成日期格式就好。
5、根據身份證号碼提取性别
如下圖所示,要根據B列的身份證号碼,判斷性别。D2單元格公式為:
=IF(MOD(MID(B2,17,1),2),"男","女")
先使用MID函數,從B2單元格的第17位開始提取1個字符,這個字符就是性别碼。
然後使用MOD函數,計算這個性别碼與2相除的餘數。
如果IF函數的第一個參數等于0,IF函數将其按FALSE處理,返回第三參數指定的内容“女”。如果不等于0,則按TRUE處理,返回第二參數指定的内容“男”。
6、填充合并單元格
如下圖所示,B列姓名使用了合并單元格,使用以下公式可以得到完整的填充:
=LOOKUP("做",B$2:B2)
7、忽略錯誤值求和
如下圖所示,C列數據區域中包含有錯誤值,如何進行求和呢?
E2單元格公式為:
=SUMIF(C:C,"<9e307")
SUMIF函數的求和參數省略,表示以條件區域C:C作為求和區域。
求和條件是<9e307,相當于對所有數值求和。
8、動态擴展的下拉菜單
如下圖所示,要根據A列的對照表,在D列生成下拉菜單,要求能随着A列數據的增減,下拉菜單中的内容也會自動調整。
選中要輸入内容的D2:D10單元格區域,數據→數據驗證→序列,輸入以下公式。
=OFFSET($A$2,0,0,COUNTA($A:$A)-1)
公式表示以A2作為基點,向下偏移0行,向右偏移0列,新引用的行數為COUNTA函數統計到的A列非空單元格個數,結果-1,是因為A1是表頭,計數要去掉。
這樣就是A列有多少個非空單元格,下拉菜單中就顯示多少行。
好了,今天為大家分享的内容就是這些,祝各位一天好心情!
圖文制作:祝洪忠
,