接上文: 數(shù)組類型 TYPE函數(shù)返回64時,表示數(shù)據(jù)為數(shù)組類型。 很多人會認(rèn)為如果單元格中的一個公式返回數(shù)組,那么TYPE函數(shù)就可以知道該單元格的類型為數(shù)組。 這是錯誤的。 TYPE函數(shù)只會識別單元格中數(shù)據(jù)的類型。如果單元格中含有公式,TYPE函數(shù)返回的是公式計算結(jié)果的類型。 實際上,數(shù)組類型的數(shù)據(jù)是作為公式的參數(shù)使用的。 比如,公式:
其中,用常量數(shù)組{1,2,3}作為參數(shù),返回結(jié)果為64。 而下面的公式:
使用FILTER函數(shù)作為參數(shù)。而FILTER函數(shù)返回結(jié)果是個數(shù)組,所以這個公式返回結(jié)果為64。 在“新”Excel中(指支持動態(tài)數(shù)組的Excel),基本上大部分函數(shù)都自動支持?jǐn)?shù)組參數(shù)了,所以數(shù)組類型變得非常重要了。要詳細(xì)了解數(shù)組,請閱讀: 復(fù)合類型 如果TYPE函數(shù)返回128,表示數(shù)據(jù)為復(fù)合類型。這是一種新的數(shù)據(jù)類型,是Excel中除了動態(tài)數(shù)組外的另外一大進(jìn)步。 復(fù)合類型的好處就是可以在一個單元格內(nèi)存儲很多個相關(guān)信息。例如: E列就是復(fù)合類型。在E列顯示的是產(chǎn)品的SKU,但是通過點擊單元格前面的按鈕,可以顯示隱藏在背后的詳細(xì)信息,比如產(chǎn)品的類別,容量,包裝等。 通過點擊表格右側(cè)的“添加列”按鈕,還可以隨意添加想要的信息: 對復(fù)合類型的引用也非常簡單: 關(guān)于如何創(chuàng)建和使用自己的復(fù)合類型,請參見: Excel的新功能:定制數(shù)據(jù)類型。究竟有什么用處? 數(shù)據(jù)類型的最佳實踐 在Excel中,數(shù)組是在公式中才用得到的類型。復(fù)合類型也有它特別的應(yīng)用場景。但是,文本,數(shù)值,邏輯值這3種數(shù)據(jù)類型是我們最常用的。關(guān)于它們,我這里有一個建議。 我們一開始就說過,Excel是“弱類型”的,這就意味著在Excel中使用數(shù)據(jù)類型是非常自由的。同樣的一列當(dāng)中,不管列名稱是什么,你可以在這里列當(dāng)中包含任意類型的數(shù)據(jù): 這些數(shù)據(jù)在輸入時可能都是有道理的,比如當(dāng)時不知道她的姓名,就用手機號代替,或者邀請的序列號,或者生日等。但是這就為后續(xù)的數(shù)據(jù)處理帶來了隱患。比如在Power Query中,盡管也支持一種叫做“Any”的數(shù)據(jù)類型,但是總體而言,Power Query還是強烈建議每一列都采用相同的類型的。實際上很多數(shù)據(jù)應(yīng)用軟件都有這樣的要求(或者隱含要求)。 上圖中的數(shù)據(jù)還是很容易看出來問題的。但是有的時候你的數(shù)據(jù)沒有這么明顯,可能前面幾千行都是正常的姓名,但是后面卻有一些日期,數(shù)字等。這樣在后面你使用函數(shù)進(jìn)行處理,或者使用Power Query整合數(shù)據(jù)都會遇到各種問題。所以,要盡量避免這種情況的出現(xiàn),盡可能在一列中使用一種數(shù)據(jù)類型,否則,后續(xù)的數(shù)據(jù)清洗工作會非常繁重。 有的時候,數(shù)據(jù)類型的不一致并不一定是你手工輸入造成的。還有一種更加隱蔽的情形: 在數(shù)量列中,我們通過VLOOKUP函數(shù)查找相關(guān)的數(shù)量,對于那些查不到的內(nèi)容,我們通過IFERROR函數(shù)返回一個空:""。 這是一個相當(dāng)正常的操作,但是這樣返回的空:"",實際上導(dǎo)致C5單元格就是一個文本類型,如果把""改成0就會好得多。 Excel+Power Query+Power Pivot+Power BI 自定義函數(shù) 底部菜單:知識庫->自定義函數(shù) 面授培訓(xùn) 底部菜單:培訓(xùn)學(xué)習(xí)->面授培訓(xùn) 也可以在歷史文章中學(xué)習(xí)Excel,Power Query,Power Pivot,Power BI,Power Automate各種技巧。 |
|