Re: [算表] 用y值求x值

看板Office作者 (JaJa)時間3年前 (2020/08/10 13:21), 3年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
: 有數值 x,a,b,c : 複雜的公式 f(x,a,b,c)=y : 如果a,b,c都是固定的,要如何用y值去求x值? : 我知道 資料-模擬分析-目標搜尋 : 可是這個一次只能一個,要如何一次跑十個用y求x? 解法1. Sub XAnswer() Dim i As Integer For i = 1 To 10 Range("A" & i).GoalSeek Range("B" & i), Range("C" & i) 'A、B、C 依序是 f(x)、y、x Next End Sub 缺點是筆數一多,舊電腦很容易當,而且計算到小數點後第15位,實在沒必要 如果範圍是0到100,而x是65.4 goalseek邏輯似乎是0、1、2、64、65、65.1、65.2這樣跑? 而人的做法應該是50、70、60、65、66、65.5、65.4 我就想到解法2. Function XAnswer() Dim a, b, c As Integer For a = 1 To 10 If f(a * 10) > y Then Exit For End If Next a For b = 1 To 10 If f((a - 1) * 10 + b * 1) > y Then Exit For End If Next b For c = 1 To 10 If f((a - 1) * 10 + (b - 1) * 1 + c * 0.1) > y Then Exit For End If Next c f(X) = (a - 1) * 10 + (b - 1) * 1 + (c - 1) * 0.1 End Function 我有一個x的範圍是0.0000~99.9999,我就寫abcdef六個 解法2.算很快,不會有多餘的小數位數,而且可以直接在excel打公式 還有沒有別的解法? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.173.163.157 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1597036904.A.9EA.html ※ 編輯: j2708180 (1.173.163.157 臺灣), 08/10/2020 13:23:57
文章代碼(AID): #1VCDbedg (Office)
討論串 (同標題文章)
文章代碼(AID): #1VCDbedg (Office)