• ベストアンサー

エクセルで頭に入っている文字列だけを削除する方法

エクセルで列に対して、文字列を削除する方法を教えて下さい。セルA1には100010001、A2には100010532、A3には100002310など、A列のあたまには、必ず1000が入力されています。 この文字列の頭の1000を一括で削除したいのですが、A列を指定して、1000を「データ無し」に置換してしまうと、A1のように100010001が1になってしまうなど、たまたま入っていた先頭ではない同じ文字列も置換されてしまいます。 頭に入っている文字列だけを削除する方法を教えていただきたいです。 どうぞよろしくお願い致します。

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

  • ベストアンサー
  • jellya_a
  • ベストアンサー率35% (12/34)
回答No.2

例えばですが、A1~AXXまで数字が入っているとして 頭の文字数が決まっているのであれば、 B1のセルに =mid(A1,5,len(A1)) と入れて下までオートフィルターを行い、 最後にB1のセルをコピー→形式を選択して貼り付け→値 にしてはいかがでしょう。

nao21213
質問者

お礼

回答ありがとうございます。 貼り付け部分まで御説明いただいたので、わかりやすかったです。 この方法でやれました。

その他の回答 (6)

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.7

回答番号:No.6です >矢印(10の下の縦線)をドラッグして1000の右に移動して<を修正します。 1000の右側をクリックすると矢印が入ります。

nao21213
質問者

お礼

回答ありがとうございます。1000が冗長でーたなので、やってませんでしたが、参考になりました。ありがとうございました。

  • gyouda1114
  • ベストアンサー率37% (499/1320)
回答No.6

区切り位置ウィザードを使って区切る(1000とそれ以外に分ける) 区切り位置指定ウィザードを使う http://hitamegoto.jugem.jp/?eid=251 2ステップ目。で矢印(10の下の縦線)をドラッグして1000の右に移動して完了を押すと1000とそれ以外の数字に区切られます。 1

nao21213
質問者

お礼

回答ありがとうございます。1000が冗長でーたなので、やってませんでしたが、参考になりました。ありがとうございました。

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.5

Mid関数だけでなくRIGHT関数でも可能ですよ、RIGHT(A1,LEN(A1)-4)ですね。 VBAでやればよいのではないでしょうか? Sub TrimData() Dim WorkRange As Range Set WorkRange = Range(Cells(1, 1), Range("A65536").End(xlUp)) For Each rng In WorkRange If Left(rng.Value, 4) = "1000" Then rng.Value = Right(rng.Value, Len(rng.Value) - 4) End If Next Set WorkRange = Nothing End Sub

nao21213
質問者

お礼

回答ありがとうございます。 VBAはまだよくわからなくて・・・とはいっても今作っているものを最終的にはマクロに記録しようとおもっているので、参考にさせていただきます。 ありがとうございました。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.4

B列にデータがないとして。 A列選択>データ>区切り位置で 固定長で頭から5文字の位置で区切る。 A列とB列に分かれるので、A列を削除する。 とか。 (ちなみに2007だとあっているかはわかりません。⇒持ってないので。)

nao21213
質問者

お礼

回答ありがとうございます。固定長で区切るとできました。 2007でやってみました。 ありがとうございます。

  • tmnrgd6
  • ベストアンサー率0% (0/2)
回答No.3

私は仕事で似たような処理をしたことがありますが、その時は以下のような方法を使用していました。 (注:A列に入る文字列の文字数が全て同じであるという前提での方法です) 1.「セルの書式設定」で、A列の表示形式を「文字列」にしてデータ入力 2.B1セルに「=right(a1,5)」という数式を入力 3.必要な分だけB2セル以下にもコピー この方法は、「不必要な文字を削除」するのではなく「必要な文字を抽出」するものです。 ちなみに、数式中の「,5」の部分が抜き出したい文字数ですので、場合によって適宜設定することでいろいろと対応できると思います。 ただ、最初に述べたとおり、あくまでもすべてのデータの文字数が同じでないと使えませんが。

nao21213
質問者

お礼

回答ありがとうございます。 桁を揃えてから行うとできました。 ありがとうございます。

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

次の方法は如何でしょうか。 空き列の先頭セルに=MID(A1,5,LEN(A1))に設定、下方向にコピー→空き列をコピー→A列を選択→形式を選択して貼り付け→値を選択→OK→空き列を削除

nao21213
質問者

お礼

回答ありがとうございます。 この方法で覚えることができました。

