|
隱藏列,是我們經(jīng)常使用的一項(xiàng)功能。但是大家有沒(méi)有注意到一個(gè)問(wèn)題,當(dāng)我們把某一列隱藏了以后,在對(duì)某個(gè)區(qū)域的求和等操作時(shí),隱藏的列仍然會(huì)參與計(jì)算。很多時(shí)候我們是不希望這樣的,我們希望把某一列隱藏后,在匯總求和的時(shí)候就忽略該列的值,而沒(méi)有必要更改求和公式的計(jì)算區(qū)域。我們還是以最常見(jiàn)的學(xué)生成績(jī)的例子來(lái)講解今天的內(nèi)容。 以上成績(jī)表,我們希望實(shí)現(xiàn)的效果是,在不更改G列總分的公式的前提下,比如當(dāng)我們將歷史和計(jì)算機(jī)成績(jī)列隱藏的時(shí)候,總分就變成了求語(yǔ)文和數(shù)學(xué)列,如果我們?nèi)∠[藏,又會(huì)變成求所有列。效果如下:相信很多小伙伴看到這個(gè)要求,腦子中肯定會(huì)蹦出一個(gè)想法,我們能夠用某個(gè)函數(shù)判斷一列某一列是否被隱藏,然后返回一個(gè)值,然后在使用條件求和函數(shù)sumif不是就能實(shí)現(xiàn)這個(gè)功能了嘛。思路完全正確。那用什么函數(shù)可以實(shí)現(xiàn)呢? 一、神奇的cell函數(shù)Cell是是EXCEL中的信息函數(shù),返回有關(guān)單元格的格式、位置或內(nèi)容的信息。 語(yǔ)法:=cell(Info_type,reference) 參數(shù)解釋?zhuān)?/strong> Info_type:為要返回的單元格信息類(lèi)型,可以為如下參數(shù)。 reference:單元格引用。 請(qǐng)看下面的一個(gè)例子。 根據(jù)以上的介紹,我們可以使用cell中的width返回單元格的列寬,當(dāng)該列被隱藏時(shí),返回值為0。 二、sumif條件求和語(yǔ)法:= SUMIF(range,criteria,sum_range) 參數(shù)解釋?zhuān)?/strong> Range:條件區(qū)域,用于條件判斷的單元格區(qū)域。 Criteria:求和條件,由數(shù)字、邏輯表達(dá)式等組成的判定條件。 Sum_range:實(shí)際求和區(qū)域,需要求和的單元格、區(qū)域或引用。當(dāng)省略該參數(shù)時(shí),則條件區(qū)域就是實(shí)際求和區(qū)域。 三、案例實(shí)現(xiàn)根據(jù)以上的介紹,我們需要將第二行設(shè)置為輔助行,用于返回列寬計(jì)算值,C2的公式為: =CELL('width',C1)。 則總分列的計(jì)算公式為: =SUMIF($C$2:$F$2,'>0',C3:F3)。 當(dāng)設(shè)置完成后,大家就會(huì)發(fā)現(xiàn)一個(gè)問(wèn)題,當(dāng)我們對(duì)某個(gè)列進(jìn)行了隱藏或者取消隱藏時(shí),總分的計(jì)算結(jié)果并不會(huì)發(fā)生改變,這到底是是什么原因呢?這是因?yàn)镃ELL雖然函數(shù)為'易失性'函數(shù),但'隱藏'或'取消隱藏'命令不會(huì)引起其重算,因此需要手動(dòng)按【F9】鍵或用其他方式刷新計(jì)算結(jié)果。 為了解決某些強(qiáng)迫癥朋友的問(wèn)題,我們可以使用VBA代碼實(shí)現(xiàn)讓某列隱藏后取消隱藏后自動(dòng)進(jìn)行計(jì)算。在本工作表中添加代碼如下: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Calculate End Sub 為了美觀,我們可以將第二行的輔助行刪除。 如果需要獲取本教程的演示文件,請(qǐng)點(diǎn)擊我名字后面的關(guān)注,然后私信【隱藏不計(jì)算】獲取。 |
|
|