- ベストアンサー
エクセル 文字と数値
B列に上から 24年 7年 17年 ・ ・ ・ と年のデータが入っています ソートした時に、順番に並ぶように7年を07年にしたいのですが、どうしたらいいですか? セルの書式設定で、ユーザー定義を「00」と入れてもダメでした
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
このセルが「日付」の書式設定されているなら、ソートすれば ちゃんと「7年」の方が上に来るので、たぶん文字列として 「7年」と書かれていると思います。 だとすると、書式などではどうしようもありません。計算用の 列を一つ準備して =RIGHT("00"& A1,3) (A1は「○年」「○○年」と書かれているセルのすべて) と参照式を作って一気にコピーしてやると、お望みのデータが 出来上がります。 そのうえで、この列を「コピー」「形式を選択して貼り付け」「値」 として元の列に張り付ければオッケー、計算用の列は削除して 大丈夫です。
その他の回答 (4)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 他の方々から回答があるように、数値データにして表示形式を変えてやるしかないと思います。 ただ、すでにデータが入力済みだと最初から!といっても大変ですので、 仮にA列2行目からデータが入っているとすると、 どこか使っていない列の2行目に =SUBSTITUTE(A2,"年","")*1 という数式を入れA列の行数分だけオートフィルでコピー! → そのまま(データが範囲指定されたまま) → 右クリック → コピー → A2セルを選択 → 右クリック → 形式を選択して貼り付け → 「値」を選択しOK これでA列が数値のみになりますので、後はA列の表示形式をユーザー定義から 0"年" とします。 これで並び替えが可能になると思います。m(_ _)m
- iw_steel
- ベストアンサー率27% (50/183)
24年、7年は文字列ですから最初から07年と入力しないと時系列にならないでしょう。 方法としては、C列にコピーして区切り位置に”年”を指定したら時間数値になって 思ってるようなソートができますよ。
- kybo
- ベストアンサー率53% (349/647)
B列選択し、セルの書式設定→表示形式→ユーザー定義で「0"年"」とし、 B列には、24,7,17と入力していってください。 どうしても、「07」と表示したいなら、ユーザー定義で「00"年"」とします。
- srafp
- ベストアンサー率56% (2185/3855)
単純な所で、次のような形式でデータを打つ方法が思いつきますね。 '24年 '07年 '17年 これを昇順でソートすると 07年 17年 24年の順となります[エクセル2003 及び 2010で確認済み]。