我有以下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栏中,列出了不同的产品。如您所见,可以是empty cells
或具有公式=""
的单元格。
在 B列中,我想实现第一个empty cell
或=""
单元格应用于其他行之前的最后一个值。
例如:如果我在单元格B1 中输入 50 ,我希望实现每个产品旁边显示 50 并{{ <}>或empty cells
被忽略。
我可以使用以下公式实现这一目标:
=""
现在的问题是,用户还可以在 B列中的另一个单元格中键入不同的数字。例如,他可以在单元格B4 中键入 40 。
在这种情况下,我希望 40 适用于所有其他后续行而不是50,正如您在“所需结果列B ”部分中所看到的那样上面的例子。
如何更改 B列中的公式才能实现此目的?
答案 0 :(得分:0)
尝试:
-/+ '0'
使用LOOKUP公式中使用的寻址模式,它将检查查找前行的行。如果列A值不为空,则lookup_vector将匹配包含公式的行之前的列A中的最后一个非空单元格,result_vector将返回列B中同一行中的值。
如上所述,您的用户条目受到限制至关重要。
如果用户可以在B列中输入与A列中的条目不对应的条目,并且您希望将该条目向下复制,则使用:
B2: =IF(A2="","",LOOKUP(2,1/LEN($A$1:A1),$B$1:B1))
另请注意,如果用户删除B列中的条目,而不是将其替换为其他数字,则序列将被扰乱。删除下面的公式会将删除的值解释为零。
答案 1 :(得分:0)
在Cell B2
=IF(A2<>"",INDEX($B$1:$B1,MAX(IF($B$1:$B1<>"",1,0)*ROW($B$1:$B1))),"")
根据需要拖动/复制。
这是一个数组公式,所以按 Ctrl + Shift + Enter来提交它。