今、手元にとても大きなサイズの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と関連する良く見られている質問

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ベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

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

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

Aベストアンサー

d1セルに =a1&b1&c1

エクセルですよね?

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

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


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

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

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

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

Aベストアンサー

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

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

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ランキング