excel表格中 如何建立一个if循环函数

据说IF 函数 只能建立8个一次
但是我需要的很多
例如:
A26中表示
如果A25=0,成立:(如果A24=0,这里是循环了,A24-A2),否则:A25-A2.

我要的循环最后一环就是 如果A3=0,A2,A3-A2.

如果可以写出来原理 更加万分感谢!
如果我学会了。愿意100分相送,略表敬意~~
fenghandib 兄弟。你的办法失败了。愿意不知道。我是office 2003 和这个有关系嘛.
你的意思和我的意思 是一样的。如果最后到A2 也没有不等于0的话,就输入A2 可以。能凑合~~

再对fenghandib 兄弟 补充 仍然失败。
我测试了一下。有提示说:此公式中的某函数使结果在每次电子表格计算式多会发生改变,最终的求值步骤将会与单元格中的结果相符,但在每次步骤中可能会有所不同。
另外,我A1-A25都是 百分比什么的。和这个有关系嘛
而且帮助里 说MAX 是返回最大值,我很疑虑。这的是使用这个嘛?

根据你的意思,如果用if语句的话,很难实现,但是你的公式中的循环有个规律,就是倒着数(即从A25到A2的内容依次排列)第一个不为0的单元格减去A2即所得单元格,但是有个特列,就是如果倒着数第一个不为0的单元格如果是A2的话,那么就要输出A2内容,而不是输出第一个不为0的单元格(A2)减去A2成为0
所以,需要嵌套一个if语句,这样就得到如下公式:
=IF(MAX((A2:A25<>0)*ROW(A2:A25))=2,A2,INDIRECT("A"&MAX((A2:A25<>0)*ROW(A2:A25)))-A2)
将该公式复制到A26单元格里,然后按Ctrl+回车即可(这里是数组公式,需要同时按下Ctrl和回车键)
祝你成功!
对于你的补充,说没有成功,我专门试了一下,24个单元格依次输入数据,修改数据,结果都是对的,2003和2010结果一样,2007不清楚,应该也没问题,不知道是不是你的数据里有文本格式的单元格? 若有文本格式的单元格的话这个公式就有问题了,将公式里的A2:A24乘以数字1即可,即如下公式:
=IF(MAX((A1:A25*1<>0)*ROW(A1:A25))=2,A2,INDIRECT("A"&MAX((A1:A25*1<>0)*ROW(A1:A25)))-A2)
对于再次补充,百分比应该问题不大,最主要的是内容里不要出现文字,MAX函数在这里就是取最大值A1:A25*1<>0的意思是在A1:A25区域中的每个单元格不为0的时候返回1值,否则返回0值,然后该区域返回的这些值分别和对应单元格的行标相乘,如果返回值是0,那么乘以行标结果仍然是0,如果返回值是1,那么相乘结果为行标号,MAX((A1:A25*1<>0)*ROW(A1:A25))意思即为对对应区域的不为0的单元格行号取最大值,再通过indirect函数返回对应的单元格内的数据,然后再减去A2的数值
祝你成功!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-09

根据你的意思,如果用if语句的话,很难实现,但是你的公式中的循环有个规律,就是倒着数(即从A25到A2的内容依次排列)第一个不为0的单元格减去A2即所得单元格,但是有个特列,就是如果倒着数第一个不为0的单元格如果是A2的话,那么就要输出A2内容,而不是输出第一个不为0的单元格(A2)减去A2成为0
所以,需要嵌套一个if语句,这样就得到如下公式:
=IF(MAX((A2:A25<>0)*ROW(A2:A25))=2,A2,INDIRECT("A"&MAX((A2:A25<>0)*ROW(A2:A25)))-A2)
将该公式复制到A26单元格里,然后按Ctrl+回车即可(这里是数组公式,需要同时按下Ctrl和回车键

插入名称的方式可以做,但也得定义2-3个名称。
通常二十几层的嵌套式没有必要的。有没有不用IF嵌套的办法呢?
如果你只是要求A3-A24都=0(空格不算0),才给出结果A3-A2,那么完全可以用COUNTIF:
=if(countif(a3:a24,0)=row(a24)-row(a3),a3-a2,a2)

本回答被网友采纳
第2个回答  2015-06-30
根据你的意思,如果用if语句的话,很难实现,但是你的公式中的循环有个规律,就是倒着数(即从A25到A2的内容依次排列)第一个不为0的单元格减去A2即所得单元格,但是有个特列,就是如果倒着数第一个不为0的单元格如果是A2的话,那么就要输出A2内容,而不是输出第一个不为0的单元格(A2)减去A2成为0
所以,需要嵌套一个if语句,这样就得到如下公式:
=IF(MAX((A2:A25<>0)*ROW(A2:A25))=2,A2,INDIRECT("A"&MAX((A2:A25<>0)*ROW(A2:A25)))-A2)
将该公式复制到A26单元格里,然后按Ctrl+回车即可(这里是数组公式,需要同时按下Ctrl和回车键)
祝你成功!
第3个回答  2010-11-29
插入名称的方式可以做,但也得定义2-3个名称。
通常二十几层的嵌套式没有必要的。有没有不用IF嵌套的办法呢?
如果你只是要求A3-A24都=0(空格不算0),才给出结果A3-A2,那么完全可以用COUNTIF:
=if(countif(a3:a24,0)=row(a24)-row(a3),a3-a2,a2)

不知道是不是这个意思
第4个回答  2010-11-29
一次可以8个,可以通过插入定义名称来弥补,理论上可以达到无限个if判断
相似回答