【问题标题】:MS EXCEL: Remove Empty (Rows) Lines Across Multiple ColumnsMS EXCEL:删除多列中的空(行)行
【发布时间】:2017-01-21 23:47:32
【问题描述】:

使用 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) 医学博士

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

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

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

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

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

结果:

(A2) 约翰·多伊 | (B2) 纽约 | (C2) 纽约

(A3) 简·多伊 | (B3) 巴尔的摩 | (C3) 医学博士

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

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

【问题讨论】:

标签: excel-formula removeall blank-line


【解决方案1】:

这个功能应该可以工作:

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

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

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

复制到 E2 并向下拖动然后向右拖动。不要忘记输入CTRL + SHIFT + ENTER

【讨论】:

猜你喜欢
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
  • 2012-03-30
  • 2018-02-21
  • 2020-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多