日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

有時候,我們想要尋找通常需要數組公式的非數組版本,其理由可能是:

1. 認為這樣可以提高工作表的性能(有時可以,有時不能)

2. 不喜歡必須使用輸入數組公式所必需的Ctrl+Shift+Enter組合鍵

3. 從理論上,可能只是感興趣

本文研究數組公式的非數組版本,更多地屬于第三類。強迫TRANSPOSE正常運行而不進行數組輸入的必要強制措施令人費解且不切實際。這并不是說對它們沒有興趣,但這些強制性的使用并非TRANSPOSE獨有。實際上,可以在許多函數中使用它們來生成返回值,否則將需要數組輸入。

下面是一個示例。假設從單元格A2起其下的單元格相加,想要確定這樣的和在哪個單元格等于或超過某個數,例如5。這些單元格依次相加的和顯示在列B中,假設我們不希望在解決方案中使用這樣的輔助列。并且,假設我們希望返回必須相加才能達到該數的單元格數,如下所示。

想要求出B1和A2、C1和A3、D1和A4、E1和A5的乘積之和,可直接使用公式:

=(B1*A2)+(C1*A3)+(D1*A4)+(E1*A5)

答案是70。

先試試SUMPRODUCT函數來簡化求乘積之和的公式:

=SUMPRODUCT(B1:E1*A2:A5)

結果是260,顯然是錯的。這是因為傳遞給SUMPRODUCT函數的兩個數組是正交的,所以求出來的和是這些數字交叉相乘后的和,如下所示。

在B1:E1和A2:A5中的每個值依次相乘后的結果為260。

這樣,我們需要將B1:E1和A2:A5進行轉換,以確保這兩個數組是相同類型的向量,即都是單行或都是單列。下面,嘗試公式:

=SUMPRODUCT(B1:E1*TRANSPOSE(A2:A5))

得到的結果是78。并不是我們想要的結果,這個公式的中間結果為:

=SUMPRODUCT(B1:E1*3)

也就是說,TRANSPOSE函數僅返回數值3。

如果輸入下面的數組公式:

=SUM(B1:E1*TRANSPOSE(A2:A5))

得到正確的結果70。上面的公式能夠像我們預想的那樣轉換:

=SUM({5,6,7,8}*{1,2,3,4})

如果我們不輸入本文開頭的連乘和的公式(對于大量的數據是不可取的)或者剛才的數組公式,那么能夠編寫其他公式獲得正確的結果嗎?

使用非數組公式:

=SUMPRODUCT(B1:E1,TRANSPOSE(INDEX(A2:A5,N(IF(1,INDEX(ROW(A2:A5)-MIN(ROW(A2:A5))+1,,))))))

得到正確的結果70。

我們可以仔細地研究一下本文展示的技術,它們既可以與TRANSPOSE函數結合使用,也可以應用于其他函數。不推薦單純為避免輸入數組公式而想方設法采用其他公式,然而研究一下非數組公式解決問題也是一項有趣的練習!

分享到:
標簽:Excel函數 excel函數公式 excel表格制作 Excel教程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定