要求:A、B两列数据两列相乘,变成C列数据。1、生成B列数据个数的序列,如例子中B列数据有6个,则生成序列,如下图。 公式为:=ROUNDUP(ROW()/(COUNTA(B:B)),0)-1 2、在上面的公式中套一个offset函数用来偏移数据。 公式为: =OFFSET($A$1,ROUNDUP(ROW()/(COUNTA(B:B)),0)-1,,) 3、根据B列生成1,2,3,4,5....这样的序列数据,如上面B列有6个数据,则生成序列123456 123456... 公式为: =IF(MOD(ROW(),COUNTA(B:B))=0,COUNTA(B:B),MOD(ROW(),COUNTA(B:B))) 4、使用indirect函数引用B列数据 公式为: =INRECT('B'&IF(MOD(ROW(),COUNTA(B:B))=0,COUNTA(B:B),MOD(ROW(),COUNTA(B:B)))) 5、将上面的步骤合起来,成为一条公式,下拉得出最终结果。 =IF(ROW()>COUNTA(A:A)*COUNTA(B:B),'',OFFSET($A$1,ROUNDUP(ROW()/(COUNTA(B:B)),0)-1,,)&INDIRECT('B'&IF(MOD(ROW(),COUNTA(B:B))=0,COUNTA(B:B),MOD(ROW(),COUNTA(B:B))))) 该问题有更加简洁的公式,此火车公式仅供参考。 |
|