• ベストアンサー

Eecel エクセル 置換え

Excelのデータを毎週、商品名「英語⇒日本語」に換えています。 「置換」をつかっても2時間かかる作業なのに、データの商品名の9割が毎週同じ・・。 前回の置換データを保存して、翌週1発置換えは可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

置き換えの内容を別シートのセルに表にしておいて、VLOOKUP関数では駄目なんでしょうか? http://www.yoshikawa.co.jp/ybs/skilup/ybs0308.htm 表示された日本語の表品名を、コピーして値として貼り付けすればいいと思いますし これなら、数式を一つ用意してコピーすればいいです。

um0378
質問者

お礼

こんなに早くご回答いただき有難うございます。 いろいろな方法があることをあらためて知りました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 横からお邪魔します。 No.1さんとNo.2さんのいいトコ取りになりますが、 VBAでやってみてはどうでしょうか? Sheet1のA列に置換したい商品名(英語名)が入っていて、Sheet2のA列にそのデータ(英語名)・B列に置換後のデータ(日本語名)を作成しておくとします。 どちらのSheetも2行目からデータが入っているとします。 画面左下にあるSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 Sub test() Dim i, j As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") Set ws2 = Worksheets("sheet2") For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row For j = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row If ws1.Cells(i, 1) = ws2.Cells(j, 1) Then ws1.Cells(i, 1) = ws2.Cells(j, 2) End If Next j Next i End Sub 尚、一旦マクロを実行すると元に戻せませんので、別Sheetにコピーしてマクロを試してみてください。 もし、セル内の特定文字だけを置換したいのであればコードは変わってきます。 以上、参考になれば良いのですが・・・m(__)m

um0378
質問者

お礼

ご連絡有難うございます。恥ずかしながら、マクロを使ったことがなかったので、あらためて凄さをしることができました。 ただ、この関数を貼り付けてもうまくいきませんでした。 おそらく私のやり方に問題があると思いますので、再度勉強してみます。 有難うございました。

すると、全ての回答が全文表示されます。
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.2

ほとんど同じ事を繰り返しているのでしたら、マクロ登録してはいかがでしょう。 記録マクロと言って、操作した手順を記録して、同じ手順を繰り返すだけの簡単な物で十分と思います。 ツール → マクロ → 新しいマクロの記録 → (マクロ名を付ける…「商品名置き換え」など) → OK これで操作手順を記録する準備ができました。 画面上には記録を停止するボタンが表示されたダイアログが表示されていますので、全ての手順が終了したらボタンをクリックしましょう。 編集 → 置換 → 検索する文字列を入力 → 置換後の文字列を入力 → 全て置換 → 検索する文字列の入力に戻る 置換が終わったら、記録停止のボタンをクリックする。 手順を再生するときは ツール → マクロ → マクロ → 「商品名置換」を選ぶ → 実行 これでOK。 新しく手順を追加するときは、マクロをもう一つ作ると良いでしょう。 次からはマクロを選んで実行するだけで済みます。 難しいことはありませんので、試しに記録マクロを作ってみてはいかがでしょう。 なかなか便利ですよ。

um0378
質問者

お礼

早速の回答、本当に有難うございます。 一度、試してみます。

すると、全ての回答が全文表示されます。

関連するQ&A