
我需要協助如何編寫 Excel 公式(或任何 Excel 解決方案)來對優先順序進行求和。
我有這樣的交易數據:
Date Unit Price Buy/Sell
7/11 3 10 Buy
7/12 2 9 Sell
7/13 4 8 Buy
7/14 3 11 Sell
我想計算現有單位的平均購買價格,而不是所有購買單位的平均購買價格。我手頭上有 2 個單位,記得 FIFO,所以平均價格是 8 美元。
購買了 3 件 @$10 和 4 件 @$8,前 5 件已售出。
有什麼想法可以在Excel中解決這個問題嗎?
答案1
使用工作表函數沒有簡單的方法可以做到這一點,因為您必須追蹤任意長度的購買價格列表,該列表會隨著時間的推移而變化。
假設單位數是正整數,我可以使用輔助列來完成。假設資料位於 AD 列中,輔助列位於 E 中。
在E2中,輸入
=IF(D2="Buy",E1&REPT(C2&",",B2),MID(E1,1+FIND("*",SUBSTITUTE(E1,",","*",B2)),32767))
然後,最後的單元格將包含一個文字字串,您需要=AVERAGE()
使用以下方法之一將其轉換為公式:https://stackoverflow.com/questions/4471884/turn-a-string-formula-into-a-real-formula
不幸的是,您可能會遇到單元格長度限制,即 32768 個字元。