• ベストアンサー

エクセルにて連番文字列を一括で消去

エクセルでセルが***A0001 ***A0002 ***A0003 ***A0004・・・と続いており、この***を残してA0001 A0002 A0003 A0004の部分だけを消去したいのですがどうすれば一括で消去できますか?A3000くらいまであるので手動ではきついです。どうぞよろしくお願い致します。

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.8

例 ラーメンA0001 餃子A0002 酢豚A0003 八宝菜A0004 例では、Aから始まる連番になっていますが、 すべてAから始まる連番なら、 「データ」-「区切り位置」で出来ませんか? データの列を選択して、「データ」-「区切り位置」の「カンマやタブなどの~」にチェックを入れて「次へ」 「その他」の右の空欄に「A」と入れて「完了」で分割できます。 不要な列を削除します。 該当の右側の列にもデータが入っているなら、上書きされないようにあらかじめ空の列を挿入しておきます。

kana_kana_p
質問者

お礼

ご回答ありがとうございます。 簡単にできました。 いろいろとやりかたがあるのですね。 私ももっと勉強したいと思います。 どうもありがとうございました。

その他の回答 (7)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.7

#5、#6です。再度訂正。すみません。 1)列Aのデータを範囲指定 2)Ctrl+H で置換を表示させる 3)置換する文字列 に A* を入力、置換後の文字列は空白のまま、ボタン[すべて置換]をクリック。 です。

kana_kana_p
質問者

お礼

ご回答ありがとうございます。 少し理解するのに時間がかかりそうですが、やってみますね。 ご丁寧な回答ありがとうございました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.6

#5です。訂正と補足。 1)~3)は不要でしたが、残す部分の文字にAが無いことも確認してください。 4)からの手順d巣が、選択するのは列A,7)も不要です。 * はワイルドカードキャラクタで、何の文字でも何桁でもOKを示します。 A以降すべてを無いものと置き換え(=削除)です。 本当に*を含む状態(例示の***A001)であっても***になります。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.5

いまあるデータは列Aとします。列Bが空いているとします、空いてなければ挿入で確保。 行は1からと仮定。 1)今ある文字列に絶対出現しない文字または記号をひとつ探してください。'='と仮定します。 2)セルB1に式[=A1&"="]を設定し、列Aがある限りすべてにコピー。 3)列Bをコピーして、形式を選択して貼り付け-値、を実行。 4)列Bのデータを範囲指定 5)Ctrl+H で置換を表示させる 6)置換する文字列 に A*= を入力、置換後の文字列は空白のまま、ボタン[すべて置換]をクリック。 7)目的達成を確認したら列A削除 でどうでしょう?

  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.4

left(A1,len(A1)-5) こんなんでどうでしょう? 「A0001」の部分の文字数が5文字で揃ってないといけないですが。

kana_kana_p
質問者

お礼

ご回答ありがとうございます。 なんとか簡単にできました。 非常に助かりました。感謝いたします。

  • te12889
  • ベストアンサー率36% (715/1959)
回答No.3

(1) 当該列の前に作業用に1列挿入する。 (2) LEFT関数で当該列の左3文字を抜き出す。 (1個式を作ったら、ダーっと下方向にコピー) (3) 作業列をコピーし、「形式を選択して貼り付け」から「値」で貼り付け。 (4) 当該列を削除する。 ・・・ってな感じでどうでしょう。 ・・・って思ったら、「***」が全部同じなら、一番上のセルを「***」にしたら、一番下まで一気にコピーでいいんじゃないですかね。

kana_kana_p
質問者

お礼

ご回答ありがとうございます。 説明不足で申し訳ございませんが、***の部分がすべて同じではなく文字数も違いますので。せっかく回答いただいたのですがすみません。

回答No.2

単純に、***をコピーしては…だめですよね または、 文字列操作関数 LEFT 使ってみてはいかがでしょうか? ex. A   B 1    ***A0001 2    ***A0002 3    ***A0003 上の表の場合、セルA1に、=LEFT(B1,3) と入力すると *** が抽出される。その後、A列をコピーし、そのまま、値として貼り付け。 列Bを削除する。   

kana_kana_p
質問者

補足

ご回答ありがとうございます。 ちょっと説明不足だったのですが、***の部分は文字数がバラバラで商品名が入ります。ですので上記の方法ではうまく抽出されません。 例 ラーメンA0001 餃子A0002 酢豚A0003 八宝菜A0004 この商品名だけを残したいのですが。 わかりにくい説明で申し訳ございません。

noname#204879
noname#204879
回答No.1

=LEFT(A1,3)

kana_kana_p
質問者

お礼

すばやい回答ありがとうございました。

関連するQ&A