excel 如何在Google Sheet中创建一个循环,直到达到最优解?

2q5ifsrm  于 2023-06-25  发布在  Go
关注(0)|答案(1)|浏览(124)

我已经创建了一个工作表,我需要在单元格“C8”和“B14”中找到最佳值。
为了在单元格‘C8’中找到最佳值,需要每次迭代将‘B8’的值增加0.01,直到达到单元格‘O 8’的值变为>=0。换句话说,'B8'的值(即8.8)需要增加0.01,因此数组应该是[8.8,8.81,8.82,...]。当O 8大于等于0时,我必须停止循环。
为此,我建立了一个公式

=IF(O8<0, B8+0.01) + IF(O8>=0, C8)

但它不起作用。
我尝试在单元格'C8'中从'B8'自动增加值,但我无法用我的公式这样做。请帮我纠正一下。随附表格。
Pic of Excel Sheet

xxe27gdn

xxe27gdn1#

这是添加到工作表的一种方法。测试一下:

Cell_C8

=let(sell_,B8, 
    loop_,lambda(rec_,Σ, 
    if(let(a,A8,b,B8,d,(Σ*a)-(b*a),e,b*a,f,Σ*a,h,e*0.001,i,f*0.001,j,roundup(h+i,0),k,e*0.00018,l,f*0.00018,m,round(k+l,2),g,j+m,pl,d-g,pl >= 0), Σ, rec_(rec_,Σ+0.01))), 
    loop_(loop_,sell_))

单元格_B14

=let(buy_,C14, 
    loop_,lambda(rec_,Σ, 
    if(let(a,A14,c,C14,d,(c*a)-(Σ*a),e,Σ*a,f,c*a,h,e*0.001,i,f*0.001,j,roundup(h+i,0),k,e*0.00018,l,f*0.00018,m,round(k+l,2),g,j+m,pl,d-g,pl >= 0), Σ, rec_(rec_,Σ-0.01))), 
    loop_(loop_,buy_))

相关问题