通過一個簡單的案例,我們來看看函數進階必備的一些套路和處理思維! 我們看一個案例:計算一下每天的餐補金額 案例比較簡單,我們來看一下大家一般的寫法: 寫法1:VLOOKUP開火車寫法
以上寫法比較基礎,如果我們非要使用VLOOKUP來寫,那么也可以使用第一參數數組化來處理! 寫法2:VLOOKUP進階寫法
在365版本中,第一參數已經支持數組,可以直接寫!其他版本我們還需要使用三維降維來處理! 其實以上的問題,如果你對SUMIF比較熟悉,更好的處理方式是SUMIF,這也是我們今天的主角! 寫法3:SUMF參數數組化
我們看一下SUMIF數組化的進階用法,如果沒有餐補這一列,直接問題餐補最高是那一天,金額多少?怎么處理? 難度立馬上去好幾檔! 進階案例
這個公式中有很多函數愛好者進階必備的小技巧,小編帶大家一起看一下(解析較長,看不動的同學可以直接跳過) 1、SUMIF參數對稱性,SUMIF(G2:G7,B2:D16,H2) 公式中,第三參數我們之寫了H2,為什么結果也是OK的呢?其實SUMIF會根據第三參數給定的起點,按照第一參數的區(qū)域大小,自動擴展和適應!在一些字符競賽中經常會看到如上寫法! 2、SUMIF結果如果是數組,尺寸由第二參數決定,第二參數可以是多行多列的區(qū)域或者常量數組!本案例中是三列多行的內存數組 3、內存數組如何需要聚合處理,基本上首先考慮使用MMULT!本案例中,我們想讓內存數組的每一行相加,結果就是一列多行!對于MMULT非常輕松 MM函數詳解教程:這個MM函數沒你想的那么可愛 4、權重思維!本案例中,我們MM后的結果和數據源的行數是對稱的,那么我們想要的結果包括最大值和對應的日期,所以最好能一次搞定,不能就需要獲取行號,然后再去INDEX比較麻煩,此時都會考慮權重! 我們想要獲取最大金額,金額是一個整數,我們在一個整數上添加一些小數并不會影響他們整數部分的大小比較,我們就是利用這點,把日期添加其中! 5、%%%是什么意思?其實是除以1000000的簡寫!為什么是三個,不是兩個或者其他個數,因為日期是特殊的數值,從1900-1-1到指定日期的天數,目前日期一般是5位數值!所以我們只要超過5位就夠了,所有選擇6位,三個%! 6、經過以上的一些處理,我們就可以把最大值和日期都一起獲取到!下面是如何分離的問題! 7、分離其實就是要獲取到整數和小數部分就OK了,但是如果直接MOD和INT就太繁瑣了!我們考慮直接來截??!小數部分是固定的6位,可以使用RIGHT從后面截取,但是整數部分不確定!怎么辦?我們可以使用TEXT把數據格式化到指定的位數,整數給的位數超過數值會增加前導0,不影響結果! 如果你決定不夠,可以添加足夠長的位數! 8、長度規(guī)定后,我們就可以直接截取了,這里主要使用的是MID的數組用法,分別從第8位和第一位截取6個長度,當然未來你的前后截取長度不一樣,也是可以通過第三參數數組來分別截取長度!基本不用擔心! 最后得到了我們的結果! 以上公式臨時所寫,還有優(yōu)化空間,函數愛好者可以進一步優(yōu)化! OK,我們就解析到這里,主要還是大家要掌握一些常規(guī)的處理思路和套路,比如內存數組如何處理和權重思路,是函數進階必備知識! |
|
來自: Excel辦公實戰(zhàn) > 《待分類》