版上高手們好:
想請教如何在A工作表的D欄(total weight)計算其他工作表(B&C)的資訊,應會使用到對Travel, Customer, weights資訊,研究後認為是偏向vlookup使用,但對vba不甚熟悉且似乎大多只牽涉到一個工作表的資訊嘗試多次後還是無解,想請教技術解答,如下圖示,非常感謝!
Function Weight(Travel As Variant, Allocate As Range, Item As Range) As Variant
補充資訊:
1.第一張表 travel 只出現一次(約10筆不同的TXXX)
2.第二張表 travel 會重複,即同一個Travel ID會對應數個不同的Customers
3.第三張表 item資訊不為重複,但同一個customer可能出現一次以上(但主要是只看travel對應customer與其持有item weight)
先確定幾件事
1.第一張表的 Travel 是否不會重覆?即每個 Travel (eg.T0001,T0002...)只會有一筆
2.第二張表的 Travel 是否會重覆?即每個 Travel 會有多個 Customer (eg.C002,C006..)
3.第三張表的 Item 是否會重覆?Customer 是否會重覆?Item 與 Customer/Travel 的關係為何?
研究後認為是偏向vlookup使用
我覺得會有高手用 SUMPRODUCT 就可以搞定
回覆海綿大大如下~
1.第一張表 travel 只出現一次(約10筆不同的TXXX)
2.第二張表 travel 會重複,即同一個Travel ID會對應數個不同的Customers
3.第三張表 item資訊不為重複,但同一個customer可能出現一次以上(但主要是只看travel對應customer與其持有item weight為主)
目的是要算出同一個travel資訊下的所有customers持有items的總重量,若是不用vba寫其實知道怎麼處理,但這個問題要求需要vba function進行,因為初學者嘗試處理遇到困難,故來求助,謝謝
若是不用vba寫其實知道怎麼處理
那就好辦了
用 VBA 「寫」公式
可參考這篇
我寫了 VBA
不過我只用到第一個參數
海大,我使用SUMPRODUCT函數無法一次解決,要分二段作業,不知是否有人可一次用函數解決。
第二張工作表C2儲存格:
=SUMPRODUCT((工作表3!$B$2:$B$9=工作表2!B2)*(工作表3!$C$2:$C$9))
再複製到C3:C10
第一張工作表D2儲存格:
=SUMPRODUCT((工作表2!$A$2:$A$10=工作表1!A2)*(工作表2!$C$2:$C$10))
再複製到D3:D8