我需要通过 Excel 365 公式(不是 VBA,不是 Power Query)获得两个“集合”的 笛卡尔积。例如,我的两个集合是两个左表,预期的笛卡尔积是右表:
如何通过一个Excel公式得到笛卡尔积?
两套: |第 1 栏 |第 2 栏 | |第 1 栏 |第 2 栏 | |-|-|-|-|-| | 4500005010 |一个 | |采购订单开始 | d | | 4500005011 |乙| |标题合并 |电子| | 4500005012 | C | |采购订单激活 | F |
MAKEARRAY
的解决方案:
=MAKEARRAY(
ROWS(Set_1)*ROWS(Set_2),
COLUMNS(Set_1)+COLUMNS(Set_2),
LAMBDA(row,col,
LET(set_num,IF(col<=COLUMNS(Set_1),1,2),CHOOSE(set_num,
INDEX(Set_1,QUOTIENT(row-1,3)+1,col),
INDEX(Set_2,MOD(row-1,3)+1,col-COLUMNS(Set_1))))))