在单元格中输入数字,并使用2D范围在数组中搜索该数字

时间:2015-12-11 13:11:52

标签: excel vba excel-vba excel-2010

我正在调和帐户,并且想知道是否有可用于搜索某些值的公式/ VBA,因为查找功能不起作用?

例如:在单元格中输入-54.12,公式/ VBA在数组中搜索该数字。

这可以更好地解释我想要实现的目标,虽然更多的是解释而不是编码:

Sub Test()

Dim Value As Integer
Dim Account As Range
Dim Lookup As Boolean

Value = Range("D8")
Account = Range("E:E")

Set Value = A
Set Account = B
' IF A is present in B then look up = true
' if look up is true then scroll to cell

End Sub

然后,我可以通过值更改设置Private Sub,以便在每次输入新值时执行相同的操作?

1 个答案:

答案 0 :(得分:1)

直接从https://stackoverflow.com/a/19126873/1505120解除(我忘了提到搜索词在G1中):

直接从MrExcel

取消

假设数据阵列在A1:D5:

在G2:=COUNTIF(B2:D5,G1)

在G4中:=IF(ROWS($G$4:G4)>$G$2,"",INDEX($A$2:$A$5,INT(SMALL(IF($B$2:$D$5=$G$1,(ROW($B$2:$D$5)-ROW($B$2)+1)*10^5+COLUMN($B$2:$D$5)-COLUMN($B$2)+1),ROWS($G$4:G4))/10^5)))

在H4中:=IF(ROWS($G$4:G4)>$G$2,"",INDEX($B$1:$D$1,MOD(SMALL(IF($B$2:$D$5=$G$1,(ROW($B$2:$D$5)-ROW($B$2)+1)*10^5+COLUMN($B$2:$D$5)-COLUMN($B$2)+1),ROWS($G$4:G4)),10^5)))

后两个用 Ctrl + Shift + Enter 输入并向下复制。