大致說說題目的意思:
B列是英文簡寫的月份,需要計算之前一個月的月份,并且結果同樣為英文月份,效果如C列所示。
輕音樂響起,思考3分鐘……
怎么樣,想出怎么計算了嗎?這個題目初看是不是無從下手?
說說老祝的解法吧:
C2單元格輸入以下公式,向下復制。
=TEXT(EDATE(B2&-1,-1),”mmm”)
接下來,就大致說說公式的意思。
1、首先用
B2&-1,將B2單元格的英文月份轉換為”Mar-1″樣式的日期,Excel能夠正確識別出這樣的日期樣式。
2、再用
EDATE(B2&-1,-1),計算出”Mar-1″之前一個月的日期。
3、最后使用TEXT函數,格式代碼使用”mmm”,再將日期變成簡寫的英文月份。
怎么樣,我能說明白嗎?
接下來說說IF({1,0})是怎么回事。
在使用VLOOKUP函數進行逆序查詢的時候,經常會看到有高手這樣寫公式1:
上圖中,C:D是數據源,需要根據F2單元格指定的姓名查詢對應的職務。
G2單元格的公式為:
=VLOOKUP(F2,IF({1,0},D2:D10,C2:C10),2,)
通常情況下,VLOOKUP函數被查詢的值需要位于數據源的首列,也就是從左向右查詢。但是這個數據源中,需要逆向查詢,所以就有了IF({1,0}…)這樣的用法。
接下來再給大家講講
=IF({1,0},……)是啥意思吧。
借用胡劍版主的一句話:“數組公式是需要悟的!
其實不光是數組公式,普通的公式也需要悟。
當明白一個公式的計算結果后,需要慢慢去理解和掌握,直到熟練運用它們。對于較長的公式,我推薦把它大卸八塊,然后再來慢慢理解。
1、IF(條件值,返回值1,返回值2)
解讀上面的公式,首先得弄清楚IF函數的計算原理。這個很簡單,查一下幫助就明白:當條件值為真,則結果為返回值1,當條件值為假,則結果為返回值2。
這個函數實際上可以說成“如果……那么……,否則……”的語句形式。
即:如果條件值為真,則等于值1,否則等于值2。
例如:
IF(10>5,10,20)=10
IF(10>20,10,20)=20
IF(True,10,20)=10
IF(False,10,20)=20
2、什么是{1,0}
經過前面帖子的學習,我們知道:{1,0}是一個水平方向的一維數組,它有兩個值,一個是1,另一個是0。
這里的{1,0}是用來作IF函數的第一個參數,1代替的是“真”,即True,0代替的是“假”,即False。
例如:
IF(1,10,20)=10
IF(0,10,20)=20
在公式中,數值只有0才能代替False,但并不是只有1才能代替True,所有非0的數值都可以代替True。
例如:
IF(-1,10,20)=10
IF(0.2,10,20)=10
3、什么是{=IF({1,0},D2:D10,C2:C10)}
用了數組{1,0}作IF函數的第一參數,實際上這個公式可以分成兩個公式,即:
IF(1,D2:D10,C2:C10)
IF(0,D2:D10,C2:C10)
兩個公式的計算結果分別為:
IF(1,D2:D10,C2:C10)=D2:D10
IF(0,D2:D10,C2:C10)=C2:C10
這也是IF({1,0},D2:D10,C2:C10)公式的返回結果。
所以,這個公式實際上是調換兩列數據的位置,不知道這樣的解釋對大家是否有幫助?
承擔因您的行為而導致的法律責任,
本站有權保留或刪除有爭議評論。
參與本評論即表明您已經閱讀并接受
上述條款。