[英]How to calculate excel circular reference formula in php
我們正在將 excel 表轉換為 web 基礎,因此我們需要在 web 基礎應用程序開發中應用相同的 excel(循環引用)邏輯。
當我們必須計算 F3 單元格的值時,它使用 G3 單元格的值,而 G3 單元格的公式也使用 F3 單元格的值。 我們需要在 PHP 中實現這個邏輯。
在 excel 中,我們有以下公式:
F3 = 0/590.07+(1.45+0.055*G3/1000)/8.42-0
(結果 = 0.21096279)
G3 = (38.2-F3*5.87)/(6.23+E3)*1000
(結果 = 5932.848864)
最大迭代次數:100
最大變化:0.001
在 PHP 中計算相同結果有什么幫助嗎?
使其非循環,然后將值賦予 F3 和 G3。
根據結果迭代地重新計算值,直到獲得所需的結果。
在Excel
中,如果啟用了迭代計算,則只能計算循環引用。 默認值是:最多使用 100 次迭代,如果值更改低於 0.001,則停止迭代。 所以你需要做同樣的事情。
VBA
代碼可以當作偽代碼:
Sub CIRCULAR()
E3 = 0
F3 = 0
G3 = 0
maxDelta = 0.001
For i = 0 To 100
F3a = F3
G3a = G3
F3 = 0 / 590.07 + (1.45 + 0.055 * G3 / 1000) / 8.42 - 0
G3 = (38.2 - F3 * 5.87) / (6.23 + E3) * 1000
If Abs(F3a - F3) < maxDelta And Abs(G3a - G3) < maxDelta Then Exit For
Next i
resultF3 = F3
resultG3 = G3
End Sub
順便說一句:僅當E3
包含0
時,您的結果才是正確的。 並且不清楚為什么術語0/590.07
和-0
在F3
的公式中,因為它們根本沒有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.