簡體   English   中英

php中的excel循環引用公式如何計算

[英]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-0F3的公式中,因為它們根本沒有用。

暫無
暫無

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

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