繁体   English   中英

在 MS Excel 中查找前一个单元格,该单元格是列中的数字

[英]In MS Excel look for the previous cell that is a number in a column

对于同一家公司(在本例中为公司 A),我想将“NA”更改为最后一个可用的号码。 例如,单元格 D3 和 D4 是 NA,所以我希望它都更改为最后一个可用数字(在单元格 D2 中为“1”)。 如果他们是不同的公司(如单元格 B7 和 B6),则返回原始的“NA”。

我厌倦了=IF(C3= "NA", INDEX(C$2:C$11,MATCH(TRUE,ISNUMBER(C$2:C$11),0),1),C3) ,但它不起作用,因为它返回 #不适用。 请问有人可以帮忙吗? 谢谢!

图片在此处输入图像描述

它似乎对我有用? 为 A 公司重新创建了数据,并将“,”替换为“;” 因为它是我使用的分隔符。 此外,我删除了公式中的空格,因为我从未在 Excel 中使用它们。

结果,公式给出了想要的结果。

您的 Excel 是否支持您尝试使用的公式?

在此处输入图像描述

您的口头描述的列代码与屏幕截图的列代码不匹配。 所以为了清楚起见,在下面的答案中,我将参考屏幕截图中给出的列代码。

您包含的公式确实为我计算了结果,通过它的设置方式,它不会计算您口头描述的内容。

在您的问题中所写的形式中,该公式忽略了公司名称,当遇到“NA”值时,它会返回从 top 开始找到第一个数字。

如果我理解正确,您希望公式仅考虑与 A 列中相同公司名称关联的数字,并且在遇到“NA”时,返回从当前行开始为该公司找到的“最新”数字上升(假设日期值是有序的)。

以下公式在粘贴到单元格 D2 时包含这些功能:

=IFERROR(INDEX(FILTER($C$2:$C2,($A$2:$A2=$A2)*(ISNUMBER($C$2:$C2))),SUM(($A$2:$A2=$A2)*(ISNUMBER($C$2:$C2)))),"NA")

使用此解决方案,公司名称不必按顺序排列,但日期值却可以。 对于公司名称和日期值都不按顺序排列的情况,可以调整公式。

Note that the FILTER function is only available in Excel for Microsoft 365 and Excel 2021. In Excel 2019, Excel 2016 and earlier versions, it is not supported.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM