• 締切済み
  • すぐに回答を!

特定のデータ抽出

お世話になります。次の機能を実現するエクセルのマクロについて、質問させていただきます。 1)毎日、30件のデータが取得され、A列に追加保存されます。 2)その日取得された30件のデータの中から、A列にある過去のデータを参照し、重複したものは削除する 3)重複削除後のその日のデータをC列に表示させる。 *表示させたいのは、その日のデータです。 単独で、重複データを削除させるマクロは作成できたのですが、過去のデータを参照し、それを処理させる 方法がわかりません。よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数107
  • ありがとう数1

みんなの回答

  • 回答No.2
  • imogasi
  • ベストアンサー率27% (4558/16317)

昨日以前と、今日のデータは既にA列に書き込まれているのかな。 その区別はどういう目印でするのですか。日付? ーー 最終行の日付を採る。 それを上にさかのぼって、日付が最初にきれた(変わった)ところの行を昨日までのデータとする(YD行)。 今日の最終行から順次上の行に向かって(YD行まで)、その行のキー(同一かどうか問題にする項目)が昨日までのデータ(YD行までのデータ内)に既にあるかどうか、FindメソッドのWhatで聞き(チェックし)、見つかれば、その行をDelete、見つからなければ、上行に処理を移すことをYDの直下行まで、ForNextなどで(Step-1)繰り返せばよい。 >方法がわかりません これでコードが組めるのかな。丸投げしないとわからないのかな。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。ご意見を参考に、取り組んでみます。

関連するQ&A

  • エクセル2007の[重複の削除]をエクセル2003でしたいです。

    列データーが10ほどあり、ある特定の列が2つや3つを条件に重複してる場合は削除をしたいです。 できればチェックボックスのようなものがあって、毎回違った特定列を条件にしたいです。 列データは減らせません。 マクロでやり方が解ればくめるかと思ったのですが特定の列を指定して、重複を探し削除するという方法が思いつきません。 エクセル2007の[重複の削除]という機能できるようですが、エクセル2003などで実現する方法はないでしょうか?

  • エクセルデータの完全削除

    エクセル2000において例えばA列に・・・ A B C D A と並んでいた場合、重複データを完全に削除 する方法はないでしょうか?つまり削除後は・・・ B C D のみが残る方法です。過去ログを参照 しましたが、重複データの片方を残す方法ばかりで 大変困っています。。

  • エクセル2003 重複データの抽出

    エクセル2003を使っています。 重複したデータの抽出を行いたいのですが、 例えば、  A      B     C      D コード  書籍名  出版社名  著者 といった感じのデータが1万件ほどあります。 このうち、B列の「書籍名」が重複しているデータを抽出したい です。(抽出したものは、書籍名だけではなくて、ほかの出版社や著者の指定したデータも表示させたい。) VLOOKUPなどを使えばできないこともないのですが、一万件の 処理を行う上に、パソコンも非力なので時間がかかってしまい 困っています。 どうぞよろしくお願いします。

  • 回答No.1
  • hamsk
  • ベストアンサー率33% (1/3)

こんにちは。 ご回答の前に不明点がございますので、仕様の確認をさせてください (1) データには、日付を特定できるようなデータは保持されているのか? (2) 重複データを削除は本日のデータを削除すると考えてよいですか? 以上、よろしくお願いします。

共感・感謝の気持ちを伝えよう!

質問者からの補足

お世話になります。質問に言及をいただき、感謝いたします。また、質問の不備をお詫び申し上げます。この マクロの意図は、次のようなものです。 1)私のサイトにアクセスをしてくれた人たちに、お礼のコメントを送信するのものです。データ形式は、<http://xxx.jp/vistor.pl?id=10110195>となっており、数値以外は共通、数値はアットランダムです。 (日付は付与されていません) 2)同じ人に送信することを回避する、のが主たる目的です。 3)あたらしくアクセスしてくれた、最新30名の人にコメントを送信する、ただし、過去に送信した人を除外する(もし最新30名のなかに含まれていれば)、というものです。  説明が分かりにくければ、再度、ご指摘ください。よろしくお願いします。

関連するQ&A

  • マクロにて重複データの削除を行う方法

    エクセルにてD列、H列において重複が両方に存在する場合に (D列にて重複かつH列にても重複する場合) そのデータを行ごと削除したいのですが、 上記のマクロの記述が分からず困っております。 どなたか方法をご伝授いただけたらうれしいです。

  • Excel 重複データの番号を抽出

    Excel:Office2003 OS:WindowsXP excelのデータで A列 B列 1 A 2 B 3 A 4 C 5 D 6 A 7 A 8 B 9 B 10 C 以上のように並んでいるデータを以下の E列 F列 G列 H列 I列 A 1 3 6 7 B 2 8 9 C 4 10 D 5 ようにしたい場合はどのようにしたらいいのか教えてください。 マクロではなく関数で処理をしたいと思っています。 よろしくお願いします。

  • 【エクセル】抽出データを上に詰めて表示させたい。

    重複するデータを上に詰めて表示さセル方法が解らないです。 B列はA列の元データから重複分は表示しないようにしています。 C列はA列の元データから重複分の数を数えています。 │A │B    │C│ D │ 1│あああ │あああ │3│ 2│いいい │いいい │2│ 3│あああ │     │ │ 4│ええ  │ ええ  │2│ 5│おおお │おおお │1│ 6│ええ  │   │ │ 7│いいい │  │ │ 8│あああ │  │ │ 9│うううう│うううう│1│ ・ ・ 上記のような表で、A列が元データで、 B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と いう関数を使用しています。 そこで、B列C列の何も表示されていないセルを詰めて、上に詰めて 表示させたいです。マクロは良くわからないのでなるべく関数で お願いします。ちなみに、今使用している関数も、こうしたほうが いいというのがありましたら。訂正してもらえると助かります。 解りづらいところがありましたら、補足します。 宜しくお願いします。

  • Excelで重複データを抽出するには?

    WEBから受け付けた会員のプロフィールデータをExcelの形ではき出すようになっています。 けれども重複して登録されたデータもそのまま受け付けてしまっています。 Excel側で重複データ(同一メルアド)を抽出することはできますでしょうか? フィルタオプションの設定で重複データを表示させない方法はわかりましたが、重複データを削除するうえでは有効ではありませんでした。 ご存じの方がいましたら、どうぞよろしくお願いします。m(_ _)m

  • エクセルで特定データの抽出をしたい

    元データと抽出データはそれぞれ書式が違い、処理するPCも違います。元データをメールなどに添付し開き、抽出データへコピペすると、抽出データ表で必要なものだけ反映される方法を教えていただけませんか?元データ表は処理の都合上、毎回順不同。抽出データ表は、常に順序固定。また、抽出データ表のB列「勤務」が「退職」の場合、抽出データ表では事前に削除しています。元データにあって、抽出データにない項目(勤務、年齢、開始時間)は不必要。あくまで、抽出データがほしいだけ。条件としては、元データと抽出データの「名前」を参照し、抽出データそれぞれの項目にデータを表示。どちらのデータも、表の増減あり。ありあまりのもデータが膨大な為、抽出データ、元データともに、書式(表組)の変更はできません。何卒、ご伝授願います。追伸:元データの「%」は関数にて計算。

  • Excelで、重複データを一括で削除する方法

    お世話になっております。 Excelで、重複データを一括で削除する方法について 300列ほどあるデータがあります。 (行数は、各列に30行ほどです) 各列には重複するデータがあります。これを削除したく。 なお、各列(隣の列)は、関連性がありません。 よって、複数の列を参照して重複データを削除する必要はなく A列内の重複データ、B列の重複データをそれぞれ削除したいのですが、 フィルタオプションからの重複データを無視する、や、重複データの削除 機能では、1列ずつ実行することで可能ですが、300列以上あるので 現実的ではありません。 そこで、一括で各列の重複データを削除する方法を教えてください。 ※なお、列は300ほどあるため、作業用(countifで重複をピックアップした後、フィルタして 削除など)の方法は、列分つくるのは現実的ではないため、それ以外の方法はないでしょうか。 よろしくお願いします。

  • 特定の列の抽出

    CSVファイルがあり特定の列を抽出したいんですが、excelが入ってなくマクロ(VB)が使用できない為、そのような処理をバッチで処理することは可能でしょうか?教えてください。ちなみに抽出条件は日付です。

  • Excel 2007 マクロ 同列のデータの重複チェック

    Excel 2007 マクロ 同列のデータの重複チェック A列で重複しているデータをチェックします。 重複しているデータについて、B列にフラグをつけます。 フラグはどの行とどの行が重複しているのかわかるようにしたいです。 そのため重複している行同士ごとにフラグをつけます。 上記の内容はマクロで実現できるのでしょうか。 元データと完成形の画像を添付します。 よろしくお願いします。

  • Excel2003で重複したデータを削除したい

    Excel2003で重複したデータを削除する方法を教えて下さい。 A・B・C・Dの列の全てが重複するデータを削除したいのですが、可能ですか?AとB列は重複するけど、CやDのデータは重複していなければ、残しておきたいです。 以下イメージです。 行/列  A   B    C    D 1    なす  商店  100円  3/4  2    なす  商店  200円  3/2 3    なす  商店  200円  3/2 ------------------------------------- 以下、重複データ削除後のイメージ。 1    なす  商店  100円  3/4  2    なす  商店  200円  3/2

  • 期間設定データから特定の日付のものを抽出したい!

    エクセル2010で作成したファイルがあります。 同一シート内に、初日と楽日(最終日)が記載された催事のデータが入力されていて、 そこに関数を使って、特定日に行われる催事をソート(〇×表示)する、ということをやっているのですが、 それにさらに、公演ごとにイレギュラーに発生する休演日(複数日入力もあり)を別にソート(△表示とか)したいと思います。 今ある関数に、どんな式を追加したら実現できますでしょうか? <データの内容(現状)> ※こちらサンプルを置いておきました。http://bit.ly/1dakbVF イベントタイトル(c列)、初日(d列)、楽日(e列) ●●独演会、4/1、4/15、 ××座談会、4/2、4/4、 ▲▲ひとり会、4/3、4/4 現状はA列に関数 =IF(D2="","",IF(COUNT(D2:E2)=2,IF(AND(B$1>=D2,B$1<=E2),"○","×"),"???")) をおいて、B1にソートしたい特定日を入力して、ソートしている (B1に4/2と入力したら、A列にはそれぞれ〇、〇、×と表示される) <こうしたい> ※F列に休演日(複数日入力もあり)を追加。 イベントタイトル(c列)、初日(d列)、楽日(e列)、休演日(f列) ●●独演会、4/1、4/15、4/2,4/13 ××座談会、4/2、4/4、 ▲▲ひとり会、4/3、4/4 B1に4/2といれたら、A列にそれぞれ△、〇、× と表示されるようにしたい。 拙い説明でお恥ずかしいです。どうぞよろしくお願いいたします!