需要强调的是,因为是数组公式,需要Ctrl+Shift和Enter三键确认,公式会自动加上一个表示数组公式的大括号。关于数组公式,请参阅知道这些<em>Excel</em>数组概念和运算规则,数组公式就豁然开朗了。当然,还有很多其它方法将逻
2021-05-15 18:00:03
T()函數的功能是將給定內容轉化為文字,其語法結構為:T(value)。參數value即為需要轉化的值。如果參數是文字包括文字格式的數字等,函數返回原來的值,否則返回空值。舉例說明:
單元格D2鍵入公式「=T(A2)」,結果為仍為「產品1」,沒有變化。
單元格E2鍵入公式「=T(B2)」,因為參數為非文字,結果為空值。
單元格F2鍵入公式「=T(C2)」,C2中的「2836」是一個文字格式的數字,所以結果仍然為文字格式的數字「2836」。
N()函數的功能是將給定內容轉化為數值,語法結構為:N(value)。同樣,參數value即為需要轉化的值,如果是文字包括文字格式的數字等,返回數值「0」;如果本就是數值,返回原來的值;如果是邏輯值True和False,返回數值「1」和「0」;如果是日期時間等,返回序列值。舉例說明:
單元格E2中鍵入公式「=N(A2)」,因為是文字,返回數值「0」。
單元格F2中鍵入公式「=N(B2)」,因為本就是數值返回本來的值「3900」。
單元格G2中鍵入公式「=N(C2)」,因為是文字格式的數值,返回「0」。
單元格H2中鍵入公式「=N(D2)」,邏輯值TRUE返回數值「1」。
N()函數將邏輯值轉化為數值的功能在利用邏輯值計數和求和的實際運用中經常被用到。
因為Sum()函數在求和時忽略邏輯值,所以公式「=SUM(($C$2:$C$11>=$B$2:$B$11))」等於0,顯然這個結果不準確。
將公式改為「=SUM(N($C$2:$C$11>=$B$2:$B$11))」,就可以得出準確的結果3。該公式的意思是先將B2:B11和C2:C11兩個陣列進行比較運算,結果是一個邏輯值的陣列,然後用N()函數將陣列中的邏輯值轉換為數值,最後用Sum()函數對轉化為數值的陣列求和,得出達成計劃的產品數量。
需要強調的是,因為是陣列公式,需要Ctrl+Shift和Enter三鍵確認,公式會自動加上一個表示陣列公式的大括號。關於陣列公式,請參閱知道這些Excel陣列概念和運算規則,陣列公式就豁然開朗了。
當然,還有很多其它方法將邏輯值轉換為數值,譬如用兩個減號「--」或者「*1」等等,以上公式還可以改寫為「=SUM(--($C$2:$C$11>=$B$2:$B$11))」或者「=SUM(($C$2:$C$11>=$B$2:$B$11)*1)」等。
T()函數和N()函數除了有將資料轉化為文字或者數值的功能之外,還可以提取引用函數譬如Offset()和Indirect()函數生成的一組引用中的值得出一個記憶體陣列,或者是與IF函數結合使查詢函數譬如Index()和Vlookup()函數能夠返回記憶體陣列。
1、與Offset()和Indirect()函數的巢狀使用
Offset()(請參閱掌握Offset()函數,輕鬆實現Excel動態圖表)和Indirect(Excel中,利用Indirect()函數輕鬆引用工作表資料)函數可以生成一組引用,但一般單元格陣列公式只能處理其中的第一個引用,N()函數可以提取這組引用的值得到一個記憶體陣列參與計算。
單元格B13鍵入公式「=SUM(OFFSET(B1,{1,3,5,7,9},0))」對奇數產品求和,結果只統計了「產品1」的資料。
將公式改為「=SUM(N(OFFSET(B1,{1,3,5,7,9},0)))」,即得到正確結果。OFFSET(B1,{1,3,5,7,9},0)生成一組奇數產品的引用,N()函數提取引用中的值生成記憶體陣列,Sum()函數對記憶體陣列求和。
Indirct()函數和N()函數的巢狀使用原理同上,單元格C13鍵入公式「=SUM(N(INDIRECT("C"&{2,4,6,8,10})))」即可計算奇數產品的實際達成的合計。
2、與Index()和Vlookup()函數的巢狀使用
Index()(請參閱Vlookup()函數可以做的,Index()和Match()也可以,甚至更好)和Vlookup()(Excel中Vlookup()函數使用技巧)都是功能強大的查詢函數,但它們自身不能生成記憶體陣列參與其它的計算,利用N()或者T()函數結合IF()函數對其參數進行處理,就可以得到記憶體陣列。
單元格B13鍵入公式「=SUM(INDEX($B$2:$B$11,{1,3,5,7,9}))」,只能返回第一個查詢到的資料。
需要將公式改為「=SUM(INDEX($B$2:$B$11,N(IF(1,{1,3,5,7,9}))))」。
當參數為文字格式時,則需要使用T()函數和IF()函數的巢狀。
我們準備通過匹配產品名稱計算奇數產品的實際達成,在單元格C13鍵入公式「=SUM(VLOOKUP("產品"&{1,3,5,7,9},A2:C11,3))」,雖然Vlookup()函數的第一個參數使用了陣列,但公式只能返回陣列第一項匹配的值。
將公式改為「=SUM(VLOOKUP(T(IF(1,"產品"&{1,3,5,7,9})),A2:C11,3))」,Vlookup()函數就可以返回記憶體陣列,從而得到正確的結果。
這麼看來,N函數和T函數還是很有用武之地的!
相關文章
需要强调的是,因为是数组公式,需要Ctrl+Shift和Enter三键确认,公式会自动加上一个表示数组公式的大括号。关于数组公式,请参阅知道这些<em>Excel</em>数组概念和运算规则,数组公式就豁然开朗了。当然,还有很多其它方法将逻
2021-05-15 18:00:03
1、兼容性增强 优化了对飞腾 D2000 整机设备的适配效果 景嘉微显卡驱动版本升级,显示效果更加优化 优化对三星 <em>ssd</em> 的读写速度 增强对网讯网卡的支持 增加对 Realtek ALC897 声卡的支持 修复兆芯 GPU 驱动已
2021-05-15 17:30:52
整场PS5上市庆典活动给人的印象是,虽说受到一些限制,但是索尼在寻找别的方式补上短板,向玩家传递下一代游戏主机的魅力。大量现场可以试玩的PS5专属游戏和动画演示向玩家传递了新一代游戏机的乐趣。比如,PS5采用<em>固态
2021-05-15 17:30:49
另外,骁龙855内建的<em>高通</em>QualcommSpectra380ISP集成了更强大的硬件加速计算机视觉(CV)功能,支持HEIF编码格式的硬件加速,提高了存储效率和体积。HYPERVIDEO是联想首次应用于联想Z6Pro的图像解决方案,让我们来看看
2021-05-15 17:30:37
而且如果不喜欢这个新系统的话,还可以用切换器来切换到传统的<em>安卓</em>系统桌面。续航 有了强劲的游戏体验后,续航跟不上也很难受,而iQOO Z3在续航能力上是毋庸置疑的强大。这款手机采用了4400mAh大电池+55W闪充的续
2021-05-15 17:30:29
在今年小米11Pro系列的发布会上,小米带来了号称“<em>安卓</em>之光”的小米11Ultra,这款产品是小米史上最强的产品,无论是硬件部分还是设计包括小米弱势的拍照部分,都得到了极大的提升。如今,这款产品被德国评测机构
2021-05-15 17:30:17