【问题标题】:Excel skip blank or 0-valued cellsExcel 跳过空白或 0 值单元格
【发布时间】:2014-05-07 08:25:27
【问题描述】:

我想要一个扫描一列数据的公式,如果该列不为零,它将在另一列但在同一行中注册单元格的内容。我也希望它修剪空白单元格。这在 Excel 2007 中可行吗?

例如:我有,

column A    
A
B
C
G
H

column B
1
2
blank
blank
8

如果条件是非零列 B,我们有以下输出:

column N

A
B
H

【问题讨论】:

  • 如果使用过滤器不是更容易吗? (将过滤器添加到 A 和 B 列,过滤 out 空白和 0,复制 A 列的可见内容并将其粘贴到 N 列,清除过滤器。
  • 最终目的是创建一个系统,我只需要编辑 A 或 B 列,信息就会出现在其他列中。将有多个版本的“N 列”,每个版本都有自己的柱状标准。此外,手工工作越少越好,因为电子表格上的信息会很多!

标签: excel excel-formula excel-2007


【解决方案1】:

执行此类操作的通常方法是在数组输入公式中使用INDEXSMALL

=IFERROR(INDEX(A:A,SMALL(IF(B:B<>0,ROW(B:B)),ROWS($B$1:B1))),"")

把它放在N列的第一个单元格中,输入公式后,不要按Enter。而是按 Ctrl+Shift+Enter

然后你可以把它往下拉。

【讨论】:

  • 这在某种程度上有效,但所有输出都是“0”,而不是 A 列中相应单元格的内容。我确保按 ctrl+shift+enter。我错过了什么吗?
  • @Gokotai 我不确定你是如何得到“0”的。这是google spreadsheet sample。在那里,你不能 Ctrl+Shift+Enter,所以这就是我使用arrayformula 给出相同结果的原因(但这在 Excel 中不存在)。
  • 我不知道为什么,但关闭 Excel 并重新启动它似乎已经成功了!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多