• 締切済み

エクセルのデータ抽出で。

エクセルで以下のようのな、 3列を持つ表があるとします。 日付    コード   名称 20090901  001    Aさん 20090904  002    Aさん 20090905  003    Aさん 20090901  023    Bさん 20090902  024    Bさん 20090903  025    Bさん ----------------------------------------- まず名称でデータを絞り、 更に一番新しい日付のデータのみ取得したいのですが。 20090905  003    Aさん 20090903  025    Bさん VBAでもなんでもよいので、 抽出の仕方があればお願いします。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

作業列を使います。 D列を作業列として使用するとして、D1には適当に項目名(例:個人最新)。 D2に↓を入れて下にコピーします(範囲は実際の表に合わせて変更してください) =(A2=SUMPRODUCT(MAX(($C$2:$C$7=C2)*($A$2:$A$7)))) これで、個人でもっとも新しい日付の場合TRUEになりますので、オートフィルタでTRUEのデータだけを表示。

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

1.日付の列を降順で並べ替え(Z→Aのアイコン) 2.名称の列を並べ替え(昇順、降順はどちらでも良い) 3.同じ名称が連続しているものを、一番上以外消す データが少ないなら手作業でも

回答No.1

こんな感じでどう? TaishoMeisho = "B" SaishinHiduke = "00000000" i = 2 Do Meisho = Trim(Cells(i, 3).Value) If Meisho = "" Then Exit Do ElseIf Meisho = TaishoMeisho Then Hiduke = Trim(Cells(i, 1).Value) If Hiduke >= SaishinHiduke Then SaishinHiduke = Hiduke TaishoCode = Trim(Cells(i, 2).Value) End If End If i = i + 1 Loop Cells(1, 5).Value = SaishinHiduke Cells(1, 6).Value = TaishoCode

関連するQ&A