エクセルの質問です。

数値「100」を「’00100」に変換したいのです。無論、表示では「00100」になるように。その際の手順、数式、セルの書式等を教えて下さい。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答12件)

id:Baku7770 No.1

回答回数2832ベストアンサー獲得回数181

ポイント10pt

http://www.atmarkit.co.jp/fwin2k/win2ktips/331cellfmt/cellfmt.ht...

@IT:Windows TIPS -- Tips:Excelでユーザー・カスタムの書式設定を定義する

セルの書式設定→ユーザ定義で「00000」とすればいいのではないですか?

id:griffinville

それだとデータ上は「100」ですよね?データとしては「’00100」にしたいのです。

2006/02/03 15:55:38
id:itarumurayama No.2

回答回数735ベストアンサー獲得回数22

ポイント10pt

http://www.hatena.ne.jp/1138949258#

人力検索はてな - エクセルの質問です。 数値「100」を「’00100」に変換したいのです。無論、表示では「00100」になるように。その際の手順、数式、セルの書式等を教えて下さい。..

=RIGHT(TEXT((A1+100000),0),5)

でどうですか?

一旦数字に10万を加え、TEXT関数で文字列化して、右5ケタの文字を拾います

id:griffinville

それを「値をコピーする」にすると「00100」ですよね?データ値としては「’00100」が欲しいのです。

2006/02/03 15:58:41
id:brassman No.3

回答回数32ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/1138949258

人力検索はてな - エクセルの質問です。 数値「100」を「’00100」に変換したいのです。無論、表示では「00100」になるように。その際の手順、数式、セルの書式等を教えて下さい。..

セルの書式設定→ユーザー定義→種類を「######000000」と設定してみてはいかがでしょうか。(でも、文字列にはなりませんね…)

id:dhalmel No.4

回答回数100ベストアンサー獲得回数2

ポイント10pt

http://www.officetanaka.net/excel/function/function/text.htm

Office TANAKA - ワークシート関数の解説(TEXT関数)

変換自体には「TEXT」関数が便利かと存じます。


A1セルに「100」が入っているとした場合、下記の手順を踏めばよいです。

1)任意のセル(B1とします)に式を入力。

=text(A1,”00000”)

→B1セルに「00100」と表示されます

2)このままですと単に式の結果でしかありませんので、もしA1の値が消えてしまうとB1の値が保たれなくなってしまいます。

B1のセルの値自体を「’00100」とするためには、

B1を選択してコピー→形式を指定して貼り付け(「値」を指定)を選択し、OKを押すと、A1に入っていた「100」が「00100」に変換されます。

※ここまでの操作が終わればA1を消去しても問題ありません。

id:griffinville

「’00100」と「00100」は別物ではないですか?

2006/02/03 16:04:55
id:rikuzai No.5

回答回数1366ベストアンサー獲得回数141

ポイント50pt

http://www2.moug.net/bbs/exopr/

Excel���ʋ@�\ Q&A�f����

少々邪道かもしれませんが(^_^.)


A1=100として、

B1=”’”&(A1,”00000”)

を入力したファイルをテキスト形式にて保存。

(カンマ区切りでなくタブ区切りで。CSVは不可です)


保存したテキストファイルを一旦閉じ、

再度Excel画面よりファイルオープンする。


すると「テキストファイルウイザード」が起動するので、そのまま完了ボタンをクリック。


  |  A |   B

--------------

1 | 100 | ’00100


と表示されるので、B1セルをダブルクリック。

すると、データとしては「’00100」、表示は「00100」になるかと思います。

id:griffinville

B1には =”’”&(A1,”00000”) と入力ですか?ごめんなさい。イマイチ分かっていません。

2006/02/03 16:39:13
id:gaimama No.6

回答回数41ベストアンサー獲得回数1

ポイント10pt

>「’00100」と「00100」は別物ではないですか?


”’”は入力データを文字列に定義する場合に使用します


また、TEXT()のコマンドは、数値を指定したレイアウトの文字に変換するコマンドです。


どちらも同じ文字列になります。

id:aki73ix No.7

回答回数5224ベストアンサー獲得回数27

ポイント100pt

http://www.moug.net/skillup/buef/kn010-1.htm

