csvファイルをエクセルで読み込みデータの配置を変えたいです。
csvファイルを読み込む際にデータの区切り位置でカンマ区切りにし
今は下記のような配置になっています。
文字列 文字列 文字列 文字列 日付 時刻 時刻 文字列 文字列 (たまに空白)...
と文字列と日付、時刻、空白が混ざってます。
また、不規則な並び順になっています、
それをとりあえず改行させたいと思っています。
=OFFSET(Sheet1!$A$1,INT(ROW(A1)/100),MOD(ROW(A1)-1,100))
を使い改行することはできるのですが、文字列と日付、時間が混ざっているので
日付や時刻が文字列になってしまします。どのようにすれば時刻、日付を区別することができるでしょうか。
よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
最終的に、データがどう並べばいいんですかね?そこが質問から読み取れないので…
例えば1行の始まりを必ず時刻にして、1行には時刻は一つしか存在しないようにしたいとか、もう少しやりたい事というか目指す形を具体的に示してもらえると、答える方はイメージしやすくなります。
闇雲に改行するだけでは、データがより扱いづらくなるだけのような予感がすることと、おそらくマクロを動員しなければ実現できないだろうなとは思いました。
これは全くの思い付きですが、一見無秩序に見えるけど、実は37個とかの半端な個数で区切ったら綺麗に並ぶとか、必ず特定データでレコードが終了するみたいな規則性はないですか?
No.2
- 回答日時:
改行のない無駄に長いカンマ区切りのデータでしょうか。
それはそのデータが悪い。
データ100個ずつで改行(?)するのではなく、パターンを読んで改行(?)するようにしてはいかがでしょう。
(先頭から、日付、時間、の順に並ぶように改行(?)するとか)
この場合、Excelに読み込むより前にテキストエディタ(メモ帳)やWordで処理したほうが早いかもしれません。
(目で見て霧の良いところを選び質問者さん自身の手で編集しましょうという事です)
でなければ前の質問者さんのようにマクロ(VBA:Visual Basic for Application)での処理になると思います。
マクロが分からず10,000くらいのデータ数なら手で改行を入れたほうが早いと思います。
日付と時間を含むcsvファイルは、
日付、時間、以下文字列が不特定数
なんてパターンが多いですからね。
そうでなくてもExcelに読み込んだ後で文字列を日付と時間に直すことが簡単にできます。
とりあえず日付が先頭にくるよう、あらかじめ改行を入れ整形しておくとよいでしょう。
(空白が必ず時間の前にあるなら、その空白は省略された時間とみなしても良いでしょう)
・・・ってか、元のデータが不親切すぎると思うんだ。
機械が吐き出すデータなら、改行させる設定(デリミタの設定など)があるはずですので取扱説明書を読んでみてください。
No.1
- 回答日時:
何がしたいのかは、私にはいまいち理解できないのですが、、、
>どのようにすれば時刻、日付を区別することができるでしょうか。
については、
isdate関数
http://officetanaka.net/excel/vba/function/IsDat …
で日付時刻型の判断はできますので、
単に日付だけかどうかは、ストリングの長さやdateserialでもう一度日付型にいれなおして、
比べることによって判断できる場合も有ります。
時刻かどうかも架空の日付に値をくっつけて、isdate関数で判断することにより
時刻であるという判断はできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Ruby power BI クエリエディター 〇〇を含む文字列置換 1 2022/10/16 17:34
- Excel(エクセル) Excel 複数列のある文字を優先して1列に表示したいです 2 2022/12/03 12:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA listBoxについて
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
左右の表のキー位置を合わせたい
-
VBAを使用した時間管理
-
エクセルVBAにて =A1=B1とすれ...
-
エクセルの合計を自動で表示さ...
-
Outlookの「受信日時」「件名」...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
Excelで「Ctrl+c」、「Ctrl+v...
-
ユーザーフォームに別シートか...
-
Excelのマクロでワードのテキス...
-
ExcelのVBAです。フォルダ内の...
-
VBAの質問になります Userform内で
-
Excel VBA マクロ あるフォルダ...
-
【VBA】マクロの入ったファイル...
-
ExcelのVBAコードについて教え...
-
ExcelVBA シート名を複数セルか...
-
VBA 何かしら文字が入っていたら
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA マクロ シート名を変...
-
VBA
-
VBA 指定した回数分、別シート...
-
Outlookの「受信日時」「送信者...
-
Excelのマクロ(VBA)は、同じ...
-
郵便番号検索APIにてget Elemen...
-
outlookの受信日時、本文などを...
-
【マクロ】プルダウンが設定し...
-
引数に数値、文字列の混在
-
VBA実行後に元のセルに戻りたい
-
エクセルVBAでデータ転記
-
近似した文字列を置換するエク...
-
for 文の 繰り返し処理に使える...
-
ユーザーフォームに別シートか...
-
Excel VBAで値を変えながら、pd...
-
Outlookにて既にウィドウ単体で...
-
【VBA】マクロの入ったファイル...
-
メールの件名をデコードしたい
-
Outlookの「受信日時」「件名」...
-
VBA 何かしら文字が入っていたら
おすすめ情報