1

約 900 行のデータを含む Excel シートがあり、列の 1 つを実行し、その列の内容を現在の列の内容に応じて別の値に置き換える必要があります。

たとえば、列 F に次の値が入力されているとします:
Adj/Aviation & Transportation
Adj/Aviation & Transportation
Adj/Aviation & Transportation
Adj ESL Instructor
Adj/ESL
Adj/Aviation & Transportation
Professor/Aviation
Professor-Aviation
Associate Chair, Professor
Professor
Prof/ Aviation & Transportation
Adjunct Professor
Professor
Professor
Adj/Aviation
Professor
Dir Master's Prog/Assoc Prof
Chair/Assoc Prof/Aviation&TS
Adj Ass Prof/Aviation
Assistant Professor/Aviation
Adj.Asst. プロ航空

この列を実行したいのですが、セルの 1 つに「Aviation」という値が含まれている場合、そのセルの内容をクリアして、代わりに「Aviation & Transportation」と入力します。

誰かがこのタスクを達成する方法を教えてくれたら、それは世界を意味するでしょう!

4

3 に答える 3

1

新しい列を追加し、次のような数式を入力します。

=IF(NOT(ISERROR(SEARCH("Aviation",B1))),"Aviation & Transportation",B1)
  • これはテストされていません。Excelに入れていないので、構文を調整する必要があるかもしれません。しかし、それはあなたを正しい方向に向けるべきです。
于 2012-11-12T00:25:59.597 に答える
1

これを試して

 Sub replace()
    Dim Rws As Long, Rng As Range, c As Range
    Rws = Cells(Rows.Count, "F").End(xlUp).Row
    Set Rng = Range(Cells(1, 6), Cells(Rws, 6))

    For Each c In Rng.Cells
        If c Like "*Aviation*" Then c = "Aviation & Transportation"
    Next c
End Sub

VBAコードでオートフィルターを使用することもできます。

開始 ここに画像の説明を入力してください 結果 ここに画像の説明を入力してください

オートフィルターコードを使用します。

Sub Button1_Click()
    Dim Rws As Long, Rng As Range, c As Range
    Rws = Cells(Rows.Count, "F").End(xlUp).Row

    Columns("F:F").AutoFilter Field:=1, Criteria1:="=*Aviation*"
    Set Rng = Range(Cells(2, 6), Cells(Rws, 6)).SpecialCells(xlCellTypeVisible)
    Rng.Value = "Aviation & Transportation"
    ActiveSheet.AutoFilterMode = 0

End Sub
于 2012-11-12T11:25:58.343 に答える
1

実際、私はより良い解決策を持っています。[検索..置換] メニューでワイルドカードを使用できます。

Ctrl F > Replace > Enter*Aviation*を押してから、セルの値を置き換えたいものを入力します。私はそれをテストし、それは動作します。大文字と小文字の区別を有効または無効にすることができます。

于 2012-11-12T00:30:16.630 に答える