- ベストアンサー
エクセルでセルの桁数の変更について
エクセルで、A列に、A-1、A-2・・・・・A-10、前-1、前-2・・・・前-10のように入力してあります。 この数字を、A-001・・・A-010、前-001・・・前-010というように、文字の後の数字を3桁に変えたいのですが出来ますでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
(1) A列を、B列とC列にコピーします。 (2) B列全体を指定して 「編集」 ⇒ 「置き換え」 検索する文字列 「-*」 置き換え後の文字列「-」 これで Br列は A- とか 前- だけになります。 (3) C列全体を指定して 「編集」 ⇒ 「置き換え」 検索する文字列 「*-」 置き換え後の文字列「」 これでC列は数字だけになります。 (4) D列にドラッグで一連番号を振っておきましょう あとで、並べなおしができます。 (5) C列基準でソートをかけましょう。 (6) E列に文字列関数 「=CONCATENATE」で、 Cが1桁なら B と 00 と Cを Cが2桁なら B と 0 と Cを Cが3桁なら B と Cを くっつければ出来上がり あとは、値だけコピーで答えを取り出す。 D列でソートして、元の順番にもどす 要らない列を抹消する ってところでしょうか。
その他の回答 (4)
- kagakusuki
- ベストアンサー率51% (2610/5101)
変換後の文字列を表示させる列の1行目のセルに、次の関数を入力してから、そのセルをコピーして、2行目以下に貼り付けると良いと思います。 =IF(ISNUMBER(REPLACE($A1,1,FIND("-",$A1),)+0),LEFT($A1,FIND("-",$A1))&TEXT(REPLACE($A1,1,FIND("-",$A1),)+0,"000"),"")
お礼
できました! ありがとうございます!
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 A1セルからデータがあり、B列に表示させるとします。 尚、ハイフン以降の数値は最大3桁までとします。 B1セルに =IF(A1="","",LEFT(A1,FIND("-",A1))&TEXT(MID(A1,FIND("-",A1)+1,3),"000")) としてオートフィルで下へコピーではどうでしょうか? ※ A列にこのデータを表示させたい場合は B列すべてを範囲指定 → 右クリック → コピー → 形式を選択して貼り付け A1セルを選択 → 「値」にチェックを入れOK その後、B列は削除しても大丈夫です。 こんなんではどうでしょうか?m(_ _)m
お礼
できました! ありがとうございます!
A-001と入力して A-001のセルにカーソルをおく セルの右下の小さな黒い■をつまみながら下へドラッグ それで連番になりませんかね。 --------- | A-001 | --------■ ←セルの右下隅を左クリック釦押しながら ドラッグ(下のセルへ下ろしていく)
お礼
すいません、質問がうまく出伝えられなかったようです。 No.1の回答の補足のようにしたかったのです。
- meitoku
- ベストアンサー率22% (2258/10048)
A-1をA-001と入力してセルの右下を左クリックしたまま下にずらせば順にA-002~になりますが。
補足
すいません、質問間違いました。 まずA-1や前-1のようなセルが順番になっていなく、A-1、前-8、A-3のように順番がバラバラに入力されています。 これらを並べ替えした時に、連番で並べ替えたかったのですが、A-6、A-65、A-7、A-8、A-85のようになってしまい、うまく並べ替えが出来なかったので、数字の部分だけ3桁などにすればうまく並べ替えられるかと思ったのですが、やり方が良く分からなかったので質問しました。
お礼
ありがとうございます。 出来ました。 エクセル初心者の私には、この方法が一番分かりやすかったので、ベストアンサーとさせてもらいます。 答えてくださった方、どうもありがとうございました。