4
Contract No Price
D/019/09    17.85
D/019/09    17.85
D/019/09    17.85
D/019/09    17.85
D/023/09    17.85
D/023/09    17.85
D/026/09    0
D/026/09    0
D/038/11    20.6
D/038/11    20.6
D/038/11    20.6

上記はデータ系列の例です...そして、各固有の契約番号の最後の出現だけを保持したいと思います。上記の例では、D/023/09 17.85、D/026/09 0、および D/038/11 20.6 のみを保持したいと考えています。したがって、一意の値は 3 つだけである必要があります。それを行う最も効率的な方法は何ですか?

4

3 に答える 3

0

以下のコードを試してください。VBA の使用

ここに画像の説明を入力

Sub sample()

    Dim lastRow As Long, j As Long
    lastRow = Range("A65000").End(xlUp).Row

    j = 1
    For i = lastRow To 2 Step -1
        If Cells(i, 1).Value <> Cells(i + 1, 1) Then
            Cells(i, 1).Copy Cells(j, 3)
            Cells(i, 1).Offset(0, 1).Copy Cells(j, 4)
            j = j + 1
        End If
    Next
End Sub
于 2013-04-18T07:25:59.203 に答える
0

ここでは vba は必要ありません... 列 C を追加し、「Check」という名前を付けます。次の数式をセル C2 に挿入します。

=if(A2<>A3,1,0)

その式をデータ範囲の終わりまでコピーするよりも。次に、列 C の 0 にフィルターを適用します。すべての行を削除すると、それが得られます。

前のシート:

ここに画像の説明を入力

次の後のシート:

ここに画像の説明を入力

于 2013-04-18T07:23:22.367 に答える