如何根据列和行选择从Excel表中选择特定值?

时间:2017-08-07 16:19:16

标签: excel excel-vba vba

我有一张如下表格

我想创建一个表单,我可以从可用的模型中选择或输入模型,然后根据该模型我想从表中使用适当的sX值。

例如,对于模型s7,我需要值A20。它是1.5。我想在另一个公式中使用该值。我该如何处理这个价值?

理想情况下,我希望能够通过使用模型和s7来引用该值,而不是绝对的Excel单元格位置。数据表位于单独的表格中,以防万一。

enter image description here

2 个答案:

答案 0 :(得分:2)

使用INDEX()

=INDEX($1:$1048676,MATCH("S7",$A:$A,0),MATCH("A20",$1:$1,0))

您可以替换"硬编码"具有单元格引用的"S7""A20"的值,因此允许您将标题放在这些单元格中以返回正确的值。

答案 1 :(得分:1)

这是接受Model和sX值的代码,为您提供表的输出,

Sub searchTable()
Dim i As Long, j As Long
sx = InputBox("Enter sX value")
Model = InputBox("Enter the model")
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    If Cells(i, 1) = sx Then
        Exit For
    End If
Next i
For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
    If Cells(1, j) = Model Then
        Exit For
    End If
Next j
'This is the value that you need, which can be used somewhere in your program
MsgBox Cells(i, j)
End Sub