帮忙分析一个excel公式的含义

来源:百度知道 编辑:UC知道 时间:2024/06/11 15:16:01
B1=IF((ROW()=1)*(A1<>A2)=1,"",IF((ROW()=1)*(A1=A2)=1,1,IF(A1=OFFSET(A1,-1,,,),OFFSET(B1,-1,,,)+1,IF(A1=A2,1,""))))

帮忙分析一下这个公式每一部分的具体含义!

谢谢!

1. 当前单元格为B1;
2. ROW()=1如果当前单元格的行号为1,则返回ture,否则返回FALSE(这里因为是B1所以返回ture);
3. 如果A1的值不等于A2的值,则返回ture,否则返回FALSE;
4. 如果3返回ture,则B1这个单元格的结果为空号,公式结束,如果3返回FALSE,则公式跳到5;
5. ROW()=1,则返回true,同2;
6. A1=A2表示A1的值等于A2的值,则返回ture,否则返回FALSE;
7. 如果6返回ture,则B1的结果为1,公式结束;如果6返回FALSE,公式跳至8;
8. 如果当前单元格的行号不是1,则公式会开始计算IF(A1=OFFSET(A1,-1,,,),OFFSET(B1,-1,,,)+1,IF(A1=A2,1,"")))这一步;
9. 如果A1的值等于A1上一行的单元格值时,上面这个公式返回OFFSET(B1,-1,,,)+1,也就是返回B1上一行的单元格值再加上1;
10. 如果A1的值不等于A1上一行的单元格值时,上面的公式就进入计算IF(A1=A2,1,"");
11. 如果A1=A2,则最后返回1.否则结果就返回空号;
这个公式是判断A1和A2是否相等,这个公式可能会有点问题,因为OFFSET(A1,-1,,,)是错误的,因为没有A0单元格,同样也没有B0单元格