• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【Excel2007】重複データの条件付き削除方法)

【Excel2007】重複データの条件付き削除方法

このQ&Aのポイント
  • 商品の納品リストがあるのですが、条件付きで重複データを削除する方法についてご相談です。
  • 納品日が最新の行だけ抽出したいです。
  • 該当商品の最新納品日をひっぱってくるような関数があるのかわからずに困っております。

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

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

簡単な方法: 元のデータの丸ごと複製をコピーする 日付の「降順」で全体を並べ替える 全体を選んだ状態でデータタブの「重複の削除」を開始する 商品名だけチェックを入れて,重複を削除する。 関数を使った方法: 元のデータから商品列だけを丸ごとコピーし複製する 商品列だけで「重複の削除」し,一意の商品名一覧を得る 元のデータ:シート1 A列に日付 B列に商品 重複を削除したリスト:シート2 B列に一意の商品 A2: =MAX(IF(Sheet1!B:B=B2,Sheet1!a:a)) と記入し,コントロールキーとシフトキーを押しながらEnterで入力,日付の書式を取り付けて下向けにコピー。

piropiro24
質問者

お礼

早速アドバイスありがとうございます、【簡単な方法】ですっきりできました! 失念してしまって申し訳ありませんが、リストが60,000行ありデータサイズも30MB超えるものもある為、関数を入れ込んでいる途中で固まってしまうこともあり作業速度が遅かったのでこれでスムーズにできそうです。 非常に助かりました、もう少しデータボリュームが少ないもので関数を使った方法を試してみます。 本当にありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

データが多い場合には配列数式などを使いますと計算に負担がかかります。元のデータがシート1のA2セルおよびB2セルから下方に入力されているとしたらC列を作業列としてC2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(B$2:B2,B2)=COUNTIF(B:B,B2),MAX(C$1:C1)+1,"")) お求めの表をシート2に作るとしてA2セルには次の式を入力してB2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$C:$C),"",INDEX(Sheet1!$A:$B,MATCH(ROW(A1),Sheet1!$C:$C,0),COLUMN(A1))) A列についてはセルの書式設定の表示形式で日付を設定します。

piropiro24
質問者

お礼

早速アドバイスありがとうございます、データが重いのか固まってしまい結果まで至れていないのですが関数の活かし方がとても参考になりました。 失念してしまって申し訳ありませんが、リストが60,000行ありデータサイズも30MB超えるものもある為、関数を入れ込んでいる途中で固まることが多々あります… keithin様の簡単操作で解決しましたが、容量の少ないデータで改めてアドバイスいただいた関数を理解して次につなげていきます。 ご丁寧にありがとうございました!

関連するQ&A