一、案例
如下圖所示,要求在B2:B9內(nèi)填充序號(hào),每個(gè)城市編號(hào)從1開(kāi)始,相同城市編號(hào)連續(xù)。效果如F2:F9所示。
二、解決方法
方法一:IF+ISBLANK函數(shù)
在B2單元格輸入“1”,在B3單元格輸入公式
=IF(ISBLANK(A3),B2+1,1),拖動(dòng)填充柄向下復(fù)制公式。
公式解析:
(1)取消A2:A9合并單元格后,如下圖所示,可以看到本例中每個(gè)合并單元格的文本實(shí)際只出現(xiàn)合并單元格的第1行。
(2)ISBLANK函數(shù)用于判斷單元格是否為空值,若為空值,返回True。根據(jù)解析(1),A3單元格為空值,ISBLANK(A3)返回True。
(3)IF(ISBLANK(A3),B2+1,1)指如A3單元格為空值,則返回B2+1,否則返回1。如A3單元格為空值,說(shuō)明為同一城市,只需要在上一行序號(hào)基礎(chǔ)上加1即可;如A3不為空值,說(shuō)明為不同城市,那么從1開(kāi)始編號(hào)。
方法二:MATCH函數(shù)
在B2單元格輸入公式
=ROW(2:2)-MATCH("座",$A$2:$A2,1),拖動(dòng)填充柄向下復(fù)制公式。
公式解析:
(1)MATCH("座",$A$2:$A2,1)指在$A$2:$A2中查找“座”?!白笔且粋€(gè)很大的漢字,大部分漢字比它小。如下圖所示,當(dāng)我們?cè)贓xcel中比較“座”和“北京”的大小時(shí),Excel返回True,也就是說(shuō)Excel認(rèn)為“座”大于“北京”。
Excel中的漢字以拼音首字母在26個(gè)英文字母中的順序進(jìn)行排序?!白钡钠匆羰鬃帜浮癦”大于“北京”的首字母“B”,因此“座”大于“北京”。
(2)MATCH("座",$A$2:$A2,1)在$A$2:$A2中查找“座”,但是A列并沒(méi)有“座”字。MATCH函數(shù)的第3個(gè)參數(shù)“1”指當(dāng)找不到查找值時(shí),返回小于查找值的最大值,此時(shí)查找區(qū)域必須按升序排列。具體到本例,A2:A9中的城市無(wú)需按升序排列,MATCH函數(shù)會(huì)返回$A$2:$A2中最后一個(gè)有文本的單元格所在的位置。MATCH返回值如下圖所示:
(3)ROW(2:2)指返回引用的行號(hào)“2”。當(dāng)公式向下復(fù)制時(shí),會(huì)依次返回3、4、5、6等值。
END
聯(lián)系客服