用函数来处理的话,只会获得最后一行值的办法。倒数第二行、第三行及以后的值得不到。
恐怕还是要VBA才行了。
最简单的是做个按钮,添加宏,宏如下
Sub Macro1()
Dim i As Integer
Dim tmp As Integer
Dim tmparr As Integer
i = Sheets(1).Range("A65536").End(xlUp).Rows
For tmp = i To 1 Step -1
If Not Sheets(1).Rows(tmp).Hidden Then
tmparr = tmparr + 1
Sheets(2).Range("A" & (11 - tmparr)) = Sheets(1).Range("A" & tmp)
End If
If tmparr >= 10 Then
Exit Sub
End If
Next
End Sub
当然还可以做成自定义函数,就不用每次去执行按钮了,但是函数对于其中的参数取值有点讲究,不太通用,就不给你写了
用函数即可解决。
=OFFSET(Sheet1!$A$1,LARGE(IF(SUBTOTAL(3,OFFSET(Sheet1!$A$1,ROW(INDIRECT("1:"&COUNTA(Sheet1!A:A)))-1,)),ROW(INDIRECT("1:"&COUNTA(Sheet1!A:A))),),11-ROW(1:1))-1,)
数组公式,三键退出编辑。要求追加50分,累死我了。