• 締切済み

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

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

みんなの回答

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

こんばんは! VBAになってしまいますが、一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) ※ 必ず範囲指定したのちにマクロを実行してください。 Sub 数字消去() 'この行から Dim c As Range Dim k As Long Dim str As String Dim buf As String For Each c In Selection For k = 1 To Len(c) str = StrConv(Mid(c, k, 1), vbNarrow) If Not str Like "[0-9]" Then buf = buf & str End If Next k c = buf buf = "" Next c End Sub 'この行まで ※ 一旦マクロを実行すると元に戻せませんので別Sheetでマクロを試してみてください。 ※ 万一コード以外(店名)に数字がある場合はその数字も消えてしまいます。 ※ 上記コードは1文字ずつ舐めるように検索していますが、 コードが必ず9桁で、コード+店名のように決まった位置にあればもっと簡単にできます。 まずはこの程度で・・・m(_ _)m

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.5

こちらもマクロでやらせてしまった方が簡単そうですが,代わりにワードを使ってみます。 手順: 「9桁の数字と店名称」が記入されたセル範囲をふつーにコピーする ワードを開いてふつーに貼り付ける Ctrl+Hで置換のダイアログを出す ダイアログのオプションを開き,あいまい検索のチェックを外し,ワイルドカードのチェックを入れる 検索する文字列欄に [0-9]{9} と記入,置換後の文字列欄には何も記入せずに,すべて置換する 「9桁の数字」だけ抹消されるので,コピーしてエクセルに貼り戻して完成。

  • since_1968
  • ベストアンサー率24% (254/1053)
回答No.4

セルにどう入力さているかにも寄りますが 「12345東京営業所」「54321大阪支店」のように全てのデータのコードの桁数が同じであれば、 メニューのデータにある「区切り位置」使えば不要な部分は削除できますよ 例えば、変更したい列を範囲していし、「区切り位置」指定して、「固定長」選び「次へ」をクリック 「54321大阪支店」の1と大の間をクリックするとラインがでます、そのラインで文字列を2つに分けます 「次へ」をクリックすると2つに別れますので、不要な方の列を列データ形式で「削除する」選んで「完了」クリックすれば「大阪支店」となります。 あとは関数式で文字操作のLEFT() RIGHT()などを使うこともできます

  • chie65535
  • ベストアンサー率43% (8520/19368)
回答No.3

それと >現在は全店の店名セルを選択して、「1」→「」(文字なし)、「2」→「」と、数字を一文字ずつ置換で消している は、問題があります。というか、それは「やっちゃ駄目」です。 店名が「001257814新宿2丁目店」だった場合、それをやると「新宿丁目店」になっちゃいます。 もし 001257814新宿2丁目店 001257835新宿4丁目店 001257896新宿ビル店 001257904新宿45ビル店 とかがあったら 新宿丁目店 新宿丁目店 新宿ビル店 新宿ビル店 になっちゃって、何が何だか訳が判らなくなってしまいます。

回答No.2

それはソレハ気が遠くなるお話、、、 空いてる列に店名だけを取り出す、 =RIGHT($A2,LEN($A2)-9)、(これを好きなだけ下にコピー) このセルをどば~っと、コピーし、元になったセル(列)に値だけを貼り付けちゃう、、、 ちょびっと改善したみたいな気分、になったでしょうか、、、

  • chie65535
  • ベストアンサー率43% (8520/19368)
回答No.1

1. まず、店名が入っている列の右隣に「挿入」⇒「列」で、空いている列を足します。 例えば、店名がB3~B430に入力されているなら、B列の右に「C列」を挿入します。 2.A.店名セルが「○○店123456789」のようになっている場合。 C3セル(B列の店名が入っている列の、一番上の店名の、1つ右)に =LEFT(B3,LEN(B3)-9) と言う式を書きます。 2.B.店名セルが「123456789○○店」のようになっている場合。 C3セル(B列の店名が入っている列の、一番上の店名の、1つ右)に =RIGHT(B3,LEN(B3)-9) と言う式を書きます。 3. C3セルを、C4~C480にコピーします。 4. C3~C480セルを範囲指定します。 5. 「編集」⇒「コピー」で、C3~C480セルを点滅状態にします。 6. B3セルを選択します。 「編集」⇒「形式を指定して貼り付け」⇒「値」で貼り付けします。 7. 「列の削除」で、C列を削除します。

