- ベストアンサー
Excel 関数 置換をしたい
たとえば○,△,□,☆が点在しており、 ○→丸,△→三,□→四,☆→星,に置換したい場合に何か有効な関数はありますか? 具体的にはシート1 A B C D E 1 △ 2□ 3○ ☆ 4 を シート2で下記のようにしたいです A B C D E 1 三 2四 3丸 星 4 だれかお知恵を拝借させてください
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
また登場のNo.3です。 では、ifとvlookupを組み合わせてみましょう。 例えばSheet3のA1からB4にマスター表を作ったとします。 そしてSheet2のA1セルに下記式を入力。 =IF(Sheet1!A1="","",VLOOKUP(Sheet1!A1,Sheet3!$A$1:$B$4,2,0)) あとはコピーするだけです。 置換候補が実際はもっとあるようですので、マスター表の5行目以降に必要な分だけ追加して使ってください。 老婆心ながら、vlookup関数の引数、範囲のところ、絶対参照にすることを忘れずに ^-^ これでいかがでしょうか。
その他の回答 (5)
- Yorisin
- ベストアンサー率54% (364/663)
Sheet1に入力されている場合に、 データをSheet2にコピーして置換するマクロを作ってみました。 シート全体に対して置換をするので、データの個数や位置に制限はないはずです。 ご参考にどうぞ。 Cells.Select Range("C10").Activate Selection.Copy Sheets("Sheet2").Select ActiveSheet.Paste Selection.Replace What:="○", Replacement:="丸", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="△", Replacement:="三", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="□", Replacement:="四", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Replace What:="☆", Replacement:="星", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Application.CutCopyMode = False Range("A1").Select
- reiho-fuji
- ベストアンサー率30% (149/481)
もしVBAを使っていいのならこんなところでしょうか。 (すでにSheet2に記号が入力されており、Sheet2のA1セルから横10列×縦20行の範囲の変換の場合です。) これをSheet2で実行すれば変換されます。 必要に応じて変換範囲の列数・行数を変えられます。 ご参考までにどうぞ。 Sub henkan() Dim Col As Integer Dim Row As Integer For Col = 1 To 10 For Row = 1 To 20 If Cells(Row, Col).Value = "○" Then Cells(Row, Col).Value = "丸" ElseIf Cells(Row, Col).Value = "△" Then Cells(Row, Col).Value = "三" ElseIf Cells(Row, Col).Value = "□" Then Cells(Row, Col).Value = "四" ElseIf Cells(Row, Col).Value = "☆" Then Cells(Row, Col).Value = "星" End If Next Row Next Col End Sub
- kerogiro
- ベストアンサー率33% (51/152)
関数で。とのことですのでIF関数での紹介をいたします。 Sheet2のA1セルに下記式を入力。 =IF(Sheet1!A1="○","丸",IF(Sheet1!A1="△","三",IF(Sheet1!A1="□","四",IF(Sheet1!A1="☆","星","")))) あとはコピーするだけです。 これでいかがでしょうか。
補足
すいません。 実は、その置換が100個ぐらいあるのですが、 ほかに対策があればと思い登校した次第です。
- mu2011
- ベストアンサー率38% (1910/4994)
文字列毎に「編集→置換→検索文字列、置換文字列→全て置換」を繰り返す事になりますが駄目でしょうか。
- hallo-2007
- ベストアンサー率41% (888/2115)
置き換えの機能ではダメなのでしょうか。 A~E列選択して、ツールバーの 編集=>置き換え 検索する文字列 ○ 置き換える文字列 丸 全てを置き換え 実行してみてください。 他同様の作業になります。
補足
ありがとうございます。挑戦してみます。