• 締切済み

Excelのグラフ、データ範囲について

Excel2002を使用しています。 マーカー付き折れ線グラフの作成を指示され、作業しています。 途中までは作業できていたのですが、csvファイルのデータが大きいものがあったので、それは一旦Accessにインポートして分割して再度xlsファイルにして作業を進めていました。 そうしたところ、それまで系列のデータ範囲が自動で「列」になっていたものが「行」になっており、データのほとんどがタイトルと認識されていました。 仕方ないので手動で「名前」、「値」、「項目軸ラベルに使用」を直したのですがそのまま作成すると、データの値がなぜが全て0で読み込まれているようで、グラフの底にマーカーの直線が出来てしまいます。 これはどういったことが原因に考えられるでしょうか。 どなたかご教示願います。

みんなの回答

  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

>が、csvファイルをExcelで開くと、データの3分の2程度までしか表示出来ないため、 >やはり教えて頂いた方法で数値化出来るのは表示されたところまででした。 ハテナ?です。 1)CSVファイル ↓ 2)一旦Accessにインポート ↓ 3)xlsファイルに分割 ↓ 4)xlsファイルとして開く ↓ 5)グラフ作成 という手順でやってるのですよね? (4)で開いた時に数値化してグラフにすれば良いというわけではないのでしょうか。 そもそも『一旦Accessにインポート』しなければできない処理なのか不明ですが。 CSVファイルをテキストエディタで開いて適当な行数で分割保存してExcelに取り込めばいいと思います。 必要であれば、csvファイルを分割して複数シートに取り込むマクロもありますけど。 Sub CSV分割読み込み()   Const LIMIT As Long = 50000 '1Sheetあたりの分割数   Dim wkCon  As Object 'ADODB.Connection   Dim wkRst  As Object 'ADODB.Recordset   Dim wkPath As String   Dim wkCsv  As String   Dim wkSQL  As String   Dim ws   As Worksheet   Dim p    As Long   Dim x      x = Application.GetOpenFilename("csvFiles,*.csv")   If VarType(x) = vbBoolean Then MsgBox "cancel": Exit Sub   p = InStrRev(x, "\")   wkPath = Left$(x, p)   wkCsv = Mid$(x, p + 1)   wkSQL = "SELECT * FROM [" & wkCsv & "];"      On Error GoTo conErr   Set wkCon = CreateObject("ADODB.Connection")   With wkCon     .Provider = "Microsoft.Jet.OLEDB.4.0"     .Properties("Extended Properties") = "TEXT;HDR=no;FMT=Delimited"     .Open wkPath   End With      On Error GoTo rsErr   Set wkRst = CreateObject("ADODB.Recordset")   wkRst.Open wkSQL, wkCon   Do While Not wkRst.EOF     Set ws = Sheets.Add     ws.Range("A1").CopyFromRecordset wkRst, LIMIT     Set ws = Nothing   Loop   wkRst.Close rsErr:   wkCon.Close conErr:   Set wkRst = Nothing   Set wkCon = Nothing   With Err()     If .Number <> 0 Then       Debug.Print .Number, .Description     End If   End With End Sub

vodka1980
質問者

お礼

ありがとうございます。 そうでした、何も色々弄り回さなくても、先に教えて頂いた方法で数値化できますよね。 なぜか分割後、延々とセルの書式設定を弄ってはどうにもならずに困っていました。 思い込みです。すみません。 テキストエディタの分割とマクロも試してみました。 テキストエディタでの分割は問題なくできました。 マクロはデジタル証明がなんとかというポップアップが出て、実行出来ませんでした。 色々と教えて頂きありがとうございました。

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

>csvファイルのデータが大きいものがあったので、 >それは一旦Accessにインポートして分割して再度xlsファイルにして... この段階で、データの値が、数値に見えるけど実際は「文字列」になっていないでしょうか。 データの列を選択して[データ]-[区切り位置]-[完了]クリックで数値化できませんか?

vodka1980
質問者

補足

ありがとうございます。 確認したところ、確かに文字列になっていました。 が、csvファイルをExcelで開くと、データの3分の2程度までしか表示出来ないため、やはり教えて頂いた方法で数値化出来るのは表示されたところまででした。 Accessでインポートする際に数値化出来ないか試してみたのですが、グラフで「項目軸ラベルに使用」に相当するものが日時のため、そちらがインポートエラーとなりました。 インポート後に項目のみ数値化も試してみましたが、こちらは小数点以下がバッサリ消えて整数になっていました。 どこか別の段階で数値化することは可能でしょうか? よろしくお願い致します。

関連するQ&A