• ベストアンサー

エクセル 数字の前の「00」を消す方法

エクセル初心者なので、行き詰ってしまいました。 どうか、簡単な方法を教えてください。 コード「001234」「001235」「001236」・・・と6桁になっている数字の前2桁「00」を 消して4桁にしたいのです。 置き換えで「00」を、なくすことを考えたのですが、コードが「001200」や「000012」などの 場合全ての「0」も消えてしまいます。 前の「00」のみを消す方法があったら教えてください。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

試しにマクロを作ってみました。 最初はダミーデータでテストして、よければ使ってみてください。 対象セル範囲を選択しておいて、マクロを実行してください。 Sub test()   Dim c As Range   For Each c In Selection     If Len(c.Value) = 6 Then       c.Value = Right(c.Value, 4)     End If   Next End Sub セルの書式設定が「文字列」なら大丈夫ですが そうでない場合、000012 が 12 となります。 その場合は c.Value = "'" & Right(c.Value, 4) としてください。

chobizo
質問者

お礼

ご回答ありがとうございます。 セルの書式設定が「文字列」でしたので マクロを使うとすぐにできました。 会社でも使わせていただきます。 ありがとうございました。

その他の回答 (7)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.8

こんなの普通はMID、RIGHT、LEFT関数利用の初歩的な問題だが、少し考えると内容は色々考えられるのだ。 まずデータが文字列か数値か。 この質問の場合 (1)文字列と思うが (2)数値でも書式ーセルーユーザー定義ー000000で001234のように見せられる。この場合だとユーザー定義の書式を0000にすればよい。 (1)の文字列場合、数値にしてよいなら=A1*1で1234になる(書式は数値) 文字列のままだと、関数では#5のご回答のような種々の方法がある。 質問の書き方だが、すべてのデータが先頭桁00が保証されるのか、 あいまいな書き方になっている。だから#3のような質問になる。 何文字あっても文字列のまま先頭の0を省くのは、 =TEXT(A4*1,"0") で出来るようだ。 この質問に関して、少し奥行きがあるので、数値・文字列と書式について勉強してみてください。

chobizo
質問者

お礼

ご回答ありがとうございます。 まず、質問の仕方にセルの表示形式等の情報が必要だと いうことがよくわかりました。 質問があいまいなためご回答者様にはいろいろな方法を 考えていただき恐縮いたしました。 「 =A1*1で1234 」は目から鱗でした。 関数についてもこれからもっと勉強していこうと思います。

  • diashun
  • ベストアンサー率38% (94/244)
回答No.7

No.6です。 回答を修正します。(複数セルの選択方法の修正) 1・選択されたすべてのセルが隣接している場合。 (1)数値変換対象以外の任意のセルに数値の 1 を入力します。 ※ただし、そのセルの表示形式が「標準」であること。 (2)セル、範囲、行または列を選択する。 (3)選択したセルまたはセルの範囲の横に表示されるエラー ボタン 「!」(エクスクラメーション)をクリックし、[数値に変換する] をクリックします。 2.数値変換対象のセルが複数の隣接しないセルまたはセルの範囲に含まれる場合。 (1)数値変換対象以外の任意のセルに数値の 1 を入力し、Enter キーを押します。 ※ただし、そのセルの表示形式が「標準」であること。 (2)セルを選択し、マウスの左クリックメニュー で [コピー] をクリックします。 (3)文字列として保存されている数値が含まれている、変換対象の隣接しないセルまたはセルの範囲を選択します。 複数のセルを同時に数値セルに変換するには、「Ctrlキー」を押しながら対象セルを連続してクリックします。 (4)マウスの左クリックメニューの[形式を選択して貼り付け] をクリックします。 (5)[演算] の下の [乗算] をクリックし、[OK] をクリックします。 以上。

chobizo
質問者

お礼

ご回答ありがとうございます。 セルの表示形式は「文字列」だったのですが、やり方が悪いのか 「数値」にしてみても「!」が出てきませんでした。 しかし、いろいろな方法や考え方があると大変勉強に なりました。 修正案まで書いていただき本当にありがとうございました。

  • diashun
  • ベストアンサー率38% (94/244)
回答No.6

Excellの標準機能(エラー通知)を使えると思います。 まず、対象セルを選択して左クリックで「セルの書式設定」をクリックし、「表示形式」タブで「数値」をクリックします。 これで、そのセルの」表示形式が「数値」になりました。 Excellのバージョンが 97 ~ 2007 であれば、表示形式が「数値」のセルに文字(文字列)入力されている場合、そのセルを選択状態にするとセルの左上に 「!」(エクスクラメーション)の「エラーマーク」が表示されます。 そのマークにマウスをポイントすると、エラーの理由とその対処方法が 表示されますので、「数値に変換する」をクリックすれば、選択セルの表示形式が「数値」になると共に数値の先頭の"0"は全て表示されなくなります。 複数のセルを同時に数値セルに変換するには、「Ctrlキー」を押しながら対象セルを連続してクリックして一括処理できるはずです。 ・・・的外れならご容赦ください。 他にユーザー関数で処理することも簡単にできますが、とりあえず上記の方法でお試し下さい。 関数が必要なら補足でご一報ください。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆もしも、表示形式対応の場合はユーザー定義で、 0000 としてください ◆回答済みの「RIGHT関数」以外にもこんな方法もあります、参考に ........A.............B............C..........D..........E...........F 1...003652...3652...3652...3652...3652.....3652 2...000014...0014...0014...0014...0014.....0014 3...012345...2345...2345...2345...12345...012345 4...123456...3456...3456...3456...123456..123456 B1=RIGHT(A1,4) C1=MID(A1,3,4) D1=REPLACE(A1,1,2,) E1=TEXT(A1,"0000") F1=SUBSTITUTE(A1,"00",,1) ★ともに下にコピー

chobizo
質問者

お礼

ご回答ありがとうございます。 いろいろな関数を教えていただきうれしいです。 別の機会でも使えそうなので、しっかり覚えて おきたいと思います。

  • hiro-ss16
  • ベストアンサー率42% (18/42)
回答No.4

頭に"0"が入力されていると言うことは、書式が"文字列"になっている からだと思いますが、右4桁を切り出す関数を使えば出来ると思い ます。     A       B       C 1  001234  1234 2  001235  1235 3  001236   1236 4  000012   0012 A1~A4に数値が入力されているとして、B1 に次の式を入れて 下にコピーします。 =RIGHT(A1,4) これでやってみてください。

chobizo
質問者

お礼

ご回答ありがとうございます。 RIGHT関数を知らなかったので 大変参考になりました。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

ANo.2を投稿してから気付いたことがあります。 前ゼロが2桁付いていない場合はないのでしょうか? 123456 とか 012345 といった6桁の場合も 3456 とか 2345 となってしまいます。 あと、書式設定で6桁表示になっている場合にも提示したマクロは無力です。 失礼しました。

  • fine_day
  • ベストアンサー率70% (6285/8867)
回答No.1

A1のセルに001234が入っているとき、B1に「=RIGHT(A1,4)」と入れれば「1234」が表示されます。 RIGHTは右から指定した文字数を取り出す関数です。 A2、A3にもデータが入っているなら、B1を下に向かって連続コピーすれば、全部4文字になります。 http://maglog.jp/excel/Article256123.html A列のの6文字のデータを消すとB列のデータも消えてしまいますので、4文字のデータだけが並んだシートが必要な場合には、B列をコピー→「形式を選択して貼り付け」で「値」を選んで他のシートにコピーしてください。

chobizo
質問者

お礼

ご回答ありがとうございます。 やってみたら簡単に出来ました。 関数の知識もあまり詳しくない状態でしたので 大変助かりました。

