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

如题所述

根据你的意思,如果用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)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-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和回车键)
祝你成功!