CSVというのがよくわからなくて過去ログを調べていたのですが、CSVというのは表計算ソフト共通のフォーマットで、カンマ区切りのデータなんですよね?

もしもここでSCVとExcelとの違いはなに?と質問したとしたら、その違いは表になっているかいないか、互換性があるかないかということなんでしょうか。

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

A 回答 (4件)

CSV=>Comma Separated Valueの略


レコードの各フィールドを、カンマ区切りで列挙したデータのフォーマット形式。

>もしもここでSCVとExcelとの違いはなに?と質問したとしたら、

CSVはデータの形式でExcelはアプリケーション名です。

"CSVとExcelファイル形式(xls)の違いは?"という事なら、CSVファイルは汎用の
カンマ区切りのテキストデータですが、xlsファイルは文字の大きさ、フォント、
色、シート等の設定を含めたExcelのデータということです。CSVファイルと
比べて格納される情報の量が違います。
    • good
    • 0
この回答へのお礼

的確なご指摘、ありがとうございました。まさに、
>"CSVとExcelファイル形式(xls)の違いは?"
ということです。

お礼日時:2001/08/29 17:52

excelで作られたデーターは通常 *.xlsで,基本的にはexcelでしか使えません。



しかし,このデーターをテキストデータに起きかえればどのような表計算ソフトでも,データーベースでも扱えます。

テキストデータは タブ区切りや(*.txt),スペース区切り(*.prn),カンマ区切り(*.csv)などの種類がありいずれもデータ同士の区切りに“何”を使うかによって拡張子が別れています。

ただ,勘違いしてはいけないのは
excelにあった機能ではなく,excelがこれらの形式にも対応したのです。


ですから,表計算用というのも,厳密に言えばチョット違いマス。
エクセルで見ると表に見えるというだけです。


いろんなデーターを相手に渡すときは相手のアプリがわからない場合は
このテキストに変換するケースが多いです。(容量も小さくなりますし)
    • good
    • 0
この回答へのお礼

チョット違ったんですか。ありがとうございます。

お礼日時:2001/08/29 17:55

まさしく、その通りなのではないでしょうか。



XLS形式→Excel専用
CSV形式→汎用フォーマット

Excelで開くとCSVも表になりますが。
    • good
    • 0
この回答へのお礼

ちょっとちがうみたいでした。
どうもありがとうございます。

お礼日時:2001/08/29 17:56

CSVはカンマで区切られたデータで、一般的な住所録ソフトや表計算ソフトで扱うことが出来ます。

その代わり、CSVに含まれるデータは「文字だけ」です。

エクセルはシートが何枚あるかとか、文字の大きさや色、セルの幅や罫線、グラフのデータ、印刷の設定など全部を含めてエクセルのデータです。
    • good
    • 0
この回答へのお礼

わかりやすく説明して頂いて、ありがとうございます。
はっきりしてきました。

お礼日時:2001/08/29 16:26

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

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

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

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

Qカンマ区切り形式ではなく、セミコロン区切り形式のCSVファイルを作りた

カンマ区切り形式ではなく、セミコロン区切り形式のCSVファイルを作りたいのですが、どのようにしたらよいのでしょう。困っています。

Aベストアンサー

「セミコロン」である時点で「CSV(Comma Separated Values)」とは言わないと思うのですが……

>どのようにしたらよいのでしょう。
テキストエディタ(メモ帳やワードパッドでも可)を使用すれば作れます。
そのままテキストエディタで入力してもいいですし、
一旦ExcelでCSVファイルを作った後、テキストエディタでカンマをセミコロンに置換することです。

QVBSでテキストファイルのタブ区切りをカンマ区切り

先日タブ区切りをカンマ区切りにするVBSを教えて頂き、それに少し手を加えタブ区切りをカンマ区切りには出来たのですが、変換後の項目の両端にブランクが入ったり、全角が化けてしまいました。解決方法を教えていただけますでしょうか?

変換イメージは下記の通りです。

1  20130201  1   8411  旅費交通費  100  0  忠
2  20130201  1 2 1111  現金  0  100  タクシー

               ↓

1,20130201,"1","","8411","旅費交通費",100,0,"忠"
2,20130201,"1","2","1111","現金",0,100,"タクシー"

下記プログラムを実行した後

1 , 2 0 1 3 0 2 0 1 ," 1 "," "," 8 4 1 1 "," ナeサ研N製・ 1 0 0 "," 0 "," 濱 "
2 , 2 0 1 3 0 2 0 1 ," 1 "," 2 "," 1 1 1 1 "," sム・ 0 "," 1 0 0 "," "," ソ0ッ0キ0・"

