• ベストアンサー

「ABC1」→「ABC01」としたい

取引先の会社からエクセルファイルをいただく時に ABC1 ABC2 ~~~~ ABC10 ABC11 のようなデータなので並べ替えをすると ABC1 ABC10 ABC11 ~~~~~ ABC2 ABC20 という風になってしまうので、1桁の数字には0を入れたいのですが どうすればよろしいのでしょうか? (ABCというところは品番で、他にもDEF,GHIなどと他の品番が混ざって入っているため、並び替えがしたいのです) 過去ログ、エクセル質問サイトなどを見たのですが どのカテゴリーの作業なのかわからず探すのが難しかったので 質問させて頂きました。お願いします

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.5

提示の例では、頭3桁がローマ字、残りの桁が数字になってますが、 頭のローマ字部分の桁が、3桁未満とか4桁以上ある場合や   A1______> A01   AB2_____> AB02   ABC3____> ABC03   ABCD4___> ABCD04 頭のローマ字部分に数字が混ざっている場合   A5Y4____> A5Y04   AB5Y4___> AB5Y04 なども考慮して、一案。 A2からデータがある場合、以下を必要な分だけコピー =IF(ISERROR(VALUE(RIGHT(A2,2))),LEFT(A2,LEN(A2)-1) & "0" & RIGHT(A2,1),A2) こういった類の質問をする時は、 ABC1、ABC2 とかではなくて、実際のものをいくつか提示し、 それについてローマ字部分の桁は固定だとかそうでないとかなどの 補足情報を具体的に提示した方がベターかと。。。  

villcha
質問者

お礼

応用もありがとうございます。 実際のもので質問したかったのですが、そういうわけにいかないので、 自分で少しアレンジしてしまいました。申し訳ございません 皆様すばやい回答ありがとうござました。助かりました

その他の回答 (4)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

A列に文字列があるとき、空いている列に =IF(MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789"))=LEN(A1),LEFT(A1,LEN(A1)-1)&"0"&RIGHT(A1,1),A1) を入力して下方向にコピー するとABC1→ABC01となるはずです。 ただしA9C1のように品番に数字があるとダメです。その場合はユーザ定義関数(マクロ)にしないとならないかもしれません

villcha
質問者

お礼

ありがとうございました。参考にさせて頂きます

  • j_nishiz
  • ベストアンサー率26% (183/697)
回答No.3

データがA列にあるとして、 B列に以下の式を記入です。 =LEFT(A1,3)&TEXT(MID(A1,4,2),"00")

villcha
質問者

お礼

ありがとうございました。

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

対象データは品番3桁、数字1,2桁としています。 (1)対象データ列をA列、変換列をB列とします。 (2)B1に=LEFT(A1,3)&TEXT(MID(A1,4,2),"00")を設定して、フィルハンドル(B1セル枠の右下の■)をダブルクリック (3)B列を選択→コピー→A列で形式を選択して貼り付け→値にチェックを付ける→OK

villcha
質問者

お礼

ありがとうございました。参考にさせて頂きます

  • mars-r
  • ベストアンサー率18% (112/594)
回答No.1

変更したいファイルのアイコンを右クリックしてMキーを押してCと1の間に0を挿入。

villcha
質問者

お礼

ありがとうございました。 今回は多数のデータを一括で変換したいということでした。 説明不足でもうしわけありません

関連するQ&A