Offset函式,偏移變數注意是數值而不是陣列

2021-09-13 21:31:48 字數 454 閱讀 5148

錯誤:#value!

=sumproduct(($l$3:$l$5)*offset(a$9,,row(a$1)-1,3,1))
正確:

=sumproduct(($l$3:$l$5)*offset(a$9,,sum(row(a$1))-1,3,1)) 

或者:=sumproduct(($l$3:$l$5)*offset(a$9,,rows(a$1:a1)-1,3,1))

區別是:

row(a$1)-1 代表乙個多維陣列,只不過元素數量是1

sum(row(a$1))-1將陣列轉化為數值

rows(a$1:a1)-1將陣列轉化為數值

之所以不能用n函式降維,是因為n()

括號裡的引數為陣列,那麼結果就是陣列。

括號裡得引數為數值,那麼結果就是數值。

參考:

python 判斷變數是函式

python 判定變數是函式 方法1 callable fn 返回true或false方法2 hasattr object,name 判斷乙個物件裡面是否有name屬性或者name方法,返回bool值,有name特性返回true,否則返回false。hasattr fn,call 返回true或fa...

注意返回函式內部的變數(C )

這個問題是乙個很經典的問題,返回區域性函式內部變數的值。當然優秀的程式設計師自然很清楚,但是對於一些小細節,也難免會犯上一些簡單的錯誤。一般我們會通過直接需要接受返回值的物件放入函式的引數裡面如 copyobject a a1,a a2 一般使用上述的方法來成功修改a2的值。反過來我們寫這樣乙個函式...

執行緒函式的引數變數傳遞注意事項

部分 如下 int k 1 createthread null,0,lpthread start routine smooth1,k,null,null 其中的smooth1 函式 void smooth1 int i 我在int j i 設定斷點,i的值為34600292 你傳的是乙個區域性變數的...