人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

以下のような、品名とその金額が書かれたテキストがあります。
品名の文字数でソートするにはどうしたらよいでしょうか?

※行数が100万行以上ありExcelでは扱えません。
※品名と金額の間はタブで区切られているとします。

★例(実際は100万行以上あります)★

<ソート前データ>
りんご1000円
鉛筆20円
ジャガイモ210円


<ソート後データ>
鉛筆20円
りんご1000円
ジャガイモ210円

●質問者: tetlis
●カテゴリ:コンピュータ インターネット
✍キーワード:Excel と金 りんご ジャガイモ ソート
○ 状態 :終了
└ 回答数 : 7/7件

▽最新の回答へ

1 ● snpgr
●18ポイント

パッと思いつく物としては

タブを「,」に置き換えてCSV形式として保存し

EXCELでソートしてCSVで書き戻してから「,」をタブに戻すとか

参考:CSV形式

http://www.morgan.co.jp/kiso/3file-4.htm

◎質問者からの返答

Excelで扱える行数ではありません。


2 ● kopj
●17ポイント

以下のソフトを用いたらいかがでしょうか?

ozsort テキストデータベース(並べ替え)

http://www.vector.co.jp/soft/win95/util/se290604.html


3 ● Yota
●17ポイント

タブ区切りファイルからリレーショナルデータベースのテーブルにINSERTすれば、文字列の長さでソートできます。

例えば、

http://www.postgresql.jp/

◎質問者からの返答

もっと具体的に教えてください。


4 ● Yota
●17ポイント

1.PostgreSQLサーバをインストールする。

2.テーブルを作る

CREATE TABLE tablename(columnname type,.....) ;

3.データを入れる。

COPY tablename FROM 'filename' ;

参照。

http://www.postgresql.jp/document/pg820doc/html/sql-copy.html

4.並べ替える。

SELECT * FROM tablename ORDER BY char_length(columnname) ASC

参照。

http://www.postgresql.jp/document/pg820doc/html/functions-string...

5.タブ区切りファイルに書き出す。

COPY tablename TO 'filename';


5 ● aside
●17ポイント

http://q.hatena.ne.jp/answer

MS Accessで下記構成のテーブルを作成して

データを取り込んで、下記クエリを作って

実行すると、200万件のソート結果が

表示できました。

テーブル名:Test

品物名:フィールド1

価格:フィールド2

クエリ内容:

SELECT フィールド1, フィールド2

FROM Test

ORDER BY lenb(フィールド1);


1-5件表示/7件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