0
  A       B       C

 x=value at C corresponding to A at 0.5

 0      5655     0
 0.25   6757     545
 0.5    7856     5776
 0.75   9866     5644

请帮我在 B 列(比如 B2)的某处打印值(比如“x”)。它应该选择 C ​​列的值始终对应于 A 列的 0.5,并且 0.5 值将根据给定的输入步骤从一个位置波动到另一个位置。所以无论它是什么,最终输出必须始终是对应于 0.5 的值

4

2 回答 2

1

这样做:

Sub UseSelection()
    Dim r As Long

    r = ActiveSheet.UsedRange.Rows.Count
    Range("A1").Select
    Do Until Selection.Row > r
    If Selection.Value = 0.5 Then
        Range("B2") = Range("C" & Selection.Row).Value
    End If
    Selection.Offset(1, 0).Select
Loop

End Sub

或使用 Vlookup:

Sub UseVlookup()
    Range("B2") = Application.WorksheetFunction.Vlookup(0.5, Range("A:C"), 3, False)
End Sub

或者,

Sub Another()
    Range("B2") = "=VLOOKUP(0.5,A:C,3,FALSE)"
End Sub

或者将公式放在单元格本身中(不灵活)

=VLOOKUP(0.5,A:C,3,FALSE)
于 2012-08-28T06:02:30.330 回答
1

听起来您正在寻找VLOOKUP公式。简而言之,它完全符合您的要求 - 匹配一列中的值并返回右侧列中的值。在这种情况下,假设您的公式在 cell 中D2,请尝试以下操作:

=VLOOKUP(0.5, A:C, 3, FALSE)

这将在 A 列中查找值 0.5 并在 C 列中返回相应的值。请注意,如果有多个 0.5,它将返回第一个匹配项。

于 2012-08-28T05:53:56.987 回答