要求: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)))))
该问题有更加简洁的公式,此火车公式仅供参考。,