プロが教えるわが家の防犯対策術!

EXCEL97を使用しています。
以下のように並べ替えたいのですが出来ません。
どうしたらいいのでしょうか。

1 2………10-1 10-2
    
現状は、
1 10-1 10-2 2になってしまします。
10-1 10-2は数値または、標準にすると37895になります。
至急ご解答いただければ幸いです。
よろしくお願いします。

A 回答 (7件)

エクセルで「10-1」と入力すると、「今年の10月1日」と解釈して基準日(Windowsなら


1900年1月0日)からの経過日数を格納します。
> 10-1 10-2は数値または、標準にすると37895になります。
これはつまりそういうことです。

nene99さんは
> 1 10-1 10-2 2になって
と言っているので、問題のデータはテキストだろうと思います。この場合は文字コード順に
ソートするので、「いち、いちぜろはいふんいち いちぜろはいふんに に」と並ぶのが当然
です。簡単な解決策は、「一番大きい桁に合わせて0で埋める」ですね。
01
02
03
10-1
10-2
11
12
と並びますよ。
    • good
    • 0
この回答へのお礼

理由がわかりました。
明確なご説明ありがとうございます。
しかし、他の列では、ちゃんと数値に変るんですが、不思議です.
どうもありがとうございました。

お礼日時:2003/02/03 16:54

#6のものです。

済みません書き漏らしましたが「01エンタ」と入力しても数値1になってしまいます。「’01エンタ」の様に’をつけて入力することになります。
10-1のように、-つきも’10-1エンタのように入力します。
11と入れて、後程01-1にするには,
B2に数があるとして
=MID("00",1,3-LEN(B2))&LEFT(B2,LEN(B2)-1)&"-"&RIGHT(B2,1)
    • good
    • 0
この回答へのお礼

ご解答ありがとうございます。
また次回もよろしくお願い致します。

お礼日時:2003/02/03 16:56

なにも不思議なことはない。

そうなってしまいます。
1-9には0を前につけて、ソートすれば良い。
手で0を補うか、別空き列に =mid("00",1,2-len(A1))&A1 と式を入れ下に複写する。コード体系を考える初めに
このことは考えておかないといけないことです。
何桁になっても同じです。10-1の-1は今回は影響しませんが、-0,-1・・と決めるべきで10-とか10を設定するのはしないほうが良い。
    • good
    • 0
この回答へのお礼

こういう関数があるんですね。
知りませんでした。
どうもありがとうございました。

お礼日時:2003/02/03 16:55

10-1 は 2003/10/1なのかな?


そのまま 入れると エクセルが勝手に日付に変換してくれます。
文字列にしてから、セットするといいと思いますが・・・。
また 01 とか ケタをあわせないと ダメでしょう。
    • good
    • 0
この回答へのお礼

0を入れるんですね。
勉強になりました。
ありがとうございました。

お礼日時:2003/02/03 16:53

#1の訂正です。


標準のままでも並びました。
>1 10-1 10-2 2になってしまします。
何故でしょうね?
    • good
    • 0
この回答へのお礼

早速のご解答ありがとうございます。
何故か、私も理由がわかりません。

お礼日時:2003/02/03 16:52

手っ取り早い方法としては、


10-1, 10-2などが含まれる範囲を選択し、
- を . (小数点)に置換し、
10.1、10.2としてから並べ替えるとうまくいく気がします。

当方Excel97がないので、実際にうまくいくかどうかは確認できません。
    • good
    • 0
この回答へのお礼

早速のご解答ありがとうございます。
また次回もよろしくおねがいいたします。

お礼日時:2003/02/03 16:51

文字列にすると1 2 3… 10-1 10-2 10-3


に並びますけど…。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!