Excel 跳转到下一个非空单元格并使用列表中的lates值

Excel 跳转到下一个非空单元格并使用列表中的lates值,excel,Excel,我有以下Excel电子表格: A B Desired Result Column B 1 Product A 50 **50** **50** 2 Product B =IF(A2="","",B1) 50 50 3

我有以下Excel电子表格:

        A                      B                    Desired Result Column B
1    Product A                50                     **50**       **50**         
2    Product B        =IF(A2="","",B1)                 50           50  
3                     =IF(A3="","",B2)              
4    Prodcut C        =IF(A4="","",B3)                 50         **40**
5                     =IF(A5="","",B4)
6    =""              =IF(A5="","",B5)
7    Product D        =IF(A5="","",B6)                 50           40
8    Product E        =IF(A5="","",B7)                 50           40
**用户输入

在A列中有一个不同产品的列表。正如您所看到的,可以是
空单元格
或公式为
=''
的单元格

列B中,我希望实现第一个
空单元格
=”
单元格前的最后一个值应用于其他行

例如:如果我在单元格B1中输入50,我希望在每个产品旁边显示该50,并忽略
空单元格或
=”

我可以通过以下公式实现这一点:

=IF(A2="","",$B$1)
现在的问题是,用户也可以在B列的另一个单元格中键入不同的数字。例如,他可以输入一个40英寸单元格B4

在这种情况下,我希望40适用于以下所有其他行,而不是50,如上面示例中“所需结果列B”一节所示

如何更改B列中的公式以实现此目的?

尝试:

B2: =IF(A2="","",LOOKUP(2,1/LEN($A$1:A1),$B$1:B1))
使用查找公式中使用的寻址模式,它将在查找之前检查行到行。如果A列的值不是空的,则lookup_vector将匹配A列中包含公式的行之前的最后一个非空单元格,而result_vector将返回B列中同一行的值

如上所述,限制用户输入是非常重要的

如果用户可以在B列中创建一个与A列中的条目不对应的条目,并且您希望向下复制该条目,则使用:

=IF(A2="","",LOOKUP(2,1/LEN($B$1:B1),$B$1:B1))

另外,请注意,如果用户删除B列中的一个条目,而不是用另一个数字替换它,则序列将被打乱。删除下面的公式将删除的值解释为零。

在单元格B2中输入以下公式

=IF(A2<>"",INDEX($B$1:$B1,MAX(IF($B$1:$B1<>"",1,0)*ROW($B$1:$B1))),"")
=IF(A2“”,索引($B$1:$B1,最大值)(IF($B$1:$B1“”,1,0)*行($B$1:$B1)),“”)
根据需要向下拖动/复制


这是一个数组公式,请按Ctrl+Shift+Enter键提交。

您说在B列中有一个公式,然后在B1中输入“50”。这意味着公式被替换了。我不明白。举一些例子,这可能更容易理解对不起,我试图用“期望的结果栏B”一节来解释这一点,但如果不完全清楚,我能理解。用户可以在B列中重新键入公式。公式应该可以帮助他不必复制所有值。好的。。但这一切都必须在一列中发生?用户不能在C列中输入他的值吗?