今、手元にとても大きなサイズのCSVファイルがあります。
そのファイルは、行は1800行なのですが、列は256行以上あり何列あるかわかりません。
EXECL2000で開くと全ては開けなかったと表示されてしまいます。
なんとか、EXCELでこのファイルを見ることはできないでしょうか?
または、CSVファイルの列を分割できるようなソフトを
ご存知ないでしょうか?
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

テキストエディタのキーボードマクロ等を使って、何列目かのカンマ以降をばっさり切り分けて別ファイルを生成するとか…というのは全然スマートじゃないですね(__;



と思ってベクター等で調べてみたら、Windows用でCSVを直にグリッド編集できるソフトというのがけっこう見つかりました(ベクターのライブラリで、[CSV]+[エディタ]で6件、[CSV]+[編集]で10件)。使ってみたわけではないので何とも言えないのですが、Excelより軽くて、大規模なファイルの編集もできるのがひょっとしたらあるんじゃないかと思います。まずはこの辺から試してみてはいかがでしょうか?

参考URL:http://www.vector.co.jp/vpack/filearea/win/
    • good
    • 0
この回答へのお礼

ありがとうございます。
とりあえず、データを閲覧することはできるようになりました。
EXCELが無理ならば、これでデータを分割して使ってみます。
しかし、EXCELでの閲覧が第一希望なのですが。
知ってる方いらっしゃいませんか?

お礼日時:2001/03/02 02:29

Excel2000 のシートの行列数を変えることは出来ないので


こう言うのはどうでしょうか。

凄い奇抜な方法です (^_^: プログラマでないと駄目。

1.まず *.CSV を読み出すソフトを作る(アプリA)。
2.A で行列を入れ替える。
 →列が 1800列 , 行が ???行 となる。
3.A で 8 列を 1 つのセルで扱えるように文字列に置換する。
 → 1,2,3,4,5,6,7,8,9,10... が "1,2,3,4,5,6,7,8" , "9.10...
  こんな感じ。
4.上で変換したデータを A で *.CSV に書き込む。
5.Excel2000 から A で変換した *.CSV を読み出す。

1 セルに 8 データ入ってしまいますけど、どでしょかー
    • good
    • 0
この回答へのお礼

プログラマですか!?
実は、つい数日前にVBを始めたばかりです。
いずれは、そのようなプログラムも作れるように
なりたいです。
でも、EXCELの256列が広げられないことが
わかっただけでも、充分な収穫でした。
ありがとうございました。

お礼日時:2001/03/03 00:11

「Excel 2000」をお持ちなら、「Access 2000」もお持ちでしょうから、一度そちらに取り込んで、必要な項目だけCSV形式で書き出したらどうでしょうか?



同じように、「fileMakerPro」に取り込んでみるのも良いでしょう。こちらの方が定義も簡単です。ただ、アプリケーションは結構高いので(定価で5万円弱)、お持ちの方のみにお勧めします。

以上。
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
残念ながらAccess 2000、fileMakerProは
どちらも持っていません。
持っているデータがクロス集計式の表なので1つのシートで計算とかしたいのです。
やはり、無理な希望だったのでしょうか...

お礼日時:2001/03/02 12:41

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QA列(10行)とB列(10行)の全ての組み合わせをC列にリストアップしたい。

何度もすみません。
前回の質問で文字列の組み合わせの方法は理解いたしました!
本当にありがとうございます。

追加で質問になるのですが、タイトルにあるように(※数字は仮です)

A列(10行)とB列(10行)の全ての組み合わせをC列にすべて(100行?)リストアップしたいと考えています。

また並び方は
A1
A2
A3



B1
B2



というようにしたいです。
このようにするには

C列にどのような関数を入れればいいのでしょうか?
どうかよろしくお願いいたします。

Aベストアンサー

#3,#4です
C1セルに
=IF(COUNTA(A:A)*COUNTA(B:B)<ROW(),"",
INDEX(A:A,(ROW()-1)/COUNTA(B:B)+1)&" "
&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1))
で良かったです。余計なものを足してました。
添付図、薄い緑は手入力です。水色には数式が入っています
D、E列のような数値が求められれば、(INDEX関数を使って)結果が出せるのはわかるでしょうか?

以下、その数値を求める方法です。
素材として連番があります。

F列は、行番号です。F1セルに =ROW()

G列は、連番をB列の個数で割ったものです。
求めたい値を出すために (連番-1)/B列の個数 +1 としています
G1 =(F1-1)/COUNTA(B:B)+1
=INT((F1-1)/COUNTA(B:B)+1)とすれば求めたい値になります。

H列は連番をB列の個数で割った余りです。
求めたい値を出すために((連番-1)/B列の個数)のあまり +1 としています
F1 =MOD(F1-1,COUNTA(B:B))+1

I1セル =INDEX(A:A,G1)
J1セル =INDEX(B:B,H1)
としてA列、B列の値を引っ張ってきます。
ここでINDEXの第2引数ですが、小数になっている場合切り捨てられて計算されるので、INTを追加しなくても良いです。
わかりにくくなる可能性を加味してINTを加えても良いでしょう。

ある程度の説明はしたつもりですが、それでもわからない点があれば再度質問してください

#3,#4です
C1セルに
=IF(COUNTA(A:A)*COUNTA(B:B)<ROW(),"",
INDEX(A:A,(ROW()-1)/COUNTA(B:B)+1)&" "
&INDEX(B:B,MOD(ROW()-1,COUNTA(B:B))+1))
で良かったです。余計なものを足してました。
添付図、薄い緑は手入力です。水色には数式が入っています
D、E列のような数値が求められれば、(INDEX関数を使って)結果が出せるのはわかるでしょうか?

以下、その数値を求める方法です。
素材として連番があります。

F列は、行番号です。F1セルに =ROW()

G列は、連番をB列の個数で割ったものです。
...続きを読む

Q行のデータ(a列b列c列)をd列に表示したい

a1、b1、c1のセルに入力したデータをd1セルに表示したい。可能でしょうか。一例「a1セルに1と入力、b1セルに2と入力、c1セルに3と入力しd1セルに123と表示する」

Aベストアンサー

d1セルに =a1&b1&c1

エクセルですよね?

QAccess又はExcelで256項目を超えるCSVファイルをインポートしたい

たとえば500項目(フィールド)あるCSVファイ
ルを取り込みたいのですが、AccessもExcelも
256項目までしかインポートできません。


500項目を200項目ごとに
 1回目   1~200項目まで
 2回目 201~400項目まで
 3回目 401~500項目まで
分けてでもいいのですが。


又直接でなくても
別途、エディッタを使うとかで加工後、Access
にインポートするでもOkなんです。

ただ、レコード件数が多いため1レコード毎に加工
するのは無理なんです。


何かよい方法はないでしょうか? 

Aベストアンサー

http://rd.vector.co.jp/soft/win95/business/se096074.html

http://www.koka-soft.com/okada/koka_software/chgfld.htm


これあたりで 事前に加工できそうですが・・・

QExcel: 256列以上の列数データ(複数シート)のピボットテーブル

非常に大きなデータを扱ってピボットテーブルを作ろうとしています(串刺し集計ではありません)
「複数のワークシート範囲」からデータを指定したのですが、レイアウト画面では例えば20アイテムを選択しても、「行」「列」「値」「ページ1」という4項目しか選択することができず、データ範囲に指定した項目を選ぶことができません。
何かよい方法をご存知の方はいらっしゃいませんでしょうか??

Aベストアンサー

pinkwitheさんのようにセルとセルを=A1&B1&C1
などとして、複数のセルをまとめるか、
一度CSV形式でファイルを保存して、
そのファイルを開くときに、1つのセルに複数の列が入るように、自分で区切り位置を指定してあげればよいと思います。
ピボット終了後、またCSVで保存して、今度は、現在の区切り位置である , 「カンマ」で読み込めばよいのではないでしょうか。

Q複数のCSVの指定行だけを残し、さらに行と列を入れ替えたい

タイトルの通りとなりますが
現在Rドライブ直下に
R:\
111a.csv, 222g.csv, 333y.csv・・・
と複数のCSVファイルがあります。
CSVファイルの中身は

1 460-0031
2 愛知県名古屋市
3 中区本丸1−1
4 名古屋城様
5 電話番号
6 営業時間

13行目までと続きます。

1.この複数ファイルすべて[1行目から4行目のみ残し、残りの行はすべて削除したい]
2.この複数ファイルすべての行と列を入れ替えたい[1→A 2→B 3→C 4→D]

こちらを一つずつ処理、または同時に処理できる方法はありますでしょうか。
お答えいただけましたら幸いです。

Aベストアンサー

確認を取らないまま、第三段目に入ります。

>Excelをお使いになるつもりなら、S-JISか、たぶん、Excel2013以上なら、UNICODEも範疇になるとは思います
と書いたにもかかわらず、Excelでは、UTF8のままで処理できるようです。

それで、以下は、UTF8 のままで出力を行っています。
呼び出しを、
ReproduceCSV2 → ReproduceCSV3
に変えてくださっても良いかと思います。

なお、iMacros は、正直なところ、少しいじってはみたものの、よくわかりません。
Class や ID 名前をTAG の後に入れてもきちんと取れません。

私の最近の過去ログのいくつか見ていただければ分かりますが、Excelの中ですべて処理しています。みんなさん、私の作ったものは、あまりお気に召さない召さないようですが……。

一例:関税表
https://oshiete.goo.ne.jp/qa/9690445.html

Sub ReproduceCSV3(fName As String)
'UTF8に変換して出力
 Dim i As Long
 Dim TL As String
 Dim buf As String
 Dim AdoStream As Object
 Set AdoStream = CreateObject("ADODB.Stream")
 With AdoStream
  .Type = 2 ' AdTypeText
  .Charset = "UTF-8"
  .Open
  .LoadFromFile fName
  Do While Not (.EOS)
   If i = 0 Then
    buf = .ReadText(-2)
   Else
    buf = buf & "," & .ReadText(-2) 'adReadLine
   End If
   i = i + 1
   If i >= 4 Then
    .Position = 0
    .SetEOS
    .WriteText buf, 0 ' adWriteChar
    Exit Do
   End If
  Loop
 End With
 AdoStream.SaveToFile fName, 2  'adSaveCreateOverWrite
 AdoStream.Close
 Set AdoStream = Nothing
End Sub

確認を取らないまま、第三段目に入ります。

>Excelをお使いになるつもりなら、S-JISか、たぶん、Excel2013以上なら、UNICODEも範疇になるとは思います
と書いたにもかかわらず、Excelでは、UTF8のままで処理できるようです。

それで、以下は、UTF8 のままで出力を行っています。
呼び出しを、
ReproduceCSV2 → ReproduceCSV3
に変えてくださっても良いかと思います。

なお、iMacros は、正直なところ、少しいじってはみたものの、よくわかりません。
Class や ID 名前をTAG の後に入れてもきちんと取れません...続きを読む


人気Q&Aランキング

おすすめ情報