![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
おはようございます。
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ランキング
-
MySQLでデータベースにデータin...
-
日またぎの計算
-
会員サイトでログイン後の会員...
-
カラムにデータがあるかないか...
-
検索条件で絞込みの方法を教え...
-
重複データをカウントするのに...
-
出勤表の作り方
-
PHP PDOを利用してカラムの削除...
-
pg_queryの結果を2回とりだす...
-
VB.NET エラーになる箇...
-
VBAをつかってクエリの情報を抽...
-
検索結果($_POST)が2ページ目...
-
実行時エラー3131 FROM 句の構...
-
配列をループさせてUPDATE
-
<VB.NET>INSERT文でDBにデータ...
-
JAVA SQLServerException 列名 ...
-
テーブルに入っているデータと...
-
php MySQL で、更新ボタンを押...
-
ResultSetインターフェイスでの...
-
insert1つの処理でもトランザ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
トランザクション処理
-
MySQLでデータベースにデータin...
-
PHPシステムでSQLのUPDATEがあ...
-
変数にNULLを代入したい
-
phpにて出欠登録管理を作成して...
-
csvをDBへ読み込んだら、NULLが...
-
php sqlite count 列数取得
-
クエリObjectをforeachで回す時...
-
PHPでフォームからデータDBに書...
-
DB Error: no such field
-
日またぎの計算
-
OracleからAccessへのインポート
-
PHPでいいね機能を作りたいので...
-
PHP PDOを利用してカラムの削除...
-
PHPでPostgreSQLのテーブルを表...
-
SQLで返り値が空とでる
-
PHP prepare フィールド名をエ...
-
PHPでmySQLのテーブルを作成したい
-
外部結合で参照列が複数あるSQL
-
MDB2エラーが対応出来ません。
おすすめ情報