2014-01-30 346 views
0

我正在製作一個每天更新自己的電子表格。爲了簡單起見,假設我每個中午都會生成一個數字,並且在晚上,電子表格應該將數字複製到日誌列中,並顯示此列的所有存儲值的總和(實際上有幾列,並且它們的數量可能會在未來成長)。在我目前的實施中,總和公式會自動更新,從而只保存以前可用的值。我希望我能阻止這種行爲。插入行並在Google電子表格中保留公式

實施例:

電子表格讀取:

Total  1 
Today  2 
History 
1/29/2014 1 

明天,在我更新它,它應該是:

Total  3 
Today  
History 
1/30/2014 2 
1/29/2014 1 

我插在 「總計」 線的公式是:

=sum(B4:B) 

基本上,我對劇本做出的代碼包含:

//Inserts a new line to compose history log: 
sheet.insertRowsAfter(firstHystoryLine-1, 1); 

,並運行該腳本後,公式更新爲

=sum(B5:B) 

所以我的問題。

+0

我發現了一個合適的解決方案,只通過複製值: var todayCol = sheet.getRange(「E2:E7」); today.Col.copyTo(sheet.getRange(「F2:F7」),{contentsOnly:true}); – Mefitico

回答

0

嘗試總和(b3:b)。插入一行應該不會影響公式。

+0

不知道我是否正確理解了你的觀點,但我無法完成工作。使用小寫不會改變任何東西。不使用等號可以防止數字發生變化,但公式顯示在單元格中而不是結果中。 – Mefitico

+0

對不起,您需要等號它是一個公式so = sum(b3:b) –

+0

建議從B3開始計算總和。插入新行時,公式不會更改。 –

0

將您的字段設置爲= Sum(B $ 4)。使用美元符號應該防止它滑動。如果你在列中添加,你會想要做=總和($ B $ 4)。

+0

沒有爲我工作。無論$符號如何,該表格實際上已更改爲= Sum($ B $ 5:B)。即使只有一個單元格(= Sum($ B $$)),它也會增加數字。 – Mefitico

0

或者,你可以在你的代碼添加

sheet.getRange("B1").setFormula("=sum(b4:b)") 

這將正確地重置您的公式。

相關問題