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

CSVデータの行列を入れ替えるソフトを教えてください。

現在、100件ほどのデータを集計したいのでEXCELで開きたいと思っています。しかし、項目が600を超えており、EXCELの列の最大数は256ですから、データを全て読み込むことは出来ません。行列を入れ替えれば、列が100件程度になり読み込めるようになります。

出来ればMac、無ければWinでもかまいませんが、このためにソフトを買うつもりはないので、フリーソフトでお願いします。

●質問者: nekogo
●カテゴリ:コンピュータ
✍キーワード:CSV Excel MAC WIN うつ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● tfujiyama
●0ポイント

簡単なのはEXCELの「形式を選択して貼り付け」を使用する際に、「行列を入れ替える」というオプションがありますので、100件×600項目程度のデータなら、何回かにわければ、そんなに時間をかけずとも対応できると思います。

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

◎質問者からの返答

質問をきちんと読んでいますか?

確かに100件×200項目で3回入れ替えが出来ます。しかし、もともとデータが全て読めないので、この方法は使えませんよね?


2 ● llusall
●30ポイント

Windows用フリーソフトです。


CHGCSV

CSVファイルの行と列を交換(フリーソフト)

http://www.vector.co.jp/soft/win95/business/se085348.html


CSVRCX

CSVの行と列を入れ替える(フリーソフト)

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

◎質問者からの返答

ありがとうございます。

助かります。


3 ● きゃづみぃ
●30ポイント

マクロを作ってみました。これでできると思いますよ。

ファイル名とか置き換えて、標準モジュールに入れてください。

Ctrl+q で読みこめます。

Sub Macro1()

'

' Macro1 Macro

'

' Keyboard Shortcut: Ctrl+q

'

Dim a As String

Dim b As Long

Dim c As Long

Dim d As String

Dim f As Boolean

b = 1

c = 1

f = False

d = ""

Open "C:\test.csv" For Input As #1

Do While Not EOF(1)

a = Input(1, #1)

Debug.Print a

Select Case a

Case Chr(&H22)

If f Then f = False Else f = True

d = d & a

Case Chr(13)

Cells(b, c) = d

f = False

c = c + 1

b = 1

d = ""

Case ","

If f Then

d = d & a

Else

Cells(b, c) = d

b = b + 1

d = ""

End If

Case Else

d = d & a

End Select

Loop

Close #1

End Sub



http://www.excel.studio-kazu.jp/mag2/backnumber/mm20040622.h...


4 ● きゃづみぃ
●100ポイント ベストアンサー

先ほどのは 改行が一つ 余計に 入ってしまっていました。

これで OKかと・・・。

Sub Macro1()

'

' Macro1 Macro

'

' Keyboard Shortcut: Ctrl+q

'

Dim a As String

Dim b As Long

Dim c As Long

Dim d As String

Dim f As Boolean

b = 1

c = 1

f = False

d = ""

Open "C:\test.csv" For Input As #1

Do While Not EOF(1)

a = Input(1, #1)

Select Case a

Case Chr(&H22)

If f Then f = False Else f = True

d = d & a

Case Chr(13)

Cells(b, c) = d

f = False

c = c + 1

b = 1

d = ""

Case ","

If f Then

d = d & a

Else

Cells(b, c) = d

b = b + 1

d = ""

End If

Case Chr(10)

Case Else

d = d & a

End Select

Loop

Close #1

End Sub



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

◎質問者からの返答

ありがとうございます。

できました♪

関連質問


●質問をもっと探す●



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