
=IF(MOD(ROW(),3),OFFSET(工资表!$A$1,(MOD(ROW()-1,3)>0)*ROUND(ROW()/3,),COLUMN(A1)-1),""),请详解逻辑
1个回答
展开全部
IF函数懂吧,条件为真就显示第一个结果,假就显示后面一个结果
条件是:MOD(ROW(),3)。ROW()返回当前行的行号,就是说当前行只要不是3的倍数就显示OFFSET(工资表!$A$1,(MOD(ROW()-1,3)>0)*ROUND(ROW()/3,),COLUMN(A1)-1)这一块的结果,否则显示为空白
最后再说这个逻辑真的表达式:OFFSET(工资表!$A$1,(MOD(ROW()-1,3)>0)*ROUND(ROW()/3,),COLUMN(A1)-1)。OFFSET是要返回引用的,引用目标是工资表!$A$1,即“工资表”里的A1单元格,(MOD(ROW()-1,3)>0返回结果只有true(1)或FALSE(0),当(MOD(ROW()-1,3)为FALSE时即当前行号为3n+1时,OFFSET返回的引用行偏移量为0;当(MOD(ROW()-1,3)为TRUE时,ROW()返回值只有3n+2,3n时最外面的IF就FALSE了。此时OFFSET的行偏移量就是ROUND(ROW()/3,)。另外列的偏移量为COLUMN(A1)-1)等于0
总结,当前行只要是3的倍数的即3n行的,显示结果为空;3n+1行时显示的值为工资表!$A$1里的值;3n+2行时,显示的值为工资表A列往下偏移ROUND(ROW()/3,)行对应的值
好辛苦打了半天,不知道你明白了没。。。。。。
再贴一个我快递表格公式里用的,求解,嘿嘿
=IF(L2=0,E2,IF(I2="","",IF(AND(NOT(ISERROR(FINDB(I2,price!$A$13))),L2<=price!$A$11),(L2-1)*price!$C$13+price!$B$13,IF(AND(NOT(ISERROR(FINDB(I2,price!$A$13))),L2>price!$A$11),(L2-1)*price!$E$13+price!$D$13,IF(AND(NOT(ISERROR(FINDB(I2,price!$A$14))),L2<=price!$A$11),(L2-1)*price!$C$14+price!$B$14,IF(AND(NOT(ISERROR(FINDB(I2,price!$A$14))),L2>price!$A$11),(L2-1)*price!$E$14+price!$D$14,"else"))))))
条件是:MOD(ROW(),3)。ROW()返回当前行的行号,就是说当前行只要不是3的倍数就显示OFFSET(工资表!$A$1,(MOD(ROW()-1,3)>0)*ROUND(ROW()/3,),COLUMN(A1)-1)这一块的结果,否则显示为空白
最后再说这个逻辑真的表达式:OFFSET(工资表!$A$1,(MOD(ROW()-1,3)>0)*ROUND(ROW()/3,),COLUMN(A1)-1)。OFFSET是要返回引用的,引用目标是工资表!$A$1,即“工资表”里的A1单元格,(MOD(ROW()-1,3)>0返回结果只有true(1)或FALSE(0),当(MOD(ROW()-1,3)为FALSE时即当前行号为3n+1时,OFFSET返回的引用行偏移量为0;当(MOD(ROW()-1,3)为TRUE时,ROW()返回值只有3n+2,3n时最外面的IF就FALSE了。此时OFFSET的行偏移量就是ROUND(ROW()/3,)。另外列的偏移量为COLUMN(A1)-1)等于0
总结,当前行只要是3的倍数的即3n行的,显示结果为空;3n+1行时显示的值为工资表!$A$1里的值;3n+2行时,显示的值为工资表A列往下偏移ROUND(ROW()/3,)行对应的值
好辛苦打了半天,不知道你明白了没。。。。。。
再贴一个我快递表格公式里用的,求解,嘿嘿
=IF(L2=0,E2,IF(I2="","",IF(AND(NOT(ISERROR(FINDB(I2,price!$A$13))),L2<=price!$A$11),(L2-1)*price!$C$13+price!$B$13,IF(AND(NOT(ISERROR(FINDB(I2,price!$A$13))),L2>price!$A$11),(L2-1)*price!$E$13+price!$D$13,IF(AND(NOT(ISERROR(FINDB(I2,price!$A$14))),L2<=price!$A$11),(L2-1)*price!$C$14+price!$B$14,IF(AND(NOT(ISERROR(FINDB(I2,price!$A$14))),L2>price!$A$11),(L2-1)*price!$E$14+price!$D$14,"else"))))))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询