関連するQ&A

  • エクセルでセルに入っている数字と数字を|でつなぎ一つのセルに

    横に並びあう複数のセルに文字列で5桁の数字が入っています。 これらを"|"をつかってつなげ、一つのセルに入れたいのですが、 いい方法はないでしょうか。 ▼最終形がこのようになり、一つのセルに入れたいのです。 20432|20433|20434 どうぞよろしくお願いいたします。

  • excel2003の置換について質問です。セル内の一部の文字を置換する

    excel2003の置換について質問です。セル内の一部の文字を置換する方法を教えてください。EX ○○します→○○する(同一セルの中の”します”の部分のみ”する”に換えたい) 数式ではない方法を教えてください。

  • エクセルで数字だけを消すことはできないでしょうか

    エクセルで1つのセルの中に数字と文字の両方が あります。数字だけを消したいのですが。数字 は数式の結果ではありません。 数字はすべて同じ物ではないので、置換は使え ませんでした。 このサイトにもある、編集→ジャンプ→定数・ 数式も利用してみましたが「該当するセルがあ りません」と表示されてしまいます。 この二つ以外の方法はありませんか?

  • 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件程あるので、一括置換えができると とても時間短縮になるのですが、、、。 置換えでなく、他の方法で変換が出来るのでしたらそちらも 教えて頂ければと思います。 (難しいマクロとかはやったことがないのでできましたら関数の応用などで 出来るやり方を教えて頂ければ有難いです。) 宜しくご指導お願いします。!!

  • Excel2003でセル内の空白を置換以外の方法で消す方法を教えてください。

    Excel2003で、セル内の空白を削除しようとしています。 置換で空白を消そうとすると、置換後のセル内の文字数が911を超えているので、「数式が長すぎます」というメッセージが出て置換ができません。 方法が分からないので、手でひとつひとつセルの中の空白部分を削除しているのですが、まとめて消す方法はありますでしょうか? よろしくお願いいたします。

  • エクセルのセル内の1文字を置換で「セル内改行」コードにする

    お世話になります。 エクセルのセル内の1文字を置換で「セル内改行」コードにしたいのですが、 置換側の「ALT+改行」のコードが解りません。 宜しくお願いいたします。

  • 置換のことで

    エクセルの置換のVBAのことですが。 あるシートに沢山の文字列が入力されています。 abcという文字列が含まれるセルの最後の部分は、必ず以下のようになります。 カンマ 半角スペース 数字 カンマ 半角スペース 数字  閉じカッコ  ,             13    ,            56       ) 数字はばらばらで、1桁か2桁のどちらかで0はないです。 このような状況で、閉じカッコの左側の数字を全て 1 に置換するVBAが知りたいのですが。

  • Excel2002 一桁数字だけ全角に置換

    Excel2002 一桁数字だけ全角に置換 したいのですが、どうすればよいのでしょうか? 数字はすでに打ち込まれており、全て半角で、仮名も交じった文章です。 一桁数字を全角に 1→1 二桁以上の数字は半角のままにしたいのですが・・ 宜しくお願いします。

  • エクセルの置換について

    セルに次のような数式が入っているときに数式の部分だけ置換する方法がありましたらご指導お願いします。 [B1] =SUM(A1+A2) →置換後 =A1+A2 [B2] =SUM(A10+A20) →置換後 =A10+A20 [B3] =SUM(A100+A200) →置換後 =A100+A200 置換する方法は「編集」-「置換」で 検索する文字列と置換後の文字列が分かりません。 SUM(で置換をかけると数式エラーで置換が出来ず SUM(*)で置換をかけると当然ですが全て消えます。 お手数ですが宜しくお願致します。

  • エクセル(置換)

    文字の置換をしたいのですが検索→置換ができません。 セルの書式設定でも上手くできませんでした。 どのような方法がありますか? 表には空欄もあります。 置換したいのはそれぞれの縦列です。 置換前の文字(数字)は異なっています。 よろしくお願いします。

専門家に質問してみよう