関連するQ&A

  • Excelで数字をハイフンで区切るには?

    16桁の数字を4桁ずつハイフンで区切る方法を教えて下さい! 例えば、1234567812345678を1234-5678-1234-5678のように。 Excel初心者です。よろしくお願いします!

  • Excelで数字データ以外を取り除く方法

    Excelを使って、何千件もある数値コードのデータの修正をする必要があります。 ただ、このデータは、7桁の数値コードのはずなのに、実際には、5桁から8桁まで桁数が異なるデータもあれば、数字以外の文字や記号も入っています。 そのため、まずは、数値コードに混じる数値以外の文字や記号を取り除こうとしています。0-9の数字以外の文字が記号を削除したいのですが、なんだかうまくいきません。データを数値と認識させると、一桁目の0(ゼロ)が消えてしまったりして。。 Excelに詳しい方、どういう方法があるか教えていただけませんか。 よろしくお願いします。

  • エクセルの数字だけを消す方法 

    2とか23とか24とか数字がどれも違うものを消す場合に は や く消す方法ありますか^^; 置き換えだと時間かかっちゃーいます

  • エクセルの有効数字

    エクセルの関数についてですが、有効数字が2桁としたい場合、例えば1なら1.0、0.003なら0.0030となるような方法を教えてください。3.68が3.7となる関数はわかったのですが、切のよい数字のときは0が表示されません。だれか教えて下さい。

  • エクセルでの5ケタの数字の計算がわかりません。。

    いつもお世話になりますm(_ _)m エクセルを最近使い始めた初心者です。 5ケタの数字の和を求めるエクセルの うまい使い方や計算式などありますでしょうか?  例)12345 の場合、    1+2+3+4+5=15    のように、5ケタの数字をひとケタづつ分離し、    分離後の5つの数字の和を求めたいと思っているのですが、、 どなたか知識を分けていただけたらと思います。 よろしくお願い致します!!

  • 数字の間にハイフン(-)を入れる方法を!!

    教えて下さい宜しくお願いします。 エクセルの表計算です。バーコードリーダーで読み込んだ数字が13桁あります。 その数字の途中にハイフンを入れ管理をしたいのですが良い方法はない物でしょうか? 例)A1のセルにバーコードで読み込んだ数字をB1のセルに 0000000000000→00000-00000000 0000000000001→00000-00000001 1111111111111→11111-11111111 の様に全て5桁と8桁に分け管理したいのです。 宜しくお願いします。     

  • エクセル 数字をすべて○などの記号に置換するには

    エクセルの質問、セルに数字がランダムに並んでいるものをすべて○(丸印)に置き換えることはできますでしょうか。置き換えの使用方法はわかりますが、1や5といった数字をすべて○にする方法を教えてください

  • エクセルに数字を記入したいんですが・・・

    こんにちは。エクセルのセルの中に19桁の数字を書きたいのですが、書いたあとすぐに、下4桁の数字が0に変わります。どうやってら全ての数字を記入することができるのでしょうか?教えてください。

  • エクセルの数字だけを削除

    エクセルの一つのセルの中にテキストと数値が入ったセルがたくさんあるのですが【(福岡県 2500)や(宮崎県1800)のように】、全てのセルの中の数字だけを削除したりすることはできますでしょうか?全てをコピーしてテキストドキュメントに貼り付けて数字だけ検索や置き換えなども試しましたがダメでした。数字とテキストが別々のセルに入っていれば簡単にできるのですが、エクセル以外の方法でも構いませんので何か良い方法はありませんでしょうか?対象セルが大量にあるので、一つ一つやっていたら大変時間がかかります。 よろしくお願いいたします。

  • エクセルの有効数字のまるめ方

    A1に入ってる数字を下記のルールに従い有効数字3桁にまるめたいです。 4桁目がある場合、4桁目を四捨五入する。 ただし、4桁目が5の場合は・・・・ ・3桁目が偶数→4桁目以下を切り捨て ・3桁目が奇数→3桁目+1。4桁目以下を切り捨て 上記の様な計算式をエクセルで作りたいのですが、 なかなかできず困っております。

専門家に質問してみよう