• 締切済み

エクセルでの一括データ処理(日付補完など)

kagakusukiの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、<元データ>が入力されているシートがSheet1、<変換後データ>を表示させるシートがSheet2であるものとします。  まず、Sheet2のA2セルとA3セルの書式設定を[日付]として下さい。  次に、Sheet2のA2セルに、次の数式を入力して下さい。 =MIN(Sheet1!$A:$A,Sheet1!$C:$C)  次に、Sheet2のA3セルに、次の数式を入力して下さい。 =IF(A$2+ROW()-ROW(A$2)>MAX(Sheet1!$A:$A,Sheet1!$C:$C),"",A$2+ROW()-ROW(A$2))  次に、Sheet2のB2セルに、次の数式を入力して下さい。 =IF($A2="","",IF(COUNTIF(Sheet1!$A:$A,$A2)=0,"NA",VLOOKUP($A2,Sheet1!$A:$B,2,FALSE)))  次に、Sheet2のC2セルに、次の数式を入力して下さい。 =IF($A2="","",IF(COUNTIF(Sheet1!$C:$C,$A2)=0,"NA",VLOOKUP($A2,Sheet1!$C:$D,2,FALSE)))  次に、Sheet2のB2~C2の範囲をコピーして、Sheet2のB3~C3の範囲に貼り付けて下さい。  次に、Sheet2のA3~C3の範囲をコピーして、同じ列の4行目以下に貼り付けて下さい。  以上です。

