2

これが可能かどうかはわかりませんが、ここに投稿するように勧められており、回答の可能性が最も高い場所です。

次のようにExcelに4つの列があります

A: all product id's
B: reference No.
C: selected product id's
D: product codes.

私がやりたいことは、列 A で列 C の ID を検索し、一致する場合は、列 D の検索から列 D の対応する行に名前を変更することです。列 A の製品 ID は最大 8 回まで繰り返すことができます。

それが理にかなっていることを願っており、できる限りすべての質問に答えようとします. 私は基本的なこと以外にExcelについて何も知らないので、誰かがこれに光を当てることができれば、私は感謝します.

4

3 に答える 3

1

これを試して:

の前に新しい列を挿入しますA。これで、すべての列が 1 つ上に移動しました。つまり、あなたAは今Bなどです。

現在、セル内A1(新しく挿入されA1た であり、現在の元の A1 ではありませんB1)

=VLOOKUP(B1, $D$1:$E$1000, 2, 0)

あなたの最後の行はどこ1000ですか。数式を下にドラッグします。

AID が col にあるが colにない場合にどうなるかを指定していませんC。Col の状態のままにしたい場合は、A代わりに次の式を使用します。

=IF(ISNA(VLOOKUP(B1, $D$1:$E$1000, 2, 0)), B1, VLOOKUP(B1, $D$1:$E$1000, 2, 0))
于 2012-11-05T15:00:50.207 に答える
0

それで、あなたのデータはこのようなものですか?私はあなたの期待される結果が何であるかを理解していませんか?

A  B    C  D    expected result
1  101  1  201  ?
1  102  4  204
2  103
3  104
3  105
4  106
于 2012-11-05T15:19:14.750 に答える
0

これでうまくいくはずです:

Sub test()

LastRowA = Cells(Rows.Count, "A").End(xlUp).Row
LastRowC = Cells(Rows.Count, "C").End(xlUp).Row

For i = 1 To LastRowA
    For j = 1 To LastRowC
        If Range("A" & i).Value = Range("C" & j).Value Then
            Range("D" & i).Value = Range("C" & j).Address(False, False)
        End If
    Next j
Next i

End Sub
于 2012-11-05T15:04:43.753 に答える