�u���b�V���A�b�v�IExcel�֐��@���[�O�X�L���A�b�v�u��

TEXT関数を利用するとよいでしょう


例えば、A1セルに対象の数値があるのであれば


B1セルに =TEXT(A1,”00000”)

のように記述してください

自動的に文字形式になります

B1セルに =TEXT(A1,”’00000”)

にした場合は、頭に ’がくっついてしまいます

(CSVで保存する場合はこれでいいかも)


あとは、それを適用したい列に対してドラッグして、コピー→形式を指定して貼り付け

「値」にチェックをして上書きすれば

全ての数値が5桁の表示になります

もしも、数値形式のまま ’00100にして なおかつ表示は 00100にしたいのであれば、Macroを使わなくてはいけません


ツールバーのVisualBASICをチェックして

▽定規のアイコンを押したあとVisialBASICEditorという四角いアイコンをクリックするとプログラムを編集できます


Private Sub CommandButton1_Click()

' 変換する桁を指定

    X = 1

    For i = 1 To 5:  ' この場合は1から5行を変換

    Cells(i, X).Value = "'" & Right("00000" & Cells(i, X).Value, 5)

    Next


End Sub


Private Sub CommandButton2_Click()

' 変換する行を指定

  Y = 1

    For i = 1 To 5:  ' この場合は1から5桁を変換

    Cells(Y, i).Value = "'" & Right("00000" & Cells(Y, i).Value, 5)

    Next


End Sub


これは行と列そそれぞれ1~5つめまで変換するものです

id:hiyoko77 No.8

回答回数30ベストアンサー獲得回数1

ポイント10pt

http://www.hatena.ne.jp/1138949258①:detail]

①セルの書式設定で表示形式を文字列にする

②置換「100」→「’00100」で全置換

これだけで画面での表示は00100になりますよ。

ダメでしょうか?

http://www.hatena.ne.jp/1138949258②:detail]

どこかのセルが100の値のときに別のセルで’00100で拾いたいのでしょうか?

その場合は、別シートに参照表を作ってお区と良いです。

①別シートのB列のセルの書式設定を文字列に変更。

②A1に100、B1に’00100を入れる。

③もとのシートで’00100に変換したいセルに=VLOOKUP($100の入っているシート,参照するシート名!A1:B1,2,FALSE)と入力。

これで、このセルをコピーしたところが’00100と表示されます。

id:griffinville

すみません。質問を簡略化しすぎました。Aの列に1〜9999までの数字が(飛び飛びですが)並んでいて、これを全て「’」+「5桁」に直したいのです。

2006/02/03 17:24:16
id:EddyYamanaka No.9

回答回数385ベストアンサー獲得回数1

ポイント10pt

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_050.html

VBA応用(計算式をVBAから書き込む。)

やりたい事がやっと解りました。


以下の例だと数値入力の右のセルに希望の文字列をセットします。


Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

Cells(Target.Row, Target.Column + 1) = Format$(Target, ”’00000”)

Application.EnableEvents = True

End Sub

id:rikuzai No.10

回答回数1366ベストアンサー獲得回数141

ポイント10pt

http://www.hatena.ne.jp/1138949258・・・orz:detail]

5番にて回答したものです。すみませんでした。

焦ってコピペを間違えてしまいました…。


B1=”’”&(A1,”00000”)

    ↓

B1=”’”&TEXT(A1,”00000”)


尚、”’”の「’」は半角です。

id:griffinville

おお、凄い。・・・これって、複数のセルを同時に変換することも可能でしょうか?

2006/02/03 17:33:36
id:marumaruru No.11

回答回数4ベストアンサー獲得回数0

ポイント10pt

http://www.hatena.ne.jp/list?c=c

人力検索はてな - コンピュータ

dhalmelさんの回答を、一部訂正させていただきます。

>1)任意のセル(B1とします)に式を入力。

>=text(A1,”00000”)

=”’” & TEXT(A1,”00000”)


あとはdhalmelさんの回答どおりで、いかがでしょうか。

id:Baku7770 No.12

回答回数2832ベストアンサー獲得回数181

ポイント10pt

A1に100が入っているとして

TEXT(A1,”00000”)

とし、

コピー→形式を選択して貼り付け→値

で可能です。

「’00100」と文字型の「00100」は全く同じ意味です。前者は書式設定をしていないセルに文字型で簡単に入力する手法とお考え下さい。

id:griffinville

郵便番号の仕分け用のマクロを作りました。 A社が「’00100〜’99999」というデータ形式で送ってくれたので、それに合わせて作ったんです。 今度はB社が「100(001-00のつもり)〜99999」のデータ形式で送ってきてくれたのですが、これをただ5桁の文字列に変えてもマクロは違う計算を行ってしまうのです。 マクロをいじりたくなかったので、元データをA社と同じ形式に直したかった、という動機だったのです。 ・・・・・・貼り付け方良く分かんないなぁとか思ってたんですがaki73ixさんのは完璧でしたね。大変失礼致しました! 皆さん本当にありがとうございました!それでは仕事します。

2006/02/03 18:26:41

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません