エクセルの複数のワークシートから日付を一致させる方法

このQ&Aのポイント
  • エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させる方法を探しています。2つの時系列データがあり、それぞれのデータの日付を認識して一致させる関数を教えてください。
  • エクセルのワークシートAとワークシートBにはそれぞれ日付が入っていますが、データの管理方法が異なるため、データを単純に張り合わせるだけでは日付がずれる問題があります。したがって、日付を認識して一致させる関数が必要です。
  • データAとデータBの日付を一致させる方法を探しています。データAは1週間のうち6日間で、データBは1週間のうち5日間です。また、マーケットの休みの日にはデータそのものが存在しないため、日付のずれが発生します。データAの日付と同じ日付のデータBを特定のセルに貼り付けるような関数を教えてください。
回答を見る
  • ベストアンサー

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列

エクセルのワークシートAの1列目(A列)の日付と、ワークシートBの1列目(A列)の日付を一致させて1つのワークシートに纏める方法を探しています。 2つの時系列データがあるのですが、データA(為替データ)とデータB(株式データ)のデータ管理方法が下記のように異なっています。 データA(為替データ)・・・1週間のうち6日間(月曜から土曜まで) データB(株式データ)・・・1週間のうち5日間(月曜から金曜まで) おのおのワークシートのA列に日付が入っています。 データAは月曜から土曜までなので、1週間に6行要します。データBは月曜から金曜なので1週間に要するのは5行です。従って、単純にこの2つのデータを張り合わせるだけでは(データBをデータAのシートに張り合わせた時)、1週間に要する行数が違うので1行ずつずれてしまいます。 1週間に要する行数の違いだけでなく、マーケットが休みの日はデータそのものがないため日付が存在しません。(マーケットの休みもおのおの別の日でバラバラです。) これらの理由により、ただ単に張り合わせるだけだとずれが広がるばかりです。 そこでデータAの日付とデータBの日付を認識して一致させる関数を教えて欲しいと思います。 データAの構成はA1=日付、B1=始値、C1=高値、D1=安値、E1=終値で、データBの構成も同じです。 データAのF1にデータAのA1と同じ日付のデータBの行を貼り付るように設定したいと思っています。 説明が分かり辛い場合は補足しますので、その際はご指摘下さい。 宜しくお願いします。

  • airpy
  • お礼率62% (109/175)

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

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

誤記がありましたね。ごめんなさい。 シートCのA2に 2010/1/1 を置いて下向けにえいやっとオートフィルドラッグ,365日の日付を並べておいて B2:為替 =IF(COUNTIF(為替!$A:$A,$A2),VLOOKUP($A2,為替!$A:$E,COLUMN(B2)),"") を右に下にコピー。 F2:株式 =IF(COUNTIF(株式!$A:$A,$A2),VLOOKUP($A2,株式!$A:$E,COLUMN(B2)),"") を右に下にコピー。 これでマーケットの開いてなかった日付がエラーになることもありませんので,追加のご質問も解消でしょうか。

airpy
質問者

お礼

keithinさん。 ご回答有難う御座居ます。 括弧が1つ足りなかったんですね。教えて頂いた式で上手くいきました。 丁寧なご回答を頂き感謝ですm(_ _)m。 有難う御座居ました。

その他の回答 (2)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

統合したいシートには土日も含めた単純にカレンダーのような日付列(A列)を作成 後はB列以降にVLOOKUP関数でデータA、データBそれぞれのデーターを取得すればいいのでは? 必要のないデータを削除したいのであれば統合が完了した時点で日曜日の行のみ削除すればいい

airpy
質問者

お礼

ありがとうございます。 #1の方の回答とは別に、自分でVLOOKUP関数を使ったデータ処理をする事が出来ました。 > 必要のないデータを削除したいのであれば統合が完了した時点で日曜日の行のみ削除すればいい これは関数では出来ないですよね。マクロを組まないと駄目ですよね。 もしマクロ以外の対応方法をご存知でしたら教えて下さい。

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

>データAのF1にデータAのA1と同じ日付のデータBの行を貼り付るように設定したい 何がしたいのかな? ケース1:為替相場が休みの(Aに無い)日は,株式相場をやっていてもBのデータを取ってこなくて良い AのF2に =IF(COUNTIF(株式!$A:$A,$A2),VLOOKUP($A2,株式!$A:$E,COLUMN(B2)),"") を右に下にコピー。 ケース2:為替が休みの日は日付を埋めて,株式だけデータを並べておきたい。株式が休みで為替はやってる日は為替のデータだけ並べたい シートCのA2に 2010/1/1 を置いて下向けにえいやっとオートフィルドラッグ,365日の日付を並べておいて B2:為替 =IF(COUNTIF(為替!$A:$A,$A2),VLOOKUP($A2,為替!$A:$E,COLUMN(B2),"") を右に下にコピー。 F2:株式 =IF(COUNTIF(株式!$A:$A,$A2),VLOOKUP($A2,株式!$A:$E,COLUMN(B2),"") を右に下にコピー。

airpy
質問者

お礼

説明が悪くてすみません。 やりたかったのはケース2の方です。 で、教えてもらった通りにやったのですが、=IF(COUNTIF(為替!$A:$A,$A2),VLOOKUP($A2,為替!$A:$E,COLUMN(B2),"")で入力すると#VALUE!になってしまいました。 最後の検索の型を""でなく、FALSEに変更すると上手くいったのでとりあえずそれで対応しましたが、 ""だと上手くいかないのは何故でしょうか。""にはFALSEかTRUEかどちらか適切なものを自分で選んで入れなさいという意味だったのでしょうか。 宜しければもう一度教えて下さい。

関連するQ&A

  • エクセルのワークシート関数でA、B列不同数取得

    エクセルのワークシートA列とB列にデータがあります。 データは数値、文字列、空白です。エラー値はありません。 A列のセルと同じ行のB列のセルの値が同一でないA列データの個数(またばB列データの個数)を求めるワークシート関数はないでしょうか?(空白同士は同一とみなします。) C列などに作業列を作ってA、Bの比較をして求める方法はすぐに思いつきますが、作業列なしで求めたいのです。

  • Excel でシート間の重複データ(Sheet1のA=Sheet2のA かつ Sheet1のB=Sheet2のB)

    Excel2000です。 Sheet1のA列・B列・C列・・・にデータが入っています。 Sheet2のA列・B列・C列・・・にデータが入っています。 Sheet1のA列とSheet2のA列は、似たようなデータが入っています。 Sheet1のB列とSheet2のB列も、同様です。 C列以降のデータは、シート間で全然関係ありません。 Sheet1の行データ(A列・B列)が、Sheet2(A列・B列)にも存在しているかどうか、 を知るには、どうすればよいですか。 C列以降の列のデータは、比較する際に使いません。 つまり、 Sheet1のA = Sheet2のA かつ Sheet1のB = Sheet2のB であるような行を知りたいのですが、 どうすればよいのでしょうか。

  • 別のシートの文字列を他のシートに移すには?

    エクセル VBAで別のシートの文字列を他のシートにコピーするには どのようなコードを記入すればよろしいでしょうか? 同一ブック内に「Sheet1」と「リスト」のワークシートがある場合、 次の順序でリストのデータを他のシートに貼り付けるには どのようにコードを入力すればよろしいでしょうか? (1)2行目からのリストの使用行数を調べる。  ※リストの使用行数は変動するため、決まっていません。 (2)Sheet1は、32行しか入力できないため、(1)で求めたリストの行数から  ワークシートを必要数コピーする。 例 リストの行数が100の場合、Sheet1を3つコピーし、計4つにする。 (3)リストの図番(A列)、名称(C列)、金額(E列)をコピーし Sheet1のA,B,C列に「値」で貼り付ける。 (4)Sheet1のA,B,C列に32行貼り付け終わったら(2)でコピーした次のシートに続きのリストを貼る。 (5)リストの最後(文字が記入してある箇所)まで他のシートへのコピーが終わるまで  ワークシートを変えて続ける。 以上です。 よろしくお願い致します。 エクセルは2003、2007使用しております。

  • Excelで複数のワークシートのデータを1つのワークシート

    Excelで、複数のワークシート(22ワークシート)のデータを1つのワークシートにまとめたいのですが、関数か何かで出来る方法はないでしょうか?.1ワークシートの行数は、まちまちですが、平均6000行ほどあります。

  • エクセルで別ワークシートからリンク貼り付けしたいのですが

    ご知見ある方ご教授ください。 現在、結構な数のデータが入ったエクセルデータから、必要な部分だけを別ワークシートに貼り付けたいのですが、その際、空白セルがある行はリンク貼り付けしないように設定したいと考えています。 例えば    A B C D E 1  5 3 2 8 7 2  4 _ 5 4 _ 3  7 7 4 3 1 4  6 3 5 _ 4 5  5 2 _ 6 5 のデータで、ABC列のデータを別ワークシートにまとめる際、2行と5行は反映させず、    A B C 1  5 3 2 2  7 7 4 ← 最初のワークシートの3行目 3  6 3 5 ← 最初のワークシートの4行目 となるようにしたいと考えています。 よろしくお願いします。

  • Excelのワークシート内の二つのシートのセルの値(文字列)を共有する

    Excelのワークシート内の二つのシートのセルの値(文字列)を共有する方法を教えて下さい。 具体的には、ワークシート内に|31日|30日|・・・|2日|1日|7月|とタブがあります。 7月のシートのA1が1(日付)のとき、B1にあらかじめ入力した1日のシートのB1(文字列)を 表示させる方法があるのでしょうか。 7月のB1セルに直接=1日!B1と入力すると出来たのですがこれだとA1が28(日付)の時も1日のB1を表示させてしまいうまくいきません。 7月のシートA1の値28(日付)の時に28日のシートのB1、A1の値11(日付)の時は11日のシートのB1を表示という具合にしたいのですが初心者なのでうまくできません。 どなたか詳しく教えていただけませんか。 宜しくお願い致します。

  • エクセルの複数ワークシートの列を縦に並べる方法

    エクセルの1ファイル中にある複数のワークシートの列(項目は同じ)を 新しいワークシート列に統合する機能はありますか? ワークシート(1) 列A-1 列B-1 列C-1 ワークシート(2) 列A-2 列B-2 列C-2 ワークシート(3) 列A-3 列B-2 列C-3 新ワークシート 列A-1 列B-1 列C-1           列A-2 列B-2 列C-2           列A-3 列B-3 列C-3 と、いう具合です。コピーすればいいのですが、 一括でできる方法があれば、教えてください。 よろしくお願いいたします。                    

  • あるExcelシートの中に、A列とB列とC列に同じデータが入っている行

    あるExcelシートの中に、A列とB列とC列に同じデータが入っている行が複数あるとします。 その同じデータが入っている行を、例えばX列にチェックを入れる、と言う関数を教えて下さい。 どうぞよろしくお願い致します。

  • エクセル 1つのシートを日付で複数シートに分けたい

    エクセル2007を使用してます。初心者です。 1行名に列ごとのタイトルが入ってます。 A列~S列まで色々とデータが入っており、M列に日付(20140618のように)が入ってます。 このシートを日付ごとに別シートに分けたいのですが、何か計算式かもしくはマクロでできますか? できれば、R列に入っている数字を日付のあとにつけて自動で保存できると大変助かるのですが・・・。(20140618-2 というような感じ) マクロの扱い方も良く分からないので教えていただけると助かります。

  • EXCELで複数のワークシート(1つでも良い)において、D列のみ重複し

    EXCELで複数のワークシート(1つでも良い)において、D列のみ重複したデータあった場合 最初の行だけ残し、D列が重複している、他の行を削除したいのですが、どのようにしたらよいでしょうか。 複数のワークシートと申しましたが、1ワークシートで対応できれば、各ワークシート毎に行っていきます。 よろしくお願いいたします。

専門家に質問してみよう