Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何查找多个数据并从查找位置返回相应的数据。另外,VBA中VLOOKUP还有哪些更快的替代方案?_Excel_Vba - Fatal编程技术网

Excel 如何查找多个数据并从查找位置返回相应的数据。另外,VBA中VLOOKUP还有哪些更快的替代方案?

Excel 如何查找多个数据并从查找位置返回相应的数据。另外,VBA中VLOOKUP还有哪些更快的替代方案?,excel,vba,Excel,Vba,如何从查找数据中查找所有数据并从查找位置返回“House”数据。我使用了以下代码,但速度很慢,它只是将数组公式粘贴到单元格上 .Cells(12 + i, 3).FormulaArray = "=INDEX($G:$G,MATCH(B4 & C4 & D4,$H:$H & $I:$I & $J:$J,0))" 我想到的其他想法是,连接查找数据和查找位置,然后使用查找获得相应的数据 使用VBA查找多个数据有没有更快的方法? 这是所需的代码。我

如何从查找数据中查找所有数据并从查找位置返回“House”数据。我使用了以下代码,但速度很慢,它只是将数组公式粘贴到单元格上

.Cells(12 + i, 3).FormulaArray = "=INDEX($G:$G,MATCH(B4 & C4 & D4,$H:$H & $I:$I & $J:$J,0))"
我想到的其他想法是,连接查找数据和查找位置,然后使用查找获得相应的数据

  • 使用VBA查找多个数据有没有更快的方法?

    • 这是所需的代码。我使用的是数组,而不是更快的范围。如果需要找到3个以上的值,您可以调整外循环。请检查。它对我有用

      Public Sub MultipleMatch()
      Dim arr As Variant, arr2 As Variant, i As Byte, j As Long
      With Sheets("Sheet4")
      arr = .Range("G4:J" & .Cells(1048576, "G").End(xlUp).Row).Value
      arr2 = .Range("B4:D6").Value
      For i = 1 To 3
          For j = LBound(arr, 1) To UBound(arr, 1)
              If arr(j, 2) = arr2(i, 1) And arr(j, 3) = arr2(i, 2) And arr(j, 4) = arr2(i, 3) Then
                  .Cells(i + 13, 2).Value = arr(j, 1)
                  Exit For
              End If
          Next j
      Next i
      End With
      End Sub
      
      看见