
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)
としてください。
ご回答ありがとうございます。
セルの書式設定が「文字列」でしたので
マクロを使うとすぐにできました。
会社でも使わせていただきます。
ありがとうございました。
No.8
- 回答日時:
こんなの普通はMID、RIGHT、LEFT関数利用の初歩的な問題だが、少し考えると内容は色々考えられるのだ。
まずデータが文字列か数値か。
この質問の場合
(1)文字列と思うが
(2)数値でも書式ーセルーユーザー定義ー000000で001234のように見せられる。この場合だとユーザー定義の書式を0000にすればよい。
(1)の文字列場合、数値にしてよいなら=A1*1で1234になる(書式は数値)
文字列のままだと、関数では#5のご回答のような種々の方法がある。
質問の書き方だが、すべてのデータが先頭桁00が保証されるのか、
あいまいな書き方になっている。だから#3のような質問になる。
何文字あっても文字列のまま先頭の0を省くのは、
=TEXT(A4*1,"0")
で出来るようだ。
この質問に関して、少し奥行きがあるので、数値・文字列と書式について勉強してみてください。
ご回答ありがとうございます。
まず、質問の仕方にセルの表示形式等の情報が必要だと
いうことがよくわかりました。
質問があいまいなためご回答者様にはいろいろな方法を
考えていただき恐縮いたしました。
「 =A1*1で1234 」は目から鱗でした。
関数についてもこれからもっと勉強していこうと思います。
No.7
- 回答日時:
No.6です。
回答を修正します。(複数セルの選択方法の修正)
1・選択されたすべてのセルが隣接している場合。
(1)数値変換対象以外の任意のセルに数値の 1 を入力します。
※ただし、そのセルの表示形式が「標準」であること。
(2)セル、範囲、行または列を選択する。
(3)選択したセルまたはセルの範囲の横に表示されるエラー ボタン 「!」(エクスクラメーション)をクリックし、[数値に変換する] をクリックします。
2.数値変換対象のセルが複数の隣接しないセルまたはセルの範囲に含まれる場合。
(1)数値変換対象以外の任意のセルに数値の 1 を入力し、Enter キーを押します。
※ただし、そのセルの表示形式が「標準」であること。
(2)セルを選択し、マウスの左クリックメニュー で [コピー] をクリックします。
(3)文字列として保存されている数値が含まれている、変換対象の隣接しないセルまたはセルの範囲を選択します。
複数のセルを同時に数値セルに変換するには、「Ctrlキー」を押しながら対象セルを連続してクリックします。
(4)マウスの左クリックメニューの[形式を選択して貼り付け] をクリックします。
(5)[演算] の下の [乗算] をクリックし、[OK] をクリックします。
以上。
ご回答ありがとうございます。
セルの表示形式は「文字列」だったのですが、やり方が悪いのか
「数値」にしてみても「!」が出てきませんでした。
しかし、いろいろな方法や考え方があると大変勉強に
なりました。
修正案まで書いていただき本当にありがとうございました。
No.6
- 回答日時:
Excellの標準機能(エラー通知)を使えると思います。
まず、対象セルを選択して左クリックで「セルの書式設定」をクリックし、「表示形式」タブで「数値」をクリックします。
これで、そのセルの」表示形式が「数値」になりました。
Excellのバージョンが 97 ~ 2007 であれば、表示形式が「数値」のセルに文字(文字列)入力されている場合、そのセルを選択状態にするとセルの左上に
「!」(エクスクラメーション)の「エラーマーク」が表示されます。
そのマークにマウスをポイントすると、エラーの理由とその対処方法が
表示されますので、「数値に変換する」をクリックすれば、選択セルの表示形式が「数値」になると共に数値の先頭の"0"は全て表示されなくなります。
複数のセルを同時に数値セルに変換するには、「Ctrlキー」を押しながら対象セルを連続してクリックして一括処理できるはずです。
・・・的外れならご容赦ください。
他にユーザー関数で処理することも簡単にできますが、とりあえず上記の方法でお試し下さい。
関数が必要なら補足でご一報ください。
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)
★ともに下にコピー
ご回答ありがとうございます。
いろいろな関数を教えていただきうれしいです。
別の機会でも使えそうなので、しっかり覚えて
おきたいと思います。
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)
これでやってみてください。
No.3
- 回答日時:
ANo.2を投稿してから気付いたことがあります。
前ゼロが2桁付いていない場合はないのでしょうか?
123456
とか
012345
といった6桁の場合も
3456
とか
2345
となってしまいます。
あと、書式設定で6桁表示になっている場合にも提示したマクロは無力です。
失礼しました。
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列をコピー→「形式を選択して貼り付け」で「値」を選んで他のシートにコピーしてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセル関数】アルファベットで以上だったらカウントする 4 2022/07/09 14:07
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- ノートパソコン ファイルのコピーの同期を外したい 2 2023/01/15 12:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/15 16:33
- 数学 高校数学の質問です 文字を消去したり、置き換えたりしたら、残った文字に範囲がつくかどうか調べるという 4 2023/05/03 18:18
- Excel(エクセル) Excel 文字列が数値に変更できない 4 2022/12/07 06:08
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/04/01 09:10
- Visual Basic(VBA) visual basic初心者です。 visual studioで電卓を作成しています。 実行時にテ 1 2023/02/08 00:18
- PowerPoint(パワーポイント) エクセルファイルが他のデーターソースへのリンクが含まれている場合の調べ方を教えてください。 2 2023/08/24 13:03
このQ&Aを見た人はこんなQ&Aも見ています
-
Excelで前ゼロを取る方法
Excel(エクセル)
-
エクセルで上2桁をカットして表示するには
Excel(エクセル)
-
Access VBA DB(先頭の0値を消す方法)
PowerPoint(パワーポイント)
-
-
4
エクセルで先頭の0の消し方
Excel(エクセル)
-
5
EXCELデータのゼロサプレス
Excel(エクセル)
-
6
エクセルで、数字の下4桁の0を削除する関数
Excel(エクセル)
-
7
【Excel VBA】先頭の「0」飛びを埋める方法
Visual Basic(VBA)
-
8
Excel 数値の前の「 ' 」を一括削除したい
その他(Microsoft Office)
-
9
(Excel)数字記入セルの数値の後ろ全てに000を自動でつけたい
Excel(エクセル)
-
10
自分の部署・担当を言うとき、どういう言い方が正しいでしょうか?? 会社のときは、弊社といいますが、部
その他(ビジネス・キャリア)
-
11
Excelでゼロサプレスする際の書式設定について
Excel(エクセル)
-
12
表から0以外の数値を取り出し羅列したい
Access(アクセス)
-
13
エクセルのアポストロフィを一括で消したい
Excel(エクセル)
-
14
outlook 文字を揃えたい。tabでやっても揃わない。
Word(ワード)
-
15
エクセル:関数で他のセルの内容を書き換えることは出来るのですか?
Excel(エクセル)
-
16
エクセルで表示形式の時刻の「0:00」を表示しないようにするには?
Excel(エクセル)
-
17
Excelで、条件と一致する最後のセルを検索したい
Excel(エクセル)
-
18
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
セルをクリック⇒そのセルに入力...
-
枠に収まらない文字を非表示に...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
【Excel】 セルの色での判断は...
-
【エクセル】IF関数 Aまたは...
-
(Excel)数字記入セルの数値の後...
-
数式を残したまま、別のセルに...
-
Excelでのコメント表示位置
-
excelの特定のセルの隣のセル指...
-
Excelで数式内の文字色を一部だ...
-
対象セル内(複数)が埋まった...
-
エクセルの一つのセルに複数の...
-
エクセル 足して割る
-
Excelで住所を2つ(町名迄と番...
-
エクセル オートフィルタで絞...
-
Excel2010の指マークと白十字マ...
-
エクセルのセルの枠を超えて文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
枠に収まらない文字を非表示に...
-
エクセルの書式設定の表示形式...
-
数式を残したまま、別のセルに...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
Excelで、「特定のセル」に入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excelで数式内の文字色を一部だ...
-
エクセルのセルの枠を超えて文...
-
エクセル オートフィルタで絞...
-
Excelでのコメント表示位置
-
連続しないセルから最小値を引...
おすすめ情報