我有一個包含不同產品串列的詳細電子表格(大約 1000 個 - 表“產品”是一個較短的示例)。
uj5u.com熱心網友回復:
這是一個自定義函式
function sellPrice() {
var begin = 3
var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var currentRow = sh.getActiveRange().getRow()
var data=sh.getRange(begin,1,currentRow-begin 1,18).getValues()
if (data[currentRow-begin][4]!="Sold"){return}
var product = data[currentRow-begin][10]
var alreadySold = 0
for (var i=0;i<data.length;i ){
if (data[i][10] == product && data[i][4] == 'Sold' && i < (currentRow-begin)){
alreadySold = data[i][2]
}
}
var toBeSold = data[currentRow-begin][2]
var price = 0
data.forEach(function(row){
if (row[10] == product && row[4] == 'Purchased'){
var qty = Math.max(Math.min(row[2] - alreadySold,toBeSold),0)
alreadySold -= row[2] - qty
toBeSold -= qty
price = qty * row[13]
}
})
return (price/data[currentRow-begin][2])
}
使用它:
=sellPrice($O$1)
選中/取消選中 O1 以在必要時重新計算

我還在最后相同的情況下對 FIFO 和 AVG 進行了比較。AVG 提供的變化較少。

轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/412050.html
標籤:
