Excelクエリで日付がうまく抽出できない

このQ&Aのポイント
  • Excelのクエリを使用して特定の項目を抽出する際、日付が正しく抽出されない現象が発生しています。文字列の抽出は問題なく行えますが、日付がスキップされてしまいます。元のシートには日付がすべて記入されているため、何が原因なのかわかりません。一度コピーして新しいシートに貼り付けると問題なく抽出できますが、同じ現象が起きない方法を知りたいです。
  • Excelのクエリを使用して特定の項目を抽出するときに、日付の抽出がうまくいかない問題が発生しています。文字列の抽出には問題がないのですが、日付が抽出結果に含まれず、空白となってしまいます。元のシートには日付が正しく入力されているはずなので、何が原因なのか不明です。一度コピーして新しいシートに貼り付けると日付も抽出できますが、同じ問題が再発しない方法を知りたいです。
  • Excelのクエリ機能を使って特定の項目を抽出する際、日付の抽出が上手くいきません。文字列の抽出には問題ないのですが、いくつかの日付が抽出されず、結果に空白が発生してしまいます。元のシートには日付が正しく入力されているはずなので、何が原因でこの問題が発生しているのか分かりません。新しいシートにコピーして貼り付けると解決するようですが、同じ現象が再発しない方法が知りたいです。
回答を見る
  • ベストアンサー

Excelクエリで日付がうまく抽出できない

あるシートから、特定の項目(「ID」、「日付」など)を抽出して他のシートに表示させたいという依頼があったので調べてみた結果、Excelのクエリという機能に行きつきました。 ところが、文字列は問題なく抽出できるのですが、日付がところどころスキップされてしまいます。日付の欄は元のシートですべて埋まっているはずなのに、抽出結果には空白がいくつもあるのです。 一度元になるシート全体をコピーして、新しいシートにテキストとして貼り付けると、そこからは問題なく日付も抽出できるので、書式設定か何かが邪魔しているように見えますが、よく分かりません。 (このテキストとして貼り付けた新しいシートを元シートとして利用することも考えていますが、エラーの原因が分からないと、同じ現象がまた起きそうで怖いです。) 何が起きていて、どうすれば解決できるのか教えていただけませんか? また、クエリ以外の方法でもお薦めの方法がありましたらぜひ教えてください。 ちなみにVBAの知識はほぼゼロです。 どうぞよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

データを拾えなかったセルは,日付に見える文字列等で記入されているのかもしれません。 データの直し方: 当該の元データシートで当該の日付列を選ぶ データメニュー(Excel2007以降ではデータタブ)の区切り位置を開始する 特に何もせず次々送り,3/3画面で「年月日」の書式を明示的に付けてOKする 改めてクエリで拾ってみる。 >他の方法 クエリで抽出するのは便利な方法の一つです。 抽出の条件が簡単な場合は,「オートフィルタ」で絞り込んでしまい,コピーして新しいシートに貼り付けてしまう場合も多くあります。 エクセルの一般機能としてはデータメニューのフィルタから「フィルタオプションの設定」(Excel2007以降ではデータタブの「詳細設定」)を使い,条件を指定してリストを抽出します。 また,状況によっては「ピボットテーブルレポート」などが利用できる場合もあります。 ご利用のエクセルのバージョンが不明のため詳しい手順の説明を省略しますが,ネットで「フィルタオプションの設定」で検索してみると説明ページが多数ヒットしますので,勉強してみてください。 #ご利用のソフトのバージョンに応じて,具体的な操作の段取りが変わる場合があります。ご相談投稿時にはご利用のソフト名は当然として,実際に使っているバージョンまでしっかり明記することを憶えてください。

sunnyD
質問者

お礼

区切り位置ウィザードで解決です! とても悩んでいたので小躍りしたいくらいうれしいです。 本当にありがとうございました。 バージョンの記載、以後気をつけます。

その他の回答 (1)

  • LHS07
  • ベストアンサー率22% (510/2221)
回答No.1

貼り付ける先のセルの書式を日付にしておけばいいのではないでしょうか?

sunnyD
質問者

お礼

貼り付ける側の形式設定もダメでしたが、区切り位置ウィザードで解決しました! ご協力ありがとうございました!

関連するQ&A

  • Access 抽出クエリーについての条件

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • クエリを使わずに日付の抽出をしたい

    accessを始めて数週間の初心者です。VBAについては見よう見まねで参考書の丸写し程度の段階です。 日付ごとの売上表になっている一覧表フォームに、テキストボックス(日付を入力する)を作成して、日付抽出のコマンドボタンをクリックすると指定した日付のレコードのみを表示させたいのですが、その場合のイベントプロシージャはどう記述すればいいでしょうか? よろしくお願いします。

  • クエリで日付の抽出条件

    アクセスのクエリで日付の条件抽出をしたいのです。シャープ(#)が日付のリテラル値ということまではつき止めたのですが、ここで問題発生です。 文字列には*や?のような便利な文字が使えるのに、日付で使おうとするとエラーになってしまいます。 例えば#01/05/2?# のように2001年5月20日~29日を抽出しろ、としても出来ません。 日付抽出には*や?のような文字はないんでしょうか? どうしてもないようなら関数でもしょうがないのですが、関数だと#01/1?/?3# (2001年10月~12月のうち、03、13、23日を抽出)みたいな複雑な命令が(簡単には)出来ないような気がするんです。 どなたかお助け下さい。

  • クエリーの抽出条件について

    「作表条件」というフォームにテキストボックスとして「日付1」、「日付2」を設置しています。 元のテーブルには「日付」という項目があり、「日付1」から「日付2」までのデータを抽出するため、 クエリの条件式に Between Nz([Forms]![作表条件]![日付1],#1800/01/01#) And Nz([Forms]![作表条件]![日付2],#9999/12/31#) と記述しています。 ただ、元のテーブルの日付がNULL値の場合があり、その場合「日付1」および「日付2」が空欄だとNULL値のレコードが抽出されません。 「日付」がNULLの場合でも抽出できるようにするには、どのようにすればよいでしょうか? どなたか教えてください。

  • フォームからクエリの抽出期間を指定するにあたって

    フォームのテキストボックス(開始日付,終了日付)に入力された期間内の レコードをクエリで抽出するために、以下のような抽出条件を設定しています。 Between [Forms]![フォーム1]![from date] And [Forms]![フォーム1]![終了日付] ここまでは問題なく出来ています。 ですが、例えばテキストボックスに何も入力していないときに、 全ての期間から全件表示させるような方法はありませんでしょうか? IIf(IsNull([Forms]![フォーム1]![開始日付]),True,~ というような形で、IIfとIsNullの組み合わせも考えたのですが、 日付は直接フィールドでは無く抽出条件のため、 Trueより後が設定できずに悩んでおります。 出来ればVBAは使いたくないのですが、 何か良い方法はありませんでしょうか?

  • Access2000:クエリに値(抽出条件値)を返す

    クエリに抽出条件として、 Between [いつから?(例:200504)] And [いつまで?(例:200504)] と指定してあります。 マクロに登録されたクエリを実行すると必要パラメータとしてダイアログがたちあがるものです。 これを自動的にVBAで日付を算出し、上記クエリに値を返すことをしたいのですが記述方法がわかりません。 VBAで作成した関数の戻り値を上記クエリの抽出条件の欄に返す方法はありますか? よろしくお願いいたします。

  • 日付によるデータ抽出について

    日付によるデータ抽出について 環境: ACCESS2000 状況: メインフォーム(テキスト期間A、テキスト期間B、テキスト品番、検索ボタン)    サブフォーム(データシート)    管理テーブル( 品番  /  レンタル日  /  返却日)    ※管理テーブルは他テーブルのコピー用 やりたい事: 簡潔にいうと期間と品番による抽出。       但し、テキスト期間Bが空白の場合、テキスト期間A以降のデータ抽出。          テキスト期間Aが空白の場合、テキスト期間B以前のデータ抽出。       さらに、テキスト品番が空白の場合、期間のみでの抽出。       逆にテキスト期間A・Bが空白の場合、テキスト品番で抽出。(品番の履歴抽出) 1度コードを作ってはみたものの、エラーばかりでひどかったので 0から教えて頂けると有難いです。 お手数お掛けしますが、何卒宜しくお願い致します。

  • パラメータクエリで日付を条件に抽出したい

    ・・・のですが、(○月○日より以前であればという意味で)条件のところに   <[日付を入力してください] として、パラメータに「2004/10/4」と入力すれば問題なく抽出しますが、これを「04/10/4」と入力して抽出させたいときにはどのようにすればいいでしょうか? この日付の入っているフィールドのプロパティは書式を「yy/mm/dd」にし、実際にそのように表示されています。 何か他に問題があるのでしょうか?

  • アクセス クエリの抽出結果

    クエリの抽出結果に 円や人 の文字列をふっつけたいです。 どこにどのような書式を設定したらよろしいでしょうか。

  • ACCESS2000でクエリを抽出条件で抽出

    VBA上でクエリの抽出データを取得してファイルに書き込むというプログラムを書いております。 抽出条件として、今日の日付のレコードを取得したいのですが型が一致しませんとエラーになります。 strSQL = "SELECT * FROM " & (クエリー名)& " where (クエリー.カラム名)='" & Format(Date, "yyyy/mm/dd") & "'" クエリーのカラム名は全角漢字です。 どこがおかしいのでしょうか? よろしくお願いいたします。

専門家に質問してみよう