Excel: 如何找到最后一个空单元格

Excel: How to find the last empty Cell

在 Excel 中,有谁知道如何从给定行向上查找最后一个空白单元格?

我有一个格式奇怪的 excel 导出,我正试图从中报告。但是,我一直在努力寻找一个有效的公式来查找数据。

这里是这份报告的导出格式的2个例子。对于每个 "Item Number",它列出了它所使用的所有部件。这可能只是一个 SKU,或 15 个 SKU,或 none。所以这会导致 sub-header 区域大小不一致。每个新的项目编号都采用相同的格式。我有 8000 多个项目编号,每个项目编号都输出相同的格式。

这里是数组公式:

{=INDEX($B:$B600,SMALL(IF("Item Number:"=$A:$A600,ROW($A:$A600)-ROW($A)+1),COUNTIF(INDIRECT("$A1:$A"&ROW()),"Item Number:")))}

我的公式基本上是查找 SKU(即 35376)并报告它使用的上述商品编号(即 02859)。它通过查找 SKU 的行号,然后计算从顶部到当前行的字符串数 "Item number:",并报告最后一个来实现这一点。

**

Created By:     Employee                    
Create Time:    01/08/2015 04:16:16 PM CST                      
    Where Used Report                       
Item Number:    02859                       
Description:    Packaging 35376                     
Level   Subclass    Number  Rev Description Find Num    Qty BOM Notes   
.. 2    SKU 45268   A        MCO-01101  Product Name    0   1       

Created By:     Employee                    
Create Time:    01/08/2015 04:16:16 PM CST                      
    Where Used Report                       
Item Number:    02858                       
Description:    Packaging 35345                     
Level   Subclass    Number  Rev Description Find Num    Qty BOM Notes
.. 2    SKU 35376   E        ECO-07812  Product name    0   1   
.. 2    SKU 39022   A        MCO-01198  Product Name    0   1   
.. 2    SKU 39033   A        MCO-01187  Product Name    0   1

**

但是,我当前的功能正在崩溃,因为我正在搜索 70k 行。

我宁愿做的是简单地查看 sheet 中的 UPWARDS 以找到最后一个 header 值的行号(即 "Number") 甚至只是最后一个空单元格。相反,似乎大多数功能都是围绕向下查看下一个值而设计的。这迫使我从顶部查看当前行。

有人知道如何从给定行向上查找最后一个空白单元格吗?

您可以通过多种方式使用 LOOKUP 来获取某个值在 last 出现的次数,例如第 100 行中的此公式将在上面的 A 列中找到 "Item Number:" 的最后一个实例,并且 return 是 B 列中的相应值

=LOOKUP(2,1/(A:A99="Item Number:"),B:B99)

如果您知道需要查看多少行,这会很快,例如如果前面的 "Item number" 始终在 30 行以内,您可以将公式中的范围设置为仅查看 30 行

可以使用 SUMPRODUCT,但它会搜索一列中的所有 10xxxxx 个单元格,不要太多,否则电子表格会变慢。

=INDEX(B:B,SUMPRODUCT(MAX((A:A="Item Number:")*ROW(A:A))))

这将 return B 列中最后一个 "Item Number:" 出现的数据