龙空技术网

Excel设置——迭代计算

jennifer5jl 1770

前言:

眼前姐妹们对“迭代算法步骤”大约比较着重,你们都需要剖析一些“迭代算法步骤”的相关内容。那么小编同时在网络上网罗了一些对于“迭代算法步骤””的相关知识,希望各位老铁们能喜欢,小伙伴们快快来了解一下吧!

Excel写公式引用单元格的位置时,一般是不允许自己引用自己的,这会让Excel直接报错,比如我们在位置A1输入一个公式=A1*10,它会跳出警告

但是,有一种设置下,是可以做自身引用的,那就是迭代

设置位置在这里:左上角Office按钮 --> Excel选项 --> 公式 --> 计算选项 --> 启用迭代计算处打勾 --> 设置最多迭代次数(默认值100,这里我先改成了3次)

这里我们还是使用上面提到的公式A1=A1*10,得到的结果是零,看起来好像没什么变化,只是不跳出警告了

但是想下其中的道理好像也没错,因为我们的A1没有设初始值,而Excel空白的格子默认是0,这乘别的数再多次也是0

那如果我们给A1一个初始值呢?比如说把公式改成这样:

A1 = IF(A1=0,1,A1*10)

然后,我们回车看到计算结果,是100

为什么呢,因为这里我们设置了迭代3次,计算顺序就成了这样:

第一次:由IF条件判断出A1=0,所以结果输出A1=1

第二次:由IF条件判断出A1不等于0,所以输出A1=1*10=10

第三次:IF判断A1不等于0,输出A1=10*10=100

那你也许会想,这个设置看着是挺神奇的,但有什么用处呢?

嗯。。。。。。从昨天下午到今天中午连嗑了10集生哥正在闹失心疯的本人一开始也没琢磨出来这玩意儿能干嘛,结果刚刚写到这里的时候灵光一现,想到了一个例子

看过电视节目里猜价格的那种游戏嘛?就是给你件东西,你按照自己的经验猜几次价格,每次猜的时候主持人都会告诉你高了还是低了,限定次数里猜出来正确价格奖品就归你了的那种游戏

我们可以模拟那个游戏规则来做一版玩玩,假设我们现在竞猜的这个东西是个电动牙刷,正确价格是节目设定好的,我们现在并不知道

而当我们看到这个东西时,一般来说,首先会有个第一印象,觉得它的价格范围肯定在某个区间里才不至于太离谱,这里我猜测这个牙刷最高应该不超过300块钱(此处单位人民币)

节目主持在听到我们报的价格时,他的回答基本就以下三种情况:

这时我们猜价格可以采用一种二分法的策略,就是我们叫价时设定一个间隔大小,当主持人给我们的回答来判断方向,如果方向没变(比如上次说高了这次还是高了),那间隔大小不变,如果方向变了,那间隔大小减一半,当价格猜对时,变化间隔调整到0

这里为了简化计算,我们假设最终的价格是个整数,所以每次间隔变化时都向上取整,避免算出小数点来(由于CEILING有正负号要求,这里用了ROUNDUP),做出的公式大概是这样(这版还没设迭代计算):

然后,我们慢慢增加迭代次数,看下计算的情况:

第一次计算:

迭代2次时:

迭代5次时:

迭代到9次:

Bingo,答对了,正确答案240 RMB,完成撒花~~~~~

呼~~~好险好险,今天差点把自己绕懵了~~~

标签: #迭代算法步骤 #怎么求迭代次数