• ベストアンサー

エクセル 文字と数値

B列に上から 24年 7年 17年 ・ ・ ・ と年のデータが入っています ソートした時に、順番に並ぶように7年を07年にしたいのですが、どうしたらいいですか? セルの書式設定で、ユーザー定義を「00」と入れてもダメでした

質問者が選んだベストアンサー

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.5

このセルが「日付」の書式設定されているなら、ソートすれば ちゃんと「7年」の方が上に来るので、たぶん文字列として 「7年」と書かれていると思います。 だとすると、書式などではどうしようもありません。計算用の 列を一つ準備して =RIGHT("00"& A1,3) (A1は「○年」「○○年」と書かれているセルのすべて) と参照式を作って一気にコピーしてやると、お望みのデータが 出来上がります。 そのうえで、この列を「コピー」「形式を選択して貼り付け」「値」 として元の列に張り付ければオッケー、計算用の列は削除して 大丈夫です。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんにちは! 他の方々から回答があるように、数値データにして表示形式を変えてやるしかないと思います。 ただ、すでにデータが入力済みだと最初から!といっても大変ですので、 仮にA列2行目からデータが入っているとすると、 どこか使っていない列の2行目に =SUBSTITUTE(A2,"年","")*1 という数式を入れA列の行数分だけオートフィルでコピー! → そのまま(データが範囲指定されたまま) → 右クリック → コピー → A2セルを選択 → 右クリック → 形式を選択して貼り付け → 「値」を選択しOK これでA列が数値のみになりますので、後はA列の表示形式をユーザー定義から 0"年" とします。 これで並び替えが可能になると思います。m(_ _)m

  • iw_steel
  • ベストアンサー率27% (50/183)
回答No.3

 24年、7年は文字列ですから最初から07年と入力しないと時系列にならないでしょう。 方法としては、C列にコピーして区切り位置に”年”を指定したら時間数値になって 思ってるようなソートができますよ。

  • kybo
  • ベストアンサー率53% (349/647)
回答No.2

B列選択し、セルの書式設定→表示形式→ユーザー定義で「0"年"」とし、 B列には、24,7,17と入力していってください。 どうしても、「07」と表示したいなら、ユーザー定義で「00"年"」とします。

  • srafp
  • ベストアンサー率56% (2185/3855)
回答No.1

単純な所で、次のような形式でデータを打つ方法が思いつきますね。  '24年  '07年  '17年 これを昇順でソートすると 07年 17年 24年の順となります[エクセル2003 及び 2010で確認済み]。

関連するQ&A