![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
おはようございます。
Excelにあるデータをデータベース(Access、またはMSDE)にインポートする方法を知りたく投稿します。
Excelに以下のようなデータが並んでおり、この並びを変更することはできないそうです。
|------------------|
[日付(yy/mm/dd)]
[社員No(文字型)] [当日迄][今月][割合]
・・・
これがその日付分、社員の人数分、縦に並んでいます。
|--|で示されるデータ部分が横に1週間分並んでいます。
更に週のまとまりが縦に6週並んでいます。
その中から1レコードが以下のデータになるよう抜き取ろうと思っています。
[社員No][日付][当日迄][今月]
・条件として、[当日迄]にデータが入っていること。
今はC#からの操作を考えているのですが、
このようなデータを抜き取る場合、配列にも入れられない(型が一通りではないため)、CSVに吐き出すとしてもExcel側でマクロを組むとforループを多用したためか、インポートに時間がかかってしまいます。
このような場合、どういう方法を使うのが一般的(適切)なのでしょうか?
No.2ベストアンサー
- 回答日時:
意味がわかりました。
日付だけでなく[当日迄][今月][割合]も横に並んでいるということですね。
ExcelをAccessのテーブルにリンクして1レコード中の1週間分をユニオンクエリで1列に表示するようにすれば良いのでは。ユニオンで1列の状態にしてテーブルを作成するようにすれば行けるのでは。
回答が遅くなり失礼いたしました。
テストデータで確認してみましたところ、
大体うまくいきました。
これから、実データ用に落とし込んでみます。
ありがとうございました。
No.1
- 回答日時:
Accessの場合
Excelをテーブルにリンクさせ[当日迄]に該当するフィールドにデータが存在するレコードだけを抽出するテーブル作成クエリを作りそのクエリを元にテーブルを作成すれば出来ます。(Excelの[当日迄]と[日付(yy/mm/dd)]の列が重複する列でなければこれで出来ます)
これが一番簡単な方法です。
[当日迄]と[日付(yy/mm/dd)]の列が重複する列の場合は別の列で[日付(yy/mm/dd)]の列が重複しない列で一度[日付(yy/mm/dd)]が除けるように抽出し再度[当日迄]にデータが存在するレコードだけ抽出するようにすれば良いのではないでしょうか。
またはDAOを使用してExcelのワークシートを参照するリンクテーブルを作成しクエリを使い[当日迄]にデータが存在するレコードを抽出する。
このくらいではないでしょうか。
O_cyanさん、回答ありがとうございます。
Accessを使ってということでしたが、Excelへのテーブルからのリンクもできませんでした。(やり方間違っているかもしれませんが・・・)
Excel上では、[当日迄]と[日付]は違う列なのですが、
| |[日付]| | |[日付] ・・・
----------------------------------------------
[社員No]|[当日迄]|[今月]|[%]|[当日迄]|[今月]・・・1人目 → 1週間分
----------------------------------------------
[社員No]|[当日迄]|[今月]|[%]|[当日迄]|[今月]・・・2人目
となっているので、テーブルへの直接リンクは無理なような気がいたします。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) excelの列幅高さが勝手に変わる(特定のPCだけ) 8 2022/07/14 16:51
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) Excelで作成しているシート(表) 5 2023/06/15 10:20
- Visual Basic(VBA) Excelで横書き50行の漢字テストデータを縦書きのテスト問題にしたい。 6 2022/04/27 15:03
- Excel(エクセル) Excelで日付のグラフへの表示 2 2022/04/15 11:04
- その他(プログラミング・Web制作) 【python】Excelファイルを読み込む際の日付の表示形式を任意にする 2 2022/11/24 14:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カラムにデータがあるかないか...
-
PHPでいいね機能を作りたいので...
-
MDB2エラーが対応出来ません。
-
SQLの結果が返ってこない
-
<VB.NET>INSERT文でDBにデータ...
-
バイナリ画像データのサイズ変更
-
PHP MySQL で updateができま...
-
Pro*Cの構文エラー
-
VBAをつかってクエリの情報を抽...
-
連想配列、オブジェクト配列の...
-
phpでforeach ($stmt as $row)...
-
データベースから値の取り出し...
-
mysql>PHPにデータ表示、10件ご...
-
php データ削除
-
insert1つの処理でもトランザ...
-
Microsoft Access DBへの接続
-
SQL文の実行に失敗しました???
-
PEARを使ったフェッチのしかた。
-
コードで渡したデータを降順に...
-
VBAについて質問です
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLでデータベースにデータin...
-
変数にNULLを代入したい
-
csvをDBへ読み込んだら、NULLが...
-
ヒアドキュメントでSQLを書く事...
-
カラムにデータがあるかないか...
-
出勤表の作り方
-
phpでテーブルを作る際変数によ...
-
OracleからAccessへのインポート
-
どちらが高速ですか?
-
エクセルをMysqlに格納
-
PHPでmySQLのテーブルを作成したい
-
MDB2エラーが対応出来ません。
-
SQLで返り値が空とでる
-
PHPでいいね機能を作りたいので...
-
データをDBからひっぱってき...
-
SQL Serverからのvarchar型のデ...
-
where文について
-
PEAR Pagerを利用してデータの...
-
PHP+MySQLで、日時を比較して抽...
-
ランダム文字列をDBにINSERT
おすすめ情報