- ベストアンサー
エクセル=文字数指定+頭に『-』+『0』
***エクセルについて*** 下記のやりかたをご存知の方がいらっしゃるのなら是非 お知恵を拝借したいと思います。お願いします。 ---質問--------------------------------------- ひとセルの中に数字を入れると "自動的" に、 1・先頭に『 - 』が入る。 2・数字は5文字に指定(半角数字) 3・数字の先頭に「0」がついても表示される つまり... ひとセルに 「 01234 」 と入力するだけで 自動的に 「 -01234 」 と表示され もし 「 012345 」 と入力するとエラーがでる ---------------------------------------------- 入力規定で文字列を5文字に設定すると数字の最初の 「0」がどうしてもはいらないのです。 「 12345 」と入力すると 「 -12345 」というふうに 表示されるのですが。 前の記事を調べても、前に「0」はつけられても、 同時に文字数指定をするっていうやり方が書いていな かったようで・・・ 回答おねがいします。 でも、もし前にこの質問があったらごめんなさい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
問題は、 2・数字は5文字に指定(半角数字) 3・数字の先頭に「0」がついても表示される これでしょうね。 この場合は数値としてではなく文字列としなければならないでしょう。 2.は「データ」→「入力規則」で 文字列の長さを5文字に設定します。 1・先頭に『 - 』が入る。 は「書式」→「セル」の「表示形式」タブで 《ユーザー定義》を選択して -@ とします。 これは、入力した文字列に[-]を追加すると言う意味です。(数字ではありません) これで、1. 2. 3. すべての条件が満たされます。 あくまで表示上です。 入力したデータを入れ替えるにはマクロを使用する 方法しか思いつきません。
その他の回答 (2)
- comv
- ベストアンサー率52% (322/612)
こんばんは! ・入力範囲の表示形式を ユーザー定義 -@ ・データ 入力規則 を ユーザ設定 数式欄に =AND(LEN(A1)=LENB(A1),LEN(A1)=5,ISNUMBER(("+"&A1&".0e0")*1)) (対象セルがA1の場合です) 全て半角文字であるかの判定 LEN(A1)=LENB(A1) 5文字であるかの判定 LEN(A1)=5 数字であるかの判定 ISNUMBER(("+"&A1&".0e0")*1) "+" で +1234 を不可に ".0e0" で 1.234 や 123E4(指数)を不可に しています。
お礼
ありがとうございます。やってみました。 しかし、こちらも 「01234」と入力すると「-01234」と表示されるのですが 「01234567」と入力すると「-01234567」と5文字迄という エラーメッセージが出ないのです。トホホッ。 でも、こーんなやり方があるのかと関心致しました。 丁寧に教えていただいて有難うございました。
- imogasi
- ベストアンサー率27% (4737/17069)
(1)書式の「ユーザー定義」を選び、-0000#と いれます。 (2)データ-入力規則-整数-次の値の間-最小値0 最大値99999-okをクリック これを対象セルに設定する。 (3)(1)はあくまでも、表示上のことで、値は負の数 になりません。 入力した自己のセルに何らかの(-1を掛ける等) の処理をして自己のセルへ結果を戻せません。 エクセル引いては表計算ソフトの仕様です。 (4)(2)により、範囲外の数字入力はエラーメッセー ジが出て受けつけないようになります。
お礼
ありがとうございます。さっそく試してみました。 しかし・・・。 「01234」と入力すると「-01234」と表示されるのですが 「012345」と入力すると「-12345」と入力されてしまい "5文字以上入力している"というエラーが出ないのです。 でも、貴重なご意見有難うございました! 最初に「0」が入らない入力のときに使わせて頂きます!
お礼
出来ました! 有難うございます!!! ちゃんと、私が聞きたかったことがすべて満たされました! コード番号で入力するため、数字でなくて良かったのです。 あーーーっ。本当に助かりました。有難うございます! しかし、皆さん本当に物知りで。 また、今度何かありましたら是非宜しくお願いします!