• ベストアンサー

同じ列中で同じデータがあるかどうかをチェックしたいのですが。

製品にコード(英数字)を割り振っています。 同じ列の中に、重複するデータがないか、簡単に検索(抽出)する方法はありますか?

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

  • ベストアンサー
回答No.3

列A、たとえば A2:A100 にコードが入力されているとして、 C2 に =COUNTIF(A$2:A2,A2) と入力して C100 までコピーします。 このとき、C列に 1 以外の数値が表示された行は、それより上の コードとダブっていることになります。

oimo
質問者

お礼

どうもありがとうございました。 countif関数、大変参考になりました。 他の方たちもご回答ありがとうございました。 でも、VBAは全くわからなかったので今後、勉強したいと思います。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

VBAで良ければ。少数例でテスト済み。 Sub test01() Dim sh1 As Worksheet Dim p As Integer Dim s As Integer s = InputBox("チェックする列") p = InputBox("空きの列=") Set sh1 = Worksheets("sheet1") '----------チェックする列を空き列にコピー sh1.Activate d = sh1.Range("a1").CurrentRegion.Rows.Count sh1.Range(Cells(2, s), Cells(d, s)).Copy sh1.Activate sh1.Cells(2, p).Select ActiveSheet.Paste '-----------チェックする列の行番号保存 For i = 2 To d sh1.Cells(i, p + 1) = i Next i '-----------ソート Range(Cells(2, p), Cells(d, p + 1)).Select Selection.Sort Key1:=Cells(2, p), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ :=xlPinYin '--------重複チェック For i = 2 To d If Cells(i, p) = Cells(i + 1, p) Then x = Cells(i, p + 1) Cells(x, s).Interior.ColorIndex = 6 y = Cells(i + 1, p + 1) Cells(y, s).Interior.ColorIndex = 6 End If Next i End Sub ----------- (テストデータ)Sheet1にA1:A13に コード、a、b、a、c、d、e、d、f、g、f、a、hと入れる。 (プログラム) シートでALT+F11-->VBE画面 ALT+I(挿入)、ALT+M(標準モジュール) 上記コピー。 F5キー(実行) s = InputBox("チェックする列") p = InputBox("空きの列=")を聞いてきますから はじめの問いにはA列なら1、次はd列なら4と入れてください。 重複行には、A列に色がつきます。 D,D+1列2列余分に使いますが消しておいてください。 VBAでも簡単ですが手抜き略。

すると、全ての回答が全文表示されます。
  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.2

Excelですか?Accessですか? それとも別のアプリでしょうか?

oimo
質問者

補足

失礼しました。EXCELです。

すると、全ての回答が全文表示されます。
  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

同じ列中というと Excelかな? http://www.ae.wakwak.com/cgi-bin/sbox/~efc21/wwwlng.cgi?print+200210/02100332.txt http://www.ae.wakwak.com/cgi-bin/sbox/~efc21/wwwlng.cgi?print+200102/01020324.txt これらのマクロを参考にしてみてください。

すると、全ての回答が全文表示されます。

関連するQ&A