
Excel 另類使用Max函數(shù)求最大值
我打開表格一看,情況是這樣:
表妹:我要求每種貨物裝箱號(hào)的最大值。比如第二行的貨物(A列)是蘋果,裝箱號(hào)(B列)是“1,3,4,5”,那么我要(在C列)得到1,3,4,5 五個(gè)數(shù)字最大的數(shù),也就是5。我試過用MAX函數(shù)啦,結(jié)果怎么都是0。你看上面的截圖(圖一),MAX好像失靈不管用了!Excelman啊,我有上千行的數(shù)據(jù)要求裝箱號(hào)的最大值,怎么辦! Excelman:表妹,你一時(shí)糊涂。如果MAX函數(shù)的參數(shù)是文本,雖然不會(huì)顯示錯(cuò)誤符號(hào),但是MAX函數(shù)只會(huì)把參數(shù)里的文本當(dāng)作0處理。上圖(圖一)的 =MAX(B2) 相當(dāng)于 =MAX(“1,3,4,5”) ,MAX值可不會(huì)把它當(dāng)作有四個(gè)數(shù)值給你挑選出最大值。它只會(huì)認(rèn)為“1,3,4,5”是一串文本,于是當(dāng)作 0 處理。即是相當(dāng)于 =MAX(0) ,結(jié)果肯定總是 0 啦。 表妹:那也是哦。那你快告訴我怎么辦? Excelman:別急。MAX函數(shù)的參數(shù)可以是數(shù)組。比如單元格輸入=MAX({1,3,4,5}) 試試看。 表妹馬上試了一下,將結(jié)果截圖發(fā)來,如下圖二。 表妹:有點(diǎn)神奇。這個(gè)公式什么意思?特別是這個(gè){1,3,4,5},大括號(hào)包圍起來的東西是什么呀? Excelman: {1,3,4,5} 是一個(gè)數(shù)組。數(shù)組者,即由一些數(shù)據(jù)作為元素構(gòu)成的一組數(shù)據(jù)也。(這是廢話還是繞口令?)簡單淺顯地說,一個(gè)數(shù)組表達(dá)兩層意思,一是數(shù)據(jù)本身的值,二是數(shù)據(jù)所在的行列位置。比如{1,3,4,5}表達(dá)的是一行四列的一組數(shù)據(jù)。也就是說第一行第一列的數(shù)據(jù)的值是1,第一行第二列的數(shù)據(jù)的值是3,如此類推。又比如,{1,3,4,5;6,7,8,9}表達(dá)的是兩行四列的數(shù)據(jù),英文逗號(hào)表示換列,英文分號(hào)表示換行。第一行第一列的數(shù)據(jù)的值是1,第二行第一列的數(shù)據(jù)的值是6,第一行第二列的數(shù)據(jù)的值是3,第二行第二列的數(shù)據(jù)的值是7,如此類推(參考下面的圖三理解吧)…… 表妹:不用說太多,我懂。我明白你想說的是,先將“1,3,4,5”、“2,8,9”等等這些字符逐個(gè)轉(zhuǎn)為數(shù)組,然后再用MAX函數(shù)逐個(gè)求最大值。對(duì)吧? Excelman:聰明!正是如此!若得如表妹一徒,幸哉! 表妹:那你告訴我怎么做吧?總不能讓我一個(gè)個(gè)敲鍵盤打大括號(hào)輸數(shù)字寫公式吧? Excelman:你可以用下面的方法,三個(gè)步驟。 (1)第一步,在“裝箱號(hào)最大值”那列(圖四中的C列)用公式給每行構(gòu)造出含有MAX函數(shù)單詞的文本。 比如上圖,在單元格C2填寫公式 ="=MAX({"&B2&"})" ,然后向下填充公式到表最后一行,這樣每一行都得到一個(gè)文本。這些文本恰好是我們希望手工逐一輸入的那些MAX函數(shù)公式!效果如圖四。 (2)第二步,將輔助列復(fù)制,選擇性粘貼,把輔助列的公式轉(zhuǎn)為數(shù)值。將輔助列的公式的值變成文本。 (3)第三步,到高潮了,這是見證奇跡的時(shí)刻! “選定裝箱號(hào)最大值”那列的數(shù)據(jù)區(qū)域(比如圖五中的C列的數(shù)據(jù)區(qū)域C2:C5),按CTR+H快捷鍵,調(diào)出“查找和替換”對(duì)話框。“查找內(nèi)容”和“替換為”兩處都要填寫“=”;是的,你沒有聽錯(cuò),兩處地方填的內(nèi)容是一樣的,都是“=”(參考圖五)! 最后按“全部替換”。這樣能夠迫使Excel把作為文本的公式轉(zhuǎn)為真正可以計(jì)算的公式。妥妥的,收工! 表妹:哇,沒想到方法還蠻簡單。看來今天加班不用很多時(shí)間啦。謝謝你,Excelman! 后記:親愛的讀者,看到這里,學(xué)會(huì)了嗎?如果把表妹的問題加大一丁點(diǎn)難度,比如裝箱號(hào)的分割符不是“,”(逗號(hào)),而是“-”(減號(hào)),也就是“1,3,4,5”換成“1-3-4-5”,你應(yīng)該也會(huì)解決吧?——?jiǎng)e告訴你不會(huì)把“-”(減號(hào))替換成“,”(逗號(hào))哦。 另外,這個(gè)問題用宏表函數(shù)evaluate搭配MAX,或者自定義函數(shù)也可以解決,以后有機(jī)會(huì)再談

