两列不同的数据合并,规则是如果其中一列有空开的行,则将另一列的值按顺序填充进来,如果没有空的,则另一列排在最下面。
这个案例前不久讲解过,不过既然大家意犹未尽,那么今天再教一公式。
案例:将下图 1 中 B 列的值依次填充到 A 列的空单元格中,效果如下图 2 所示。
解决方案:1. 在 D2 单元格中输入以下公式 --> 下拉复制公式:
=IF(A2="",INDIRECT("b"&(COUNTIF($A$2:A2,"")+1)),A2)
公式释义:
IF(A2="",...,A2):如果 A2 为空,则显示中间的公式结果,否则显示 A2;
COUNTIF($A$2:A2,""):
计算第一个参数区域中的空单元格 "" 数;两个单元格必须第一个绝对引用,第二个相对引用,这样区域才会随行递增;
选中公式中的这一段,按 F9,我们来看一下实际结果
区域内没有空单元格,所以结果为 0。
INDIRECT("b"&(...+1)):将上述值 +1,用 "b"& 与之连接,就变成如下结果;外面套上 indirect 函数,即可引用 B1 单元格的值
2. 删除 D 列最下方几行多余的 0 值 --> 用格式刷复制左边数据表的格式
3. 试一下,如果将 A2 单元格的值清空,D 列的结果仍然正确。