Board logo

標題: [發問] 小問題請教 轉置相乘 [打印本頁]

作者: jj369963    時間: 2013-5-11 02:15     標題: 小問題請教 轉置相乘

Dear大大:

又來請教問題,如附檔,在煩請各位大大指教。謝謝

有一筆資料需乘上係數作相加(sumproduct)
但是因為資料排序關係需轉置
就不知如何寫公式了
另外有可以往下拖曳卻增加欄的公式嗎?

詳請參閱附檔

再請指教,謝謝

[attach]14948[/attach]
作者: Bodhidharma    時間: 2013-5-11 02:40

回復 1# jj369963

計算sheet的B3儲存格使用陣列公式(ctrl+shift+enter)
  1. =SUMPRODUCT(TRANSPOSE(數值!$B2:$L2),係數!B$5:B$15)
複製代碼
下拉右拉

"往下拖曳卻增加欄"
看不懂
作者: ML089    時間: 2013-5-11 08:55

回復 2# Bodhidharma


    應該是指計算表格增大,例如原先為 11*11 改為 25*25
  1. =SUMPRODUCT(TRANSPOSE(數值!$B2:$Z2),係數!B$5:B$29)
複製代碼

作者: ML089    時間: 2013-5-11 09:05

回復 1# jj369963


    上兩式輸入需注意要用 CTRL+SHIFT+ENTER三鍵齊按方式輸入公式,
    下式用 ENTER輸入就可,將是一般輸入公式方式
  1. B3
  2. =MMULT(-TEXT(數值!$B2:$Z2,"[<>];;0;!0"),-TEXT(係數!B$5:B$29,"[<>];;0;!0"))
複製代碼
MMULT為純數值行列相乘函數,因為資料表中有些是空格,就需要用TEXT函數將空格轉為 0 來處理
MMULT函數看說明可能不易看懂,簡單來講 第1參數須為 水平資料 ,第2參數須為 垂直資料,本例為1維*1維 應該比較容易了解。
作者: jj369963    時間: 2013-5-11 18:42

回復 4# ML089

謝謝大大們:

受益許多,原來還有MMULT函數,真是感謝。其中text的format_text: "[<>];;0;!0" 是代表什麼意思呀,研究中

再次感謝


MMULT(array1,array2)

Array1, array2     為要求乘積的兩個陣列。

註解

Array1 的欄數必須與 array2 的列數相同,且兩個陣列必須只包含數字。
array1 和 array2 可以是儲存格範圍、陣列常數或參照。
MMULT 會在發生下列情況時傳回錯誤 #VALUE!:
任何儲存格為空白或包含文字。
array1 的欄數不等於 array2 的列數。
最後產生的陣列,其儲存格總數等於或大於 5,461。
作者: ML089    時間: 2013-5-11 23:34

回復 5# jj369963
>其中text的format_text: "[<>];;0;!0" 是代表什麼意思呀

TEXT(數字/文字,格式)
格式 ="格式1=正數;格式2=負數;格式3=0;格式4=文字"
格式="[<>];;0;!0
 格式1=[<>],表示輸出正數與負數
 格式2=無(因為負數已經於參數1處理,所以省略)
 格式1=0,數值0時使用
 格式1=!0,當文字時(包含"")強迫轉為0




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)