手机版 麦子百科
您的当前位置: 首页 > 常识 >

笛卡尔积怎么算(用Excel函数实现‘笛卡尔积’)

100次浏览     发布时间:2024-08-19 08:19:21    

要求: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)))))