MS EXCEL:删除多列中的空(行)行

MS EXCEL: Remove Empty (Rows) Lines Across Multiple Columns

使用MS Excel公式;我想要一个数组公式,它将删除多列中的空白行。

不幸的是,与其他类似公式的使用不同(即 =INDEX($B$3:$B$10,SMALL(IF(ISBLANK($B$3:$B$10),"" ,ROW($B$3:$B$10)-MIN(ROW($B$3:$B$10))+1),ROW(A1))) 等这些公式只允许删除空白来自单个列的行。然而,我试图获得相同的结果,但从跨多行的列中删除空行。

示例:

(A2) 李四 | (B2) 纽约 | (C2) 纽约

(A3) 空白 | (B3) 空白 | (C3) 空白

(A4) 李四 | (B4) 巴尔的摩 | (C4) MD

(A5) 空白 | (B5) 空白 | (C5) 空白

(A6) 玛丽·琼斯 | (B6) 旧金山 | (C6) CA

(A7) 空白 | (B7) 空白 | (C7) 空白

(A8) 空白 | (B8) 空白 | (C8) 空白

(A9) 威廉·琼斯 | (B9) 空白 | (C9) IL

结果:

(A2) 李四 | (B2) 纽约 | (C2) 纽约

(A3) 李四 | (B3) 巴尔的摩 | (C3) MD

(A4) 玛丽·琼斯 | (B4) 旧金山 | (C4) CA

(A5) 威廉·琼斯 | (B5) 空白 | (C6) IL

这个函数应该可以工作:

{=IFERROR(INDEX($A:$C,MATCH(1,(COUNTIF($E:$E1,$A:$A)=0)*($A:$A>""),0),COLUMN(A1)),"")}

请注意,此公式仅适用于 A 列中没有重复项的情况。空白单元格(如示例中的 B5)也将用 0 填充。您可以使用 [=12 删除它们=]公式:

{=IFERROR(IF(INDEX($A:$C,MATCH(1,(COUNTIF($E:$E1,$A:$A)=0)*($A:$A>""),0),COLUMN(A1))>0,INDEX($A:$C,MATCH(1,(COUNTIF($E:$E1,$A:$A)=0)*($A:$A>""),0),COLUMN(A1)),""),"")}

复制到E2中,先向下再向右拖动。不要忘记输入 CTRL + SHIFT + ENTER