excel中可以利用lookup函数在特定范围内查找最接近目标数据的单元格,并输出对应行的其他单元格。
软件版本:office2007
举例说明如下:
1.查找e列中最接近a列数据的单元格,并在b列返回对应的f列的值:
2.输入公式如下:
3.下拉填充得到结果:
可以用VBA来实现,我做一下,一会儿给你代码.
Private Sub CommandButton1_Click()
Dim sum1, sum2 As Integer
Dim r, r1 As Integer
sum1 = 11
sum2 = 11
r = 6
For i = 1 To 11
If Cells(i, 2) = 1 Then
sum1 = Abs(Cells(i, 2).Row - 6)
If sum1 < sum2 Then sum2 = sum1
r1 = i
End If
Next i
Cells(r1, 3) = "可以"
End Sub
如果查找的行号不固定可以换为
sum1=Range("B65535").end(xlup).rows
sum1=Range("B65535").end(xlup).rows
C1输入公式
IF(B1=1,IF(ABS(ROW()-MATCH("B",A:A,))=MIN(ABS(ROW(B$1:B$15)*(B$1:B$15=1)-MATCH("B",A:A,))),"可以",""),"")
数组公式以ctrl+shift+enter三键组合结束输入
公式下拉即可
只会用VBA,公式的话弄不来
没太看明白,B是参照值,怎么对应的数字1呢?