関連するQ&A

  • エクセルで飛び飛びの日付をきちんと補完して並べ直すには?

    こんにちは。お世話になります。 エクセルの並び替えに関して質問です。 例えば下記のような情報があったとします。 日付        値 2007/12/7    1 2007/12/9    4 2007/12/11    3 こちらを、このように飛び飛びになっていた日付を補完して 値に0を入れることは可能でしょうか? 日付        値 2007/12/7    1 2007/12/8    0 2007/12/9    4 2007/12/10    0 2007/12/11    3 現在は原始的に目視して、空いている日付に行を挿入して ひとつひとつ0を入力しております。 処理する数が多いので、これが自動で出来たらどんなに効率が 良いだろう、、と思い初めて質問させて頂きました。 お詳しい方、ご助言頂けますと幸いです。 なにとぞよろしくお願い致します。

  • エクセルで日付行を補完したいと思います

    エクセルで予定表を印刷したいと思っています。 1のような、予定がある日付だけ表示された表に行を補完して 2のような表にしたいと思います。(手書き用の表を印刷できるように) どうしたらいいでしょうか? かなり大量のデータになるのでマクロか関数で処理できれば ありがたいと思います。 よろしくお願いいたします。 1 A        B     C 1 12008年8月1日  18:00  新人歓迎会 2 2008年8月4日     10:00   佐藤さん来社  3 2008年8月4日   14:30    ミーティング 4 2008年8月7日    13:30    山本さん訪問 2      A      B   C 1 2008年8月1日     18:00 新人歓迎会 2 2008年8月2日 3 2008年8月3日 4 2008年8月4日   10:00 佐藤さん来社    5 2008年8月4日    14:30 ミーティング 6 2008年8月5日 7 2008年8月6日 8 2008年8月7日   13:30 山本さん訪問

  • Excelファイルでの処理(関数について)

    excelファイルにデータが大量にあるのですがそれを整理したいと思っております。 データの中身は 日付   時間   値 20100212 0400 14294423 20100212 0401 58290342 20100212 0402 42424242 ・   ・   ・   ・   ・   ・   ・   ・   ・   20100212 1400 52380424 20100213 0400 13489242 20100213 0401 58290424 ・   ・   ・ ・   ・   ・ ・   ・   ・ 日付と時間と値が入ったCSVファイルがあります。 値は1分ごとに書き込まれ毎日必ず同じ時間(4時~14時まで)に書き込まれます。 このファイルを 0400 0401 0402 ・・・・・・・・・14:00 20100212 14294423 58290342 42424242 ・・・・・・・・52380424 20100213   ・    ・    ・           ・ 20100214   ・    ・    ・           ・   ・    ・    ・    ・           ・   ・    ・    ・    ・           ・   ・    ・    ・    ・           ・ 20100225   ・    ・    ・           ・ 上記のように縦に日付と横に時間でそれに対応した値が入ったファイルを作成したいと思っているのですがうまく処理させる方法はないでしょうか。 いろいろ調べて手動で行う方法はわかったのですが、データは50万行くらいあるため手でコピーしたりする方法がとれません。if文やfor文(excelにあるのかわかりませんが)などの関数を使って処理はできないでしょうか。 大変困っておりますので何かいい方法ありましたら教えていただけないでしょうか。以上よろしくお願いします。

  • エクセルVBA 日付の評価、大小を比べるには

    エクセルのセルに日付データーが入っています。 その値を取得して、他のセルに入っている日付と比べたいのですが、 日付データをどの形に変換して比べればいいか分かりません。 ___|_____A_________|_____B___________|______C_____ 1_|_2007/6/1__|__2007/7/1__|____________ 2_|_2007/7/1__|__2007/7/23_|____________ 例えば上の表があったとして、A列とB列にある日付を比べて、大きい 方をC列に記入するということをVBAでしようとするとき、セルに入って いるデーター形式をどの形に変換して評価すればいいでしょうか? 日付データーをシリアル値に変換する方法とかあるのでしょうか? どなたか教えていただけないでしょうか?

  • エクセルで日付データの比較/判定でカウント

    エクセルで日付データの比較/判定でカウント A1に 2006/2/22 A2に 2006/2/23 ---------- という日付データが入っている。 またc1~c4に c1:2006/2/24+時間  (例2006/2/24 07:18) c2:2006/2/23+時間 c3:2006/2/23+時間 c4:2006/2/22+時間 ---------- という時刻まで含む日付データが入っている。 (処理)A1とC列のデータの日付けが同じものは1つc4だけなのでカウントし1件とその横の B列(B1)にカウント件数を表示したい。 B1に書く式はどのようにすればよいか。よろしくお願いします。

  • Excel VBAでデータを自動処理したい

    Excelで大量のデータ処理をしなくてはならないのですが、以下の処理をExcel VBAで自動処理できないでしょうか? どなたかお知恵をお貸しください。 (1)A、B、C列からなるリストがあります。A,B列にはそれぞれオートフィルタが設定してあり、C列は空白です。A列、B列にそれぞれ条件を設定し、抽出したデータのC列(空白)に特定のデータを入力します。A列、B列2つの条件の組み合わせが100通りくらいあり、現在手動でオートフィルタを設定し、C列にデータを入力しております。例えばA,B列の条件の組み合わせと、それに対応するC列に入力するデータを表にしたテーブルを別に作り、A,B列の条件を自動に設定して、抽出し、C列にデータを自動に入力することを、テーブルの一番上の行から最後の行まで繰り返す、というようなことをVBAでExcelにしてもらいたいのです。自分でちゃんと勉強し、調べて、それでも分からなかったらお聞きするというのが筋だと思うのですが、今この仕事に追われて、時間がありません。(ほとんど毎日午前様です。)この仕事が片付いたら、じっくりVBAを勉強したいと思っております。どうぞよろしくお願いいたします。

  • エクセルグラフ 時系列軸で日付が補完されない

    エクセル(2010)で作成するグラフで、時系列軸について質問いたします。 元データにない日付を補完して散布図を作成したいのですが、 日付が保管されません。 元データにある日付のみが等間隔で表示されます。 検索すると日付軸の書式設定画面で、「テキスト軸」のオプションボタンで 切り替える方法があったのですが、使用しているエクセルバージョンには そのオプションボタンが見当たりませんでした(添付ファイル参照)。 どのように補完すればいいでしょうか。 よろしくお願いいたします。

  • excel:日付け処理

    Excelの表で、 B列には、C列のデータがある申請処理が済んでいる(1)か済んでいない(0)かのデータ、1,0が入っています。 C列の2行目から、所属期間が次のように入っています。 処理(B列):所属期間(C列) 1:2006/1/1~2/28 0:2006/1/1~3/1 1:2006/12/1~2006/1/31 0:2006/1/1~2/28 1:2006/1/1~3/1 1:2005/12/1~2006/1/31 1:2006/1/1~2/151:a~b(と説明のため表記) ------------------------- などの所属期間情報が日付の属性として入っているものとします。このときB列の値が0のものに対して、現在日を元に、(現在日-14)≦b値≦(現在日+14)を満足していれば、処理しなければいけないということでセルを黄色に表示するようにしたい。なおもし以上の処理をする前に色の付いたC列のセルがある場合は、いったん色をクリアしてから黄色付けするようにする。 以上をマクロで書くには、どうすればよいか。もしC列に対する処理が大変ならC列のa~bというデータが、最初からC列,D列に分離されているとしてもいいです。 よろしくお願いします。

  • Excel :日付け時間データ処理

    Excelのある列に日付け時間データが入っています。 このデータを判定して時間のみが、21時から5時までに入っていればその右のセルに1を、そうでなければ0を書き出すにはどんな式を書けばいいのかに対して =IF(OR(HOUR(A1)<5,HOUR(A1)>=21),1,0) なる式を使い処理できることがわかりましたが、日付け時間データがNULLになったときは、1が表示されることになります。データがNULLなら何もしないとするにはどうすればいいでしょうか。

  • 日付に対応した○と×の合計を求めたい。Excel 2003です。

    日付に対応した○と×の合計を求めたい。Excel 2003です。 ○と×の合計はCOUNTIFで求められるのですが、「4/1の」という条件はどのようにしたらよいのでしょうか。よろしくお願いします。 A列 B列 C列        4/1  ○  4/1       ←空白 4/1     × 4/1  ○ 4/2  ○ 4/2  ○ 4/2     ×   4/2       ←空白 4/2     × 4/3  ○ 4/3     ×       求めたい結果  4/1   4/2   4/3               3    4    2