関連するQ&A

  • エクセルでセルを文字列設定しているのに頭の0が取れる件

    EXCEL2003について質問です。 似た類の質問は結構みるのですが、根本的な原因がわからないので わかる方がいたらエクセルの仕組みを教えてください。 頭に0が入った記号を含む数字から任意の記号を一括で抜こうとしたときに、文字列設定なのに頭の0が抜けてしまう原因です。 例えば (1)新規のシートでまずは0120-111と入力します。 ハイフンを手動で消すと、数字として扱われて120111になります。 これはわかります。 (2)次に、初めにセルの書式を「文字列設定」にしてから同様のことをすると、0120111となって文字列に扱いになりました。 これもわかります。 (3)今度は(2)でハイフンを手動ではなく「置換」で取ると結果は120111と 0が取れているにも関わらずセルの書式は文字列のままです。 なぜ(3)で勝手に0が外れてしまうんでしょうか? 桁数もバラバラ、頭が0でない、記号がない場合もある数字のリストの中で一個一個手動ではなく範囲指定したセルを一括で変更する方法って ないんですかね?

  • エクセルで、置換後の文字列を「01」にするには

    エクセル2000を使っています。 「新宿」という文字を「01」に置換すると、0が省略されて「1」だけになってしまいます。 書式を文字列に指定し、セルに直接書き込むと「01」と表示されます。 置換機能を使うと、書式に文字列が指定されていても「1」になってしまいます。 01は既にコードとして定義しているので、出来れば変えたくありません。 何か良い方法はありますでしょうか?

  • エクセルで文字列の右から4文字を削除してセルに表示したい

    明けましておめでとうございます。宜しくお願いします。 エクセルの文字表示で、A列(A1~A20)に文字数の違う文字列が20行程入力されています。それを、A列(A1~A20)のセルに入力されてされている文字列から4文字だけ削除して、B列(B1~B20)に表示(入力)したいのですがどうすればいいのでしょうか? 例えば、A列(A1~A20)のセルにそれぞれ「今年は2008年です。etc.」とか「今年は2008年1月3日です。etc.」、、、など文字数の違った文字列が入力されているセルの右から4文字分「etc.」だけ削除してB列(B1~B20)に「今年は2008年です。」とか「今年は2008年1月3日です。」というふうに表示(入力)したいのです。テキストを読んでMID関数で出来るかなと思ったのですが、MID(文字列の、何文字目から、何文字分)というもので、文字列の左から何文字目を先頭に、何文字分を表示ということで、私のやりたい事の逆なのです。いい方法を教えて下さい。

  • EXCELの文字列を指定の色に変えるには

    EXCELの例えばA列の文字データの特定の文字列を一括して指定色(例えば赤)に変えるにはどうしたらよいか教えてください。 例:A列の1~1000行の各行に文字データが入力されている。これらのデータの内"ABC"という文字列だけ一括して赤色にかえたい。

  • Excel 文字列の中から数字だけを削除したい

    Excel 2007で各セルに文字列として入力されている、数字を削除し文字だけにしたい。 数字は先頭に入力されています。(顧客コード) 例: 12345-001 ABC株式会社 98765- ZYX有限会社ごお商会 等 数字を削除し文字列だけで元のセルにセットしたいです。 きっと簡単なことなんでしょうけど、過去を検索しても良くわかりませんでした。 よろしくお願いいたします。

  • エクセル 置換後の文字列について

    エクセル2003です 置換後の文字列について質問させてください 特定のセルに文字を入力し 例 C100に(9月)等 検索と置換にて 置換後の文字列を C100のテキストに 置換したいのですが 入力時にC100を選択する方法がわかりません  よろしくお願い致します

  • EXELで文字列の先頭に文字を挿入したい(置換)

    EXEL2003です。 セルに文字列が並んでいます。 それの先頭にある文字を挿入するにはどうしたらよいのでしょうか? 「置換」で先頭とか、末尾を指定する方法がありますか? よろしくお願いします。

  • 指定した値より頭文字を抽出するには

    図のように、A列に下向に2000くらいまでのデータがあります。 指定の抜き出したい値より、A列の頭文字が一致する部分のみを抜き出したいのですが、マクロなどで一括で処理する方法はありますでしょうか? 列の指定は特になく、文字間ごとにセルが分かれていても構いません。

  • 文字列の頭に空白を(エクセル)

    エクセルで一覧表を作成する場合のことでの質問です。 罫線を引くのを後にして、まず文字すべてを入力しました。 文字列すべてを囲って罫線を引いたところ、 各文字列の先頭の文字と縦の罫線との間隔が狭いことが気になりました。 文字一つ一つを選択し先頭にスペースキーで空白を入れるか、 隣り合うセルを選択し「セルを結合して中央揃え」で空白を作るか、 どちらも1個1個ずつ選択しての作業になります。 この面倒な作業意外にもっと簡単にできる方法はありませんか? よろしくお願いします。

  • EXCELの文字列を貼付けた時の「"」をなくしたい

    EXCELのセルに複数行の文字列が入っています。 このセルを選択して、Ctrl+Cでコピーしました。 次に「メモ帳」などのテキストエディタを開き、Ctrl+Vで貼り付けました。 すると、先頭と最後に「"」が付加されてしまいます。 この「"」をなくすにはどうすればよいかアドバイスをいただけないでしょうか? なお、実際はテキストエディタではなく、Webページのフォームに入力するため、文字列の置換はできません。 よろしくお願いいたします。

専門家に質問してみよう