プロが教えるわが家の防犯対策術!

エクセルで列に対して、文字列を削除する方法を教えて下さい。セルA1には100010001、A2には100010532、A3には100002310など、A列のあたまには、必ず1000が入力されています。

この文字列の頭の1000を一括で削除したいのですが、A列を指定して、1000を「データ無し」に置換してしまうと、A1のように100010001が1になってしまうなど、たまたま入っていた先頭ではない同じ文字列も置換されてしまいます。

頭に入っている文字列だけを削除する方法を教えていただきたいです。
どうぞよろしくお願い致します。

A 回答 (7件)

例えばですが、A1~AXXまで数字が入っているとして


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

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

お礼日時:2009/01/11 14:13

回答番号:No.6です



>矢印(10の下の縦線)をドラッグして1000の右に移動して<を修正します。

1000の右側をクリックすると矢印が入ります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 14:05

区切り位置ウィザードを使って区切る(1000とそれ以外に分ける)



区切り位置指定ウィザードを使う
http://hitamegoto.jugem.jp/?eid=251

2ステップ目。で矢印(10の下の縦線)をドラッグして1000の右に移動して完了を押すと1000とそれ以外の数字に区切られます。
1
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 14:05

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 14:07

B列にデータがないとして。



A列選択>データ>区切り位置で
固定長で頭から5文字の位置で区切る。
A列とB列に分かれるので、A列を削除する。

とか。
(ちなみに2007だとあっているかはわかりません。⇒持ってないので。)
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 14:10

私は仕事で似たような処理をしたことがありますが、その時は以下のような方法を使用していました。



(注:A列に入る文字列の文字数が全て同じであるという前提での方法です)

1.「セルの書式設定」で、A列の表示形式を「文字列」にしてデータ入力
2.B1セルに「=right(a1,5)」という数式を入力
3.必要な分だけB2セル以下にもコピー

この方法は、「不必要な文字を削除」するのではなく「必要な文字を抽出」するものです。

ちなみに、数式中の「,5」の部分が抜き出したい文字数ですので、場合によって適宜設定することでいろいろと対応できると思います。

ただ、最初に述べたとおり、あくまでもすべてのデータの文字数が同じでないと使えませんが。
「エクセルで頭に入っている文字列だけを削除」の回答画像3
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 14:12

次の方法は如何でしょうか。


空き列の先頭セルに=MID(A1,5,LEN(A1))に設定、下方向にコピー→空き列をコピー→A列を選択→形式を選択して貼り付け→値を選択→OK→空き列を削除
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/01/11 14:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!