0

私は Excel に少し慣れていないので、このタスクを実行するために数式またはマクロが必要かどうかわかりません。

「Jane Smith」のすべてのインスタンスを見つけて、それを彼女の従業員 ID、たとえば 513 に置き換える必要があります。

名前は列 A にのみ表示され、複数のインスタンスが存在する可能性があるため、列 A の下のすべてのセルを検索する必要があります。複数の従業員に対してこれを行う必要があるため、大きなIf/Then/Else. ありがとう!

4

3 に答える 3

1

VLOOKUP名前がセル内の唯一のテキストである場合は、数式を調べることができます。

于 2013-02-08T22:36:00.843 に答える
0

あなたが卓越するのが初めての場合、あなたは他の場所で答えられているようなVBAソリューションを探していません。

最も簡単な方法.....「JaneSmith」を「513」に置き換えたい場合は、次のようにします。1.セルA1に移動します。2。Ctrl +スペースバー(列Aを強調表示します)3。Ctrl + H(検索/置換ウィンドウを開きます)4。検索に「JaneSmith」を入力し、置換に「513」を入力します。

やることが少ししかない場合は、これが最適な方法です。

数式を使用してこれを正しい方法で実行する場合は、次のようにします。1)2列の新しいタブを作成します。列Aに、すべての従業員名を入力します。列Bに、対応する従業員番号を入力します。従業員が10人の場合、テーブルはA1からB10まで実行されます。タブをダブルクリックして「tab2」という名前を付けます

2)現在のタブまたはファイルで、セルA1に移動し、列を挿入します(Alt + I + C)。これで、新しい空白の列Aが作成され、すべての名前が列Bに表示されます。たとえば、すべての見出しが終わった後、名が5行目から始まるとします。したがって、あなたの名は仮想的にセルB5にあります。

3)新しい空白の列AのセルA5で、次の数式を使用します。

=VLOOKUP(B5,'tab2'!$A$1:$B$10,2,0)

この数式は、セルA1〜B10の「tab2」を検索して、セルB5でリンクしたものを見つけます。これは「JaneSmith」のような名前になります。このデータはtab2の列Aにあり、2番目の列を調べます。末尾のゼロは、正確な結果のみを使用するように数式に指示するだけです。

-数値を新しい列Bに残したい場合は、これを行う方法はたくさんあります。たとえば、新しい列Aを挿入し、列Bを列Aにコピーしてから、列Bにvlookup式を記述し、列を見落とします。 A.しかし、これで始められるはずです。

于 2013-02-22T08:32:03.493 に答える
0

うーん、これを試してください:

Sub Test()
    Dim empVal As Range
    Dim employee As String: employee = "Jane Smith"
    Dim replaceStr As String: replaceStr = "513"
    Do While Not empVal Is Nothing
    Set empVal = activSheet.Columns(1).Find(What:=employee, LookIn:=xlValues, _
                    LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                    MatchCase:=False, SearchFormat:=False)
        If Not empVal Is Nothing Then empVal = replaceStr
    Loop
End Sub

これは、"Jane Smith" のすべての一致を検索し、それを彼女の employeeID に置き換えようとします。

于 2013-02-12T04:23:01.990 に答える