我正在寻找一个公式,该公式将从两组数据中创建一个笛卡尔积,其中任何一组数据都可以增长或缩小。
@ScottCraner 在这篇文章中给出的答案几乎给了我答案,除了它没有像预期的那样溢出。
Excel - 列 a 和列 b 的每个组合到列 d 和 e
我不是在寻找 PowerQuery 或 VBA 解决方案 - PQ 涉及信任员工按下Refresh
,VBA 涉及信任员工注意显示“启用宏”的黄色条并理解它的含义。
在上图中,我试图使用列M:N
中的数据获取列中的值A:F
。
目前我正在获取J:K
.
- 我的原始数据的缩减版本
D
位于一个名为Table1的表中的列中。 F1
=SEQUENCE(EndDate-StartDate+1,,StartDate)
包含为我提供开始和结束之间所有日期列表的公式。G1
包含公式=UNIQUE(Table1[Process])
I1
包含公式=SEQUENCE(COUNTA($F$1#)*COUNTA(G1#))
,它将溢出给我最终表格中的行数(即我需要溢出多少)。J1
包含公式=IF(I1#<>"",INDEX($F$1#,INT(ROW()-1)/COUNTA($G$1#)+1))
。
该Index
部分本身将向下拖动并给我 column 中的值M
,或者我可以选择范围并使用数组公式也给我值。
如果我评估单元格中的公式,J4
它应该引用单元格F2
.... 并且确实如此,但随后返回来自单元格的值F1
。
我有一种感觉,我在这里遗漏了一些关于溢出范围的基本内容。有任何想法吗?
使用 Let 和 CHOOSE,我们可以将所有步骤合并到一个公式中以输出两列:
它基本上遵循您的步骤。