每天清晨六点,准时与您相约 问题情境 昨天的排列组合问题,今天换成OFFSET函数来解决。 相同的样表: 需要把"级别"与"等级"的所有组合列出来,有三个级别、四个等级,所以组合的可能性有3*4=12种。 分步实现: 第一步:级别重复四次 公式: =OFFSET(A$2,INT((ROW(A1)-1)/4),,) 因为"级别"要重复四次,所以用INT((ROW(A1)-1)/4)。 ROW(A1)随着公式向下填充,返回值自动变为1、2、3、4、5……,(ROW(A1)-1)/4返回0、1/4、2/4、3/4、4/4……,再用INT取整,返回值为0、0、0、0、1……,OFFSET(A$2,INT((ROW(A1)-1)/4),,)即以A$2为基准点,向下偏移0行、0行、0行、0行、1行……,即返回一级、一级、一级、一级、二级……。 第二步:等级重复三次 公式: =OFFSET(B$2,MOD(ROW(A1)-1,4),) ROW(A1)随着公式向下填充,返回值自动变为1、2、3、4、5……,MOD为求余函数,MOD(ROW(A1)-1,4)返回值为0,1,2,3,0……,OFFSET(B$2,MOD(ROW(A1)-1,4),)即以B$2为基准点,向下偏移0行,1行,2行,3行,0行……,即返回甲等、乙等、丙等、丁等、甲等……。 第三步:合成总公式 公式: =OFFSET(A$2,INT((ROW(A1)-1)/4),,)&OFFSET(B$2,MOD(ROW(A1)-1,4),) 关于OFFSET: Excel222 | OFFSET偏移函数,是这样用的此篇中有详细解释;