【问题标题】:Excel Return Corresponding Row from Non-Blank CellExcel从非空白单元格返回对应行
【发布时间】:2017-10-30 19:07:18
【问题描述】:

我在 Excel 中有一个计算软件价格的表格。

Product   Qty    Cost
A         1      $100
B
C
D         2      $250

我正在尝试创建一个仅从相应的非空白成本列返回产品名称的工作表。所以它看起来像

Product   Cost
A         $100
D         $250

我能够填充成本列,因为这是基本的INDEXMATCH,但困难的部分是让它仅从非空白成本中填充产品名称。我该怎么做?

我能够找到 first non-blank cell 的值,但我无法让它返回后续的非空白单元格。

【问题讨论】:

  • 如果数量/成本为零,您是否要包含该产品?
  • @Jeeped 永远不会有 0 值。所以我只想跳过空格

标签: excel excel-formula


【解决方案1】:

要获得非空白数量/成本的产品,

=INDEX(A:A, AGGREGATE(15, 6, ROW(A$2:INDEX(A:A, MATCH(1E+99, B:B)))/SIGN(LEN(B$2:INDEX(B:B, MATCH(1E+99, B:B)))), ROW(1:1)))
'alternate to discard non-blank, zero value cells
=INDEX(A:A, AGGREGATE(15, 6, ROW(A$2:INDEX(A:A, MATCH(1E+99, B:B)))/(B$2:INDEX(B:B, MATCH(1E+99, B:B))<>0), ROW(1:1)))

额外的 VLOOKUP 或 INDEX/MATCH 公式将返回与每个产品相关的成本。

【讨论】:

  • 这可行,但我的数据存在一个小问题。成本等式是=SUMIF([@Difference],"&gt;0")ISBLANK() 对此返回 FALSE。我将如何修改您的函数以忽略任何为空的单元格
  • 你说过 '永远不会有 0 值' 但显然现在有。
  • 不不,单元格看起来为空白,但您的函数仍将空白字段视为有效字段。
  • 如果我从空白字段中删除SUMIF,那么它会使用您的函数返回正确的值
  • 一个长度为零的字符串或一个包含零但被格式化为不显示它不是真正的空白单元格的单元格。如果您使用的是 SUMIF,那么您的单元格为零(例如 0)但不显示值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
相关资源
最近更新 更多