• ベストアンサー

重複に対しフラグをたてるたい

EXCEL2000を使用しています。 *1つのIDコードに対し、レコード作成日が複数あります。 *レコード作成日の新しいIDコードにフラグをたてたい。 例) IDコード  作成日 フラグ 11111   1990/1/1 11111   2001/10/10  11111   2006/8/23  1 22222   1978/2/8 22222   1996/5/5  1 至急、ご回答のほど、よろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

もし各行がIDコードを最優先キー、作成日を第二キーとして並び替えが行われている前提なら、C2の式は  =IF(A2=A3,"",1) で、C3以下はC2をコピーでよいでしょう IDコードは並び替えされていないが、同じIDコードの各行について見れば、下の行が必ず新しい作成日であるという条件であれば、C2の式は  =IF(COUNTIF($A$2:A2,A2)=SUMPRODUCT(($A$2:$A$500=A2)*1),1,"") 至急とのことなので、とりあえず回答します IDコード、作成日共に並び替えされていない場合は時間がないのでパスです。前提条件が違うなら補足して下さい

nene99
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 とても助かりました。 早速にご回答頂き、どうもありがとうございました。

その他の回答 (3)

noname#176215
noname#176215
回答No.3

詳細が分からないと考えようがないです。B列が昇順に並んでるなら ■C2セル =IF(A3<>A2,1,"") 昇順に並んでないなら ■C2セル =IF(AND(A2<>"",MAX(INDEX((A$2:A$100=A2)*B$2:B$100,0))=B2),1,"")

nene99
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 早速にご回答頂き、どうもありがとうございました。

  • shibu__
  • ベストアンサー率26% (4/15)
回答No.2

無理やり関数を使うとすると以下の方法でいかがでしょうか? 1.A列にID、B列に日付が入っているとします。 2.レコードを第一キー IDの昇順、第二キー 日付の昇順でソートします。 3.C列にはIF(A1=A2,"","1")のように「1行したのIDと違えばフラグ」   という条件になるようにif関数を設定します。 4.作成した関数をレコードの最後までオートフィル でできないでしょうか?

nene99
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 早速にご回答頂き、どうもありがとうございました。

  • Bronco7
  • ベストアンサー率29% (150/511)
回答No.1

ID作成フォームをVBAでコントロールでもすれば可能かと思います 何しろ、IDコードを登録した時にすでに存在しているコードならフラグを立てるだけですので・・・ すでにフラグの立っているコードにさらに新しく登録する場合は面倒ですね。 しかしワークシートに書き込んだ後で関数でちょちょっと処理するイメージなら難しいし面倒この上ないです。

nene99
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 早速にご回答頂き、どうもありがとうございました。

関連するQ&A