• 締切済み

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/7941)
回答No.5

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

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

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

回答No.3

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

回答No.2

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

回答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

専門家に質問してみよう