看板 Office 關於我們 聯絡資訊
軟體: Excel 版本: 2016 參考: https://goo.gl/iN6iS2 在上面這個試算表內 希望可以將H4回傳C4~C10和D4~D10的加權平均結果 ( C4*D4+C5*D5+C6*D6...+C10*D10 )/( C4+C5+...+C10) 然後拉下來,H5可以出現C11~C17與D11~D17的加權平均 我使用了sumproduct+offset,公式如下(前半部加總的部分): =SUMPRODUCT(OFFSET(C$4,(ROW()-4)*7,0,7),OFFSET(D$4,(row()-4)*7,0,7)) 但很奇怪的是,這個公式在Google Sheets上可以用,在Excel裡不行 如下圖: http://imgur.com/XPX6ABk (Excel) http://imgur.com/ap6t0Ih (Sheets) 我感覺好像是因為在excel裡有height的offset並不是回傳一個array? 想請問要在excel上使這個實現的話有甚麼替代方法呢? 感謝各位看完我的問題,希望有清楚表達到! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 174.63.83.39 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1483743584.A.E7F.html ※ 編輯: ZOROCOOL (174.63.83.39), 01/07/2017 07:08:27
azteckcc: 把sumproduct用的到2個offset作成兩個名稱試試 01/07 09:56
azteckcc: 另一個解法,不必作成名稱,offset裡 (ROW()-4)*7 改成 01/07 10:27
azteckcc: SUM((ROW()-4)*7), 也就是加個sum() 01/07 10:28
感謝az大,我使用第二個方法有成功了! 不過還是好奇為什麼多個sum()包住(row()-4)*7公式就會成功呢? 我注意到原本公式,H4一步步解析的結果是 =SUMPRODUCT({29074},{2}) 而用了你的方法後,就得到了想要的array =SUMPRODUCT({29074;30504;27651;29859;26665;347;310},{2;2;2;2;1.9;1.1;1}) 想了很久還是想不透差異在哪裡@@ 不知道能否進一步說明! 感激感激 ※ 編輯: ZOROCOOL (50.136.53.122), 01/07/2017 13:33:03
azteckcc: offset參數有用到row(),產出的動態range無法變成陣列 01/07 14:03
azteckcc: 所以要加個sum包起來或是改用rows(),改成 01/07 14:05
azteckcc: (ROWS($1:1)-1)*7 或 (ROWS($1:4)-4)*7 也可以 01/07 14:07
ZOROCOOL: 還是有點模糊,不過大概了解了,再次感謝! 01/08 02:39