-1

馬の名前とライダーを他のシートの同じペアと一致させる必要がある馬のショー ポイント スプレッドシートがあります。1列目が馬名、2列目が騎手名で、同じ馬/騎手ペアの別シートの合計点を表示したいと思います。

したがって、sheet1'row1 column 3 は、シート 2 から同じ馬/ライダーのペア (列 a および b) を見つけ、合計ポイントを表示する必要があります (これは、その馬/ライダーのペアがリストされている行の sheet2 列 q に合計されます)。 )。

このような数式の作成をどこから始めればよいかわかりません。vlookupを試してみましたが、2列の配列を作成して、それを別の配列と比較することはできないようです。これは、私がやろうとしていることだと思います。

4

2 に答える 2

0

VBA を使用する場合は、新しいモジュールを挿入してこのコードをコピーできます。その後、セル内で=GetPointTotal( HorseCell, RiderCell)を使用して関数を使用できます。

Option Explicit

Function GetPointTotal(horseRange As Range, riderRange As Range)

    Dim cell As Range, searchRange As Range
    Dim displaySheet As Worksheet, pointSheet As Worksheet
    Dim iEndRow As Integer
    Dim horseCol As String, riderCol As String, pointCol As String, points As String
    Dim b As Boolean


    'Configuration
    Set displaySheet = ThisWorkbook.Worksheets("Sheet1")
    Set pointSheet = ThisWorkbook.Worksheets("Sheet2")
    horseCol = "A"
    riderCol = "B"
    pointCol = "Q"
    'EndConfiguration

    iEndRow = pointSheet.Range(horseCol & 1).End(xlDown).Row
    Set searchRange = pointSheet.Range(horseCol & 1 & ":" & horseCol & iEndRow)

    b = False
    For Each cell In searchRange
        If b = True Then Exit For
        If cell.Value2 = horseRange.Value2 Then
            If cell.Offset(0, 1).Value2 = riderRange.Value2 Then
                points = pointSheet.Range(pointCol & cell.Row).Value2
                b = True
            End If
        End If
    Next cell

    GetPointTotal = points

End Function
于 2013-09-22T19:52:31.503 に答える