簡體   English   中英

計算多列范圍的平均值

[英]Calculate average of a range with multiple column

我有一個場景,我必須從一組日期計算股票的平均價格。 考慮我有以下數據。

在此處輸入圖片說明

現在我想用以下格式表示數據:

在此處輸入圖片說明

每當在第一個表中添加新的票據時,上表將存儲平均價格。 我試過 AVERAGEIFS(),但它只計算單個列范圍的平均值。 但我必須使用價格 * 數量來計算給定票據范圍內的平均價格。 請建議。

不確定我理解這個問題。 如果您試圖在沒有輔助列的情況下根據平均價格獲得總金額,您可以使用它

=AVERAGEIF($B$3:$E$8,B12,$E$3:$E$8)*SUMIF($B$3:$E$8,B12,$C$3:$C$8)

在此處輸入圖片說明

為此,您可以使用 Power Query(在 Excel 2010+ 中可用)。

在 Excel 2016+ 中(在早期版本中可能有所不同):

  • 選擇數據表中的某個單元格
  • Data / Get & Transform / From Table/Range
  • 在 UI 中,打開Advanced Editor
    • 將下面的 M 代碼粘貼到打開的窗口中
    • 更改第 2 行中的表名以反映工作表中的實際表名。

注意:在 UI 的“應用步驟”窗口中,將光標懸停在信息圖標上以閱讀注釋以獲取解釋。 您也可以雙擊齒輪圖標以獲取有關如何設置這些步驟的更多信息

M碼

let
    //Change Table name to correct name
    Source = Excel.CurrentWorkbook(){[Name="Table6"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Stocks", type text}, {"Quantity", Int64.Type}, {"Date", type date}, {"Price", type number}}),
    
    //Group by Stock
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Stocks"}, {{"Grouped", each _, type table [Stocks=nullable text, Quantity=nullable number, Date=nullable date, Price=nullable number]}}),

    //Sum quantity for each stock
    #"Added Custom1" = Table.AddColumn(#"Grouped Rows", "Quantity", each List.Sum(Table.Column([Grouped],"Quantity"))),

    //Compute weighted average price for each group of stocks
    #"Added Custom" = Table.AddColumn(#"Added Custom1", "Price", each List.Accumulate(
List.Positions(Table.Column([Grouped],"Quantity")),
    0,
    (state, current) =>state + Table.Column([Grouped],"Price"){current} * 
    Table.Column([Grouped],"Quantity"){current})    
        / List.Sum(Table.Column([Grouped],"Quantity"))),

    //Compute Total Amount for each stock
    #"Added Custom2" = Table.AddColumn(#"Added Custom", "Amount", each [Quantity]*[Price]),

    //Remove extraneous Columns
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom2",{"Grouped"})
in
    #"Removed Columns"

在此處輸入圖片說明

您可以在數據中添加一列來計算 total_price 嗎? 例如,E 列 = 數量 * 價格。

那么您的計算表將非常簡單。 第 3 行的公式:

    Quantity: =SUMIFS(B:B,A:A,G3)
    Average_Price: =SUMIFS(E:E,A:A,G3) / SUMIFS(B:B,A:A,G3)
    Amount: =H3*I3

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM