• ベストアンサー

EXCELの置換 方法

前回も似たような質問をさせていただいたのですが、 また似たような処理が出てきてしまったので質問させてください!! もしお分かりになる方がいらっしゃいましたらアドバイスいただけると嬉しいです。 よろしくお願いします!! コード番号の一括置換えをするにはどうすれば良いのか教えてください。!! <例> 00000X0-0 00111T0-1 00200S0-0 00003K0-0    ・    ・    ・    ・ 上記のような数字5桁/英字1文字/数字1桁/ハイフン/数字1桁 で表記されるコード番号があります。 このコード番号を数字3桁/英字1文字/数字2桁/ハイフン/数字2桁 で一括置換えしたいのですが、それは可能でしょうか? <例> 000X00-00 111T00-01 200S00-00 003K00-00 *英字の次の数字とハイフンの次の数字は“0”が挿入されます。 (下線の箇所です。) コード番号の数が600件程あるので、一括置換えができると とても時間短縮になるのですが、、、。 置換えでなく、他の方法で変換が出来るのでしたらそちらも 教えて頂ければと思います。 (難しいマクロとかはやったことがないのでできましたら関数の応用などで 出来るやり方を教えて頂ければ有難いです。) 宜しくご指導お願いします。!!

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

一列を作業用にして数式を使っていいなら B2=MID(A2,3,4)&"0"&MID(A2,7,2)&"0"&RIGHT(A2,1) または B2=REPLACE(REPLACE(MID(A2,3,7),4,1,MID(A2,6,1)&"0"),7,1,"-0") または B2=SUBSTITUTE(SUBSTITUTE(MID(A2,3,7),MID(A2,6,1),MID(A2,6,1)&"0"),"-","-0")

mizu72
質問者

お礼

mshr1962様 ご回答有難うございます。 教えて頂いた数式で一括変換が出来ました!! 関数の組合せ(MIDとか、REPLACEなど。。。) で今まで地道にコツコツと単純に置換をしていた作業から開放されました。 今日教えて頂いた関数は全然知らなかったです。 関数の奥の深さを実感しています。 今後もEXCELの裏技教えて下さい。 宜しくお願いします。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 コード列をA列(A1からデータが入力されているとします)とし、B列を作業列とします。 (1)B1に=REPLACE(RIGHT(A1,7),6,1,"0-0") (2)B1のフィルハンドル(セル右下の■)をダブルクリック (3)B列を選択→コピー→A列を選択→形式を選択して貼り付け→値のみにチェック→OK (4)B列を削除

mizu72
質問者

お礼

mu2011様 ご回答有難うございます。 とても分かり易い文面で理解しやすかったです。 関数もとてもシンプルですが、一括変換出来たときは 感動しました。 変換作業の時間を大幅に短縮できて大助かりです。 今後も解らない関数がありましたら、また教えてください。 宜しくお願いします。

関連するQ&A

  • Excelで置換が意図したようにできない(ハイフンを消したい)

    Excel97です。 電話番号のデータからハイフンを取りたいので 置換で検索する文字列に「-」、置換後の文字列に 何も入れないで置換を押したら頭1ケタの0(ゼロ)まで 消えてしまいました。書式設定は文字列にしました。 ハイフンを消す方法は他にもあるとは思いますが、 どうして上記のような現象になってしまうのか 知りたいです。お願いします。

  • 置換方法について

    MACアドレスの12桁 (例) 123456789012 を (例) 12-34-56-78-90-12 のようにハイフン付きで置換したいのですが、 このような置換方法をご存知の方いましたら、 ご教授の程、よろしくお願いいたします。

  • Excelの一括置換

    Excelの一括置換機能を使って*を任意の数字に置換したいのですが、 *はワイルドカードと認識して、*でないものも置換されてしまいます。 これを*のみ認識して置換する方法を教えてください。 よろしくお願いします。 例 P*1 T*1 Q*1 P*2 T*2 Q*2 ↓*を1に置換すると 1 1 1 1 1 1 となってしまう

  • Excelの置換機能で文字列の部分削除

    Excelの置換機能を使って、あるパターンの文字列の特定の部分のみ削除すると言うことは可能でしょうか? <文字列例> AB01234-56789 のハイフン以下(-56789)のみを削除したい 対象の文字列パターンは、最初の2桁がアルファベットで固定、そのあと数字が5桁(ユニーク)続き、ハイフン、その後ユニークな文字列(数字5桁) さらに言うと、ファイル内にはこのパターン以外の文字列も存在している(ハイフン含む)ので、上記のパターンの文字列のみをマッチングさせ、ハイフン以下を削除したいのです。 やはり、VBAとかで正規表現使わないと無理ですかね?? 数万件の大量のデータの中から上記処理をせねばならず困っております・・ ご教授いただけると幸いです。

  • エクセルでの置換方法

    エクセルにて (例)B2セルで06-52525のように、ハイフン後の数値が5なら06の前にKを挿入し (例)B5セルで06-12345のようにハイフン後の数値が1なら06の前にGを挿入し C列のような結果を得たいと思っています。 置換(挿入)方法をご存知でしたら教えて頂きたく、ご教授お願いします。

  • エクセル置換?方法を教えてください

    エクセルで置換?というのか良く解りませんが、やりたい事は次のような事です。 セルA1にSA-123456という様に最初の二桁は英文字、-の後6桁の数字があります。その最初の二桁目の英文字にはA,B,C,Dのいずれかが入ります。このA,B,C,Dを判断して隣のB1セルにAの場合数字の1をBの場合2をという具合にA,B,C,Dに対し1,2,3,4を隣のセルに入れたいのですが宜しくお願い致します。

  • Excelの置換でセル内にある数字を全部消したい

    複数店舗の売上データを会社のシステムでExcel出力すると、一つのセル内にお店のコード(数字9ケタ)と店名が一緒に入って出てきます。 この数字のコードが長くてじゃまなので、店名だけを残してコードを全店分消したいのですが、現在は全店の店名セルを選択して、「1」→「」(文字なし)、「2」→「」と、数字を一文字ずつ置換で消しているので、0~9まで10回置換してる状態です。 きっともっと簡単に数字だけ消す数式とかがあるのでしょうが、過去の質問を検索してもよくわかりません。 どうやったら数字のみをまとめて消せるのでしょうか?

  • Excel VBAでの置換の方法について

    Excelの各シートのA5:A104の列に文字列で「●着/●頭」というデータが入力されています。●は半角の1~2桁の数字になります。 例えば、 A5「5着/10頭」 A6「3着/12頭」 A7「6着/7頭」 といった文字列です。これを置換を使って「着」と「頭」を消して A5「5/10」 A6「3/12」 A7「6/7」 と表示されるようにしたいのですが、VBAで良いコードがありますでしょうか。シートは16ページあり、シート名は数字の1~16です。

  • アクセスでの置換について

     初歩的な質問ですいません。 アクセスで以下の一括で置換をしたいと考えています。 過去の記事を読んでも、いまひとつ理解できなかったので、ご存じの方はご回答下さい。 置換前     置換後 1701~1800 → 1701 1801~1900 → 1801 (中略) 25901~26000 → 25901 (4桁又は5桁の数字)~(4桁又は5桁の数字)の 羅列を~の手前の数値だけにするというものです。 ただし、1701未満とか26001以上など、それ以外の書式のものもあり、それは置換しないというものです。

  • 桁数が混在する並び替えの方法

    EXCEL2007です。関数やマクロについてはこんなものがあるんだぁ~程度の知識しかありません。そこで質問です。 以下の数字の並び替えできる方法がわかりません。 単純にEXCELのコマンド操作でできるのでしょうか? それとも関数やプログラムを必要とするのでしょうか? もし関数やプログラムが必要であるならば、がんばって勉強してみようと思ってます。(勉強はするつもりでも、なにが必要かもよくわかっていません。) 並び替えしたい数字は以下のような数字が混在します。 桁数が違う 1桁のものや、2桁~6桁のものが混在する 例 1or12or345or645874 など ハイフンがあるのとないものがある。 例 1-1or1-2or345 順番はまずハイフンの前の番号が若い順に並べたい。 次にハイフンより前の番号が同じものについては、ハイフン後の番号の順番に並べたい。ハイフンが2回重なる場合がある。以下の例を並び替える場合まず一番始まりのハイフン前の若い順に並べるまず4番次に26番次に100番次に226番となり次は1番はじめのハイフンの順番で最後は一番最後のハイフンの順番で以下の例のように並びかえたいです。 1番 4 2番 4-3-5 3番 4-25-2 4番 26-13-6 5番 26-13-21 6番 100 7番 226-8-9 8番 226-15-31 しかしEXCELでは表示形式は文字列にしないと、ハイフンは入力できず、次に並びかえようとすると桁数がバラバラなので 一番初めの数字が桁数より優先されてしまい上記の例ですと本来並びかえたい上の例とは違い。 6番 100 8番 226-15-31 7番 226-8-9 5番 26-13-21 4番 26-13-6 1番 4 3番 4-25-2 2番 4-3-5 と並んでしまいます。理由がわかる方教えていただけませんか??? またどのようにすれば解決するのでしょうか?

専門家に質問してみよう