![](/img/trans.png)
[英]How to Calculate Exponential Moving Average (EMA) of last 200 days in Google sheets?
[英]How to calculate an average profit per day with Google Sheets
我做了一個電子表格來跟蹤我的收入增長。 它包括一個腳本,可以定期保存我所獲得的。 A列是日期,B列是多少。
我想計算我的每日平均利潤。
所以我去減去昨天到今天,然后對所有數據取平均值。 但是在此過程中出現了一個問題,因為我的腳本每天會多次保存數據(以確保我獲得數據,並更精確地跟蹤)。
隨着我的數據每天都在增長,我正在尋找一種靈活的方式來做到這一點。 我認為QUERY可能是一種方式,但我不知道該怎么做。 我猜一個腳本也可以工作。 也許使用 FILTER 公式...
你對此有何看法? 干杯,NipthiAe。
你可以用3個公式來做到這一點:
D2
中的第一個(查詢):
獲取每天的平均值
=query({A2:B},
"Select Col1 ,count(Col1), avg(Col2) where Col1 is not null
group by Col1 Order By Col1 asc
label Col1 'Date', count(Col1) 'Days', avg(Col2) 'Average/day'")
G4
第二名:
要獲得查詢獲得的平均值之間的差異:
=arrayformula(if(isblank(E4:E6),"",filter(E4:E6,E4:E6>-1)-filter(E3:E6,E3:E6>-1)))
F1
中的第三個(查詢上方):
要獲得變化的平均值:
="Variation Avg: "& DOLLAR(round(AVERAGE(F3:F),2))
要計算每日利潤,您不應該每次都對投資組合進行平均。 例如,如果在一天內您有
文件夾 |
---|
1 |
2 |
3 |
4 |
平均值為2.4
,但這不是當天的利潤。 要計算一天的利潤,您需要用前一天的最后一個值減去當天的最后一個值。 在這種情況下,如果最后一個值為 0,則答案為 4。
這是我將如何做到這一點。
我們需要做的是找到每天的最新值。 最簡單的方法是查找當天的最后一個條目(使用日期時間)。 所以要獲得我們可以使用的最后一個日期時間(在我的例子中將它添加到D2
):
=query({A3:A, arrayformula(int(A3:A))}; "select max(Col1) where Col1 is not null group by Col2 label max(Col1) ''"; 0)
讓我們解開這個公式:
{A3:A, arrayformula(int(A3:A))}
它是一個 2 列數組。 第一列是日期時間。 第二列只是日期。 這取決於int(datetime)
返回代表日期的數字這一事實。 添加arrayformula
以獲取每個日期時間的數據,然后您將獲得每個日期的日期。
然后查詢:
select max(Col1)
where Col1 is not null
group by Col2
order by max(Col1)
label max(Col1) ''
這里的訣竅是在一天內獲得最大(最新)的日期時間。 這可以通過選擇max(datetime)
並按日期分組來實現。 然后我們可以為空單元格添加一個過濾器( where Col1 is not null
)並對結果進行排序以確保正確排序。 還要通過在末尾添加label max(Col1) ''
來刪除默認的 label。
現在我們有了一天中的最后一個日期時間,我們可以使用vlookup
來獲取值(在E3
上):
=arrayformula(if(D3:D<>""; vlookup(D3:D; A3:B; 2; false); ""))
如您所見,這是一個簡單的vlookup
,它被包裹在if
中,以防止在空單元格上出現錯誤。 arrayformula
允許我們在一個公式中為每一行執行此操作。
現在我們有了最新的值,我們只需要減去前一行(在F3
上):
=arrayformula(if(E3:E100<>""; E3:E-offset(E3:E; -1; 0); ""))
offset
允許我們使用這個公式而不必指定行數。 與往常一樣, arrayformula
允許我們對單個公式中的所有行執行此操作,並過濾空行。
我們終於可以取平均值了:
=average(F3:F)
如果您不是從 0 開始,則應將其更改為從下一個值 ( F4
) 開始,因為第一個值將是該點之前的累積值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.