Excel从非空单元格返回对应行

Excel从非空单元格返回对应行,excel,excel-formula,Excel,Excel Formula,我有一个Excel表格,用来计算软件的价格 Product Qty Cost A 1 $100 B C D 2 $250 我正在尝试创建一个工作表,该工作表仅从相应的非空成本列返回产品名称。所以看起来像 Product Cost A $100 D $250 我能够填充成本列,因为这是一个基本的索引和匹配,但困难的是它只能从非空白成本填充产品名称。我该怎么做 我能够找到的值,但我无法让它返回后续的

我有一个Excel表格,用来计算软件的价格

Product   Qty    Cost
A         1      $100
B
C
D         2      $250
我正在尝试创建一个工作表,该工作表仅从相应的非空成本列返回产品名称。所以看起来像

Product   Cost
A         $100
D         $250
我能够填充成本列,因为这是一个基本的
索引
匹配
,但困难的是它只能从非空白成本填充产品名称。我该怎么做


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

要获取具有非空白数量/成本的产品

=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)))
=索引(A:A,聚合(15,6,行(A$2:INDEX(A:A,匹配(1E+99,B:B)))/符号(LEN(B$2:INDEX(B:B,匹配(1E+99,B:B))),行(1:1)))
'替换为放弃非空白、零值单元格
=索引(A:A,聚合(15,6,行(A$2:索引(A:A,匹配(1E+99,B:B))/(B$2:索引(B:B,匹配(1E+99,B:B))0,行(1:1)))

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

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

=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)))
=索引(A:A,聚合(15,6,行(A$2:INDEX(A:A,匹配(1E+99,B:B)))/符号(LEN(B$2:INDEX(B:B,匹配(1E+99,B:B))),行(1:1)))
'替换为放弃非空白、零值单元格
=索引(A:A,聚合(15,6,行(A$2:索引(A:A,匹配(1E+99,B:B))/(B$2:索引(B:B,匹配(1E+99,B:B))0,行(1:1)))

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

如果数量/成本为零,是否要包括该产品?@Jeeped将永远不会有0值。因此,我只想跳过空格。如果数量/成本为零,是否要包括产品?@Jeeped,将永远不会有0值。所以我只想跳过空白这项工作,但有一个小问题,具体到我的数据。成本的等式是
=SUMIF([@Difference],“>0”)
ISBLANK()
对此返回FALSE。我如何修改你的函数来忽略任何一个空的单元格,你说“永远不会有0个值”,但是现在显然是这样。不,这个单元格看起来是空白的,但是你的函数仍然把空白字段看作一个有效的字段。如果我从空白字段中删除<代码> SUMIF < /代码>,然后,它使用函数长度为零的字符串或包含零的单元格返回正确的值,但其格式不显示它不是真正的空白单元格。如果您使用的是SUMIF,那么您的单元格为零(例如0),但不显示值。这是可行的,但我的数据有一个特定的小问题。成本的等式是
=SUMIF([@Difference],“>0”)
ISBLANK()
对此返回FALSE。我如何修改你的函数来忽略任何一个空的单元格,你说“永远不会有0个值”,但是现在显然是这样。不,这个单元格看起来是空白的,但是你的函数仍然把空白字段看作一个有效的字段。如果我从空白字段中删除<代码> SUMIF < /代码>,然后,它使用函数长度为零的字符串或包含零的单元格返回正确的值,但其格式不显示它不是真正的空白单元格。如果您使用的是SUMIF,则您的单元格为零(例如0),但不显示值。