Dim fso, beforeFile, afterFile
Dim strLine, strColumn
Dim aryColumns(), aryBuff
Dim i

Set fso = CreateObject("Scripting.FileSystemObject")
Set beforeFile = fso.OpenTextFile("before.txt", 1)
Set afterFile = fso.OpenTextFile("after.txt", 2, True)

strLine=beforeFile.ReadLine
Do While beforeFile.AtEndOfLine = False
strLine=beforeFile.ReadLine
aryBuff = Split(strLine,Chr(9))
i = 0
For Each strColumn In aryBuff
ReDim Preserve aryColumns(i)
if i = 0 or i =1 Then
aryColumns(i) = strColumn
Else
aryColumns(i) = """" & strColumn & """"
End if
i=i+1
Next
afterFile.WriteLine(Join(aryColumns, ","))
Erase aryBuff
Erase aryColumns
Loop

先日タブ区切りをカンマ区切りにするVBSを教えて頂き、それに少し手を加えタブ区切りをカンマ区切りには出来たのですが、変換後の項目の両端にブランクが入ったり、全角が化けてしまいました。解決方法を教えていただけますでしょうか?

変換イメージは下記の通りです。

1  20130201  1   8411  旅費交通費  100  0  忠
2  20130201  1 2 1111  現金  0  100  タクシー

               ↓

1,20130201,"1","","8411","旅費交通費",100,0,"忠"
2,20130201,"1","2",...続きを読む

Aベストアンサー

FileSystemObjectでは、文字エンコーディングの変換はできません。
文字エンコーディングの変換が必要な場合、ADODB.Streamを利用します。
そこらへんからパクってきて、極力形を崩さずコードし直しました。

Dim beforeFile, afterFile
Dim strLine, strColumn
Dim aryColumns(), aryBuff
Dim i

beforeFile = "before.txt"
afterFile = "after.txt"

'入力ストリームの生成・設定(テキスト、UTF-16LE)
Dim inStream
Set inStream = CreateObject("ADODB.Stream")
inStream.Type = 2' 1:バイナリデータ 2:テキストデータ
inStream.Charset = "UTF-16"
Call inStream.Open()
Call inStream.LoadFromFile(beforeFile)

'出力ストリームの生成・設定(テキスト、SJIS)
Dim outStream
Set outStream =CreateObject("ADODB.Stream")
outStream.Type = 2' 1:バイナリデータ 2:テキストデータ
outStream.Charset = "SJIS"
Call outStream.Open()

Do While inStream.EOS = False
'読み込んだレコードをカンマ区切りで配列に格納
strLine = inStream.ReadText(-2)'-1:全部読み込む -2:一行読み込む
aryBuff = Split(strLine, Chr(9))
i = 0
For Each strColumn In aryBuff
ReDim Preserve aryColumns(i)
if i = 0 or i =1 or i =6 or i =7 Then
aryColumns(i) = strColumn
Else
aryColumns(i) = """" & strColumn & """"
End if
i=i+1
Next
'必要な情報を出力ストリームへ書き出す
Call outStream.WriteText(Join(aryColumns, ","), 1)'0:文字列のみ書き込む 1:文字列+改行を書き込む
Erase aryBuff
Erase aryColumns
Loop

' ファイル書き出し
Call outStream.SaveToFile(afterFile, 2)' 1:上書きしない 2:上書きする

'ストリームを閉じる
inStream.Close
outStream.Close

'オブジェクトを解放
Set inStream = Nothing
Set outStream = Nothing

FileSystemObjectでは、文字エンコーディングの変換はできません。
文字エンコーディングの変換が必要な場合、ADODB.Streamを利用します。
そこらへんからパクってきて、極力形を崩さずコードし直しました。

Dim beforeFile, afterFile
Dim strLine, strColumn
Dim aryColumns(), aryBuff
Dim i

beforeFile = "before.txt"
afterFile = "after.txt"

'入力ストリームの生成・設定(テキスト、UTF-16LE)
Dim inStream
Set inStream = CreateObject("ADODB.Stream")
inStream.Type = 2' 1:バイナリデータ 2:テキ...続きを読む

Q行にある文字をカンマ区切りでひとつのセルに

エクセルで次のようなデータがあります

"a","b","c","d"
"1","","3","4"
"1","2","","4"
"","2","3","4"

このデータに対して
2行目から4行目のe列に
その行に入っている数字をカンマ区切りで表示させたい
下記のイメージです

"a","b","c","d","e"
"1","","3","4","1,3,4"
"1","2","","4","1,2,4"
"","2","3","","2,3"

ダブルコーテーションマーク"はついていませんが
質問時、表が崩れるのでこれをつけさせてもらいました
上記のイメージですがデータ的には
900行、50列ほどあります

関数かVBAでやれる方法を教えていただきたいのですが・・・
関数・VBAについては昔やったことがある程度です
時間をかけて何かをみながら・・・やれる程度のものです
ヒント等いただければ幸いです

Aベストアンサー

>上記のイメージですがデータ的には900行、50列ほどあります

現実には50列ものデータをちんたら関数で書いていくのはタマリマセンので,次のようにしてみます。


方法1:関数
シート1にそういったデータがあるとして
シート2のA1に
=SUBSTITUTE(TRIM(Sheet1!A1&" "&B1)," ",",")
と記入,シート1のデータ範囲をおおまかカバーするセル範囲にえいやっとコピー貼り付けてやると,シート2のA列にコタエが並びます。

必要に応じてA列を丸ごとコピーし,コタエを置きたい場所(シート3のA列でもいいし,シート1のはじっこ列でも)に形式を選んで貼り付けの値のみ貼り付けます。



方法2:マクロ
シンプルに900行×50列の固定で。

sub macro1()
 dim r as long
 dim c as long
 dim buf as string

 for r = 1 to 900
  buf = ""
  for c = 1 to 50
   if cells(r, c) <> "" then
    buf = buf & "," & cells(r, c)
   end if
  next c
  cells(r, 51) = mid(buf, 2, len(buf))
 next r
end sub

>上記のイメージですがデータ的には900行、50列ほどあります

現実には50列ものデータをちんたら関数で書いていくのはタマリマセンので,次のようにしてみます。


方法1:関数
シート1にそういったデータがあるとして
シート2のA1に
=SUBSTITUTE(TRIM(Sheet1!A1&" "&B1)," ",",")
と記入,シート1のデータ範囲をおおまかカバーするセル範囲にえいやっとコピー貼り付けてやると,シート2のA列にコタエが並びます。

必要に応じてA列を丸ごとコピーし,コタエを置きたい場所(シート3のA列でもいいし,...続きを読む

Q筆まめの名簿をCSVに落としましたが、CSVファイルが文字化けします。

筆まめの名簿を人に頼んでCSVファイルに落としてもらいましたが、これをエクセルで読もうとすると文字化けしてしまいます。エクセルでどのような設定をすればCSVファイルが読めるようになるのでしょうか。

パソコン初心者ですので分かりやすく教えて下さい。

Aベストアンサー

設定なしでExcelでcsvファイルは読むこと出来ます
他に、エディタなどでも可能です

文字化けするのは、何か外字など特殊な文字を使っている・・・と言うことはありませんか?
もしくは
http://support.microsoft.com/default.aspx?scid=kb;ja;821863
の現象とか??

そのままのファイルを筆まめにインポートした場合どうなりますか?
やはり文字化けしていますか?

QExcelの住所録フォーマット表をずっと下まで無限につくりたい

Excelについて質問です。基本的なことかもしれませんが初心者なので何卒ご容赦ください。

会社で顧客の住所録を、添付した画像のようなフォーマットで作ろうと思ってます。登録する数はそんなに多くありません。
紙に出力する必要がなくデータ管理のみで使っていきたいので、添付したフォーマットの表をずっと下まで無限に続けたいと思っています。

どのようにしたらよいでしょうか?
もしくはほかに何か最適なフォーマットやフリーソフトなどありましたら教えてください。
(ちなみに「デザイン満彩」という宛名ラベルのソフトに流し込みたいためファイルの形式は、CSVファイルまたはExcelファイルでお願いします。)

Aベストアンサー

こんばんは!

一案です。No.3さんが仰っているように条件付き書式で対応してみてはどうでしょうか?
罫線と塗りつぶしの二つの条件付き書式を設定します。

① 罫線の設定
A~K列すべてを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=AND(ROW()>4,$A1<>"")
という数式を入れ → 書式 → 罫線タブ → 「外枠」を選択しOK

② 塗りつぶしの設定
同様にA~K列を選択したまま新しく条件付き書式を追加
・・・中略・・・ → 数式を使用して → 数式欄に
=AND(ROW()>4,MOD(ROW(),2)=1,$A1<>"")
という数式を入れ → 書式 → 塗りつぶしから好みの色を選択しOK

これでA列に何らかのデータが入った瞬間に
罫線が表示され、1行おきにセルが塗りつぶされます。m(_ _)m


人気Q&Aランキング

おすすめ情報