簡體   English   中英

Excel:動態數組公式

[英]Excel: dynamic array formula

在此輸入圖像描述

我有一張Excel表格,如圖所示。 我想制作一個使用單元格E1中的值的變量數組公式。

Cell D4具有以下公式,可以正常工作:

{=SUM(A3:A5*B3:B5)}

但是,我嘗試將E5與OFFSET一起使用的單元格D5不起作用:

{= SUM(A3:OFFSET(A3,E1,0)* B3:B5)}

任何人都可以解釋如何使這個“動態”數組公式工作?

在你的例子中,部分

A3:OFFSET(A3,E1,0)

會解決范圍

A3:A6

即包括4行的范圍。 顯然將此范圍乘以僅包含3行( B3:B5 )的范圍將會出錯。

在任何情況下,最好避免揮發性OFFSET

嘗試:

=SUM(A3:INDEX(A3:A5,E1)*B3:B5)

CSE (雖然我不得不承認我不確定為什么你沒有使用沒有CSE SUMPRODUCT )。

我也不確定我理解這個設置是“動態”的程度,因為E1的值必須與公式中其他范圍內硬編碼的行數一致( B3:B5 ) 。 因此,實際上您只能選擇E1的值; 所有其他人都會產生錯誤。 除非您打算將該值納入第二范圍內嗎? 例如:

=SUM(A3:INDEX(A3:A5,E1)*B3:INDEX(B3:B5,E1))

問候

嘗試使用OFFSET重塑范圍而不是更改起始位置。

=SUM(OFFSET(A3, 0, 0, E1, 1)*OFFSET(b3, 0, 0, E1, 1))

這相當於,

=sum(A3:A5*B3:B5)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM