Google Sheets如何交错合并两个单元格区域而非直接拼接
两列数据均匀插入的实现方法
动态数组公式方案(支持Google Sheets、365/2021及以上版本Excel)
直接在空白单元格输入下方公式即可自动生成结果,默认保留A列全部100条、B列全部6条数据,如果你需要固定B列内容位于第1、20、40、60、80、100位,替换公式中b_pos的参数即可:
=LET( // 统计A、B列非空数据量 a_count, COUNTA(A:A), b_count, COUNTA(B:B), // 自动计算插入间隔,要固定位置就把下面这行删掉,替换b_pos的取值 insert_interval, ROUNDUP(a_count/(b_count-1), 0), // 自定义B列插入位置,按需求改成你要的位置即可 b_pos, SEQUENCE(b_count,,1,insert_interval), // b_pos固定写法参考:b_pos, {1,20,40,60,80,100}, total_row, a_count + b_count, MAP(SEQUENCE(total_row), LAMBDA(row_num, IF(COUNTIF(b_pos, row_num), // 匹配到插入位取B列对应值 INDEX(B:B, MATCH(row_num, b_pos, 0)), // 其余位置按顺序取A列值 INDEX(A:A, row_num - COUNTIF(b_pos, "<"&row_num)) ) )) )
如果使用固定位置
{1,20,40,60,80,100},总长度为100行,会取A列前94条数据填充剩余位置,需要保留全部A列数据的话,把最后一个位置调整为106即可。
旧版Excel操作方案
如果你的Excel版本不支持LET、LAMBDA这类动态数组函数,手动按位置填充即可:
- C1单元格输入
=B1 - C2到C19单元格依次输入
=A1到=A18 - C20单元格输入
=B2 - C21到C39单元格依次输入
=A19到=A37 - 按该规律向下填充完所有内容即可
内容的提问来源于stack exchange,提问作者AGrush
相关产品推荐
相关产品推荐

