如何在Google Sheets中动态合并两个不同数据区域?
解决方案
方法1:新版Google Sheets 推荐写法
用CROSSJOIN函数直接生成笛卡尔积,实现日期与第三列项目的一一配对:
=CROSSJOIN(A2:A, C2:C4)
公式会输出两列:第一列重复显示每个日期,第二列对应第三列的每一项。如果要排除A列的空白行,可修改为:
=CROSSJOIN(FILTER(A2:A, A2:A<>""), C2:C4)
方法2:兼容旧版的通用写法
如果你的Sheets版本不支持CROSSJOIN,用FLATTEN+ARRAYFORMULA组合实现:
=ARRAYFORMULA(SPLIT(FLATTEN(A2:A&"|"&TRANSPOSE(C2:C4)), "|"))
- 逻辑:先转置第三列项目为横向,将每个日期与所有项目拼接成
日期|项目格式,再展平为单列,最后拆分回两列。
调整说明
- 可根据实际数据范围修改公式中的
A2:A和C2:C4,比如第三列项目不止3行,改成C2:C即可。
内容的提问来源于stack exchange,提问作者Elanu
相关产品推荐
相关产品推荐

