Làm cách nào để so sánh hai cột và tìm sự khác biệt trong Excel?


45

Tôi có hai cột trong Excel mà tôi muốn so sánh và tìm sự khác biệt giữa chúng.

Giả sử:

  • Col A có 50 số, tức là 0511234567
  • Col B có 100 số có cùng định dạng

Tôi nghĩ rằng điều này có thể được thực hiện với các hàm và công thức tích hợp của Excel. Có vẻ như tôi lạc đề.
Matt tiện dụng

bạn có thể vui lòng chỉ định làm thế nào để làm điều đó?

Vậy bạn có muốn biết những số nào chỉ có trong Col A và những số nào chỉ có trong Col B không?
Tom Shaw

Xem câu hỏi SO này cho câu trả lời của bạn.
Patrick Honorez

Không, đầu tiên tôi muốn biết tất cả những số đó không thuộc Col A mà là Col Col và sau đó tôi muốn biết tất cả những số đó ở Col A nhưng không phải ở Col B.

Câu trả lời:


55

Sử dụng định dạng có điều kiện

Đánh dấu cột A . Nhấp vào Định dạng có điều kiện > Tạo quy tắc mới > Sử dụng công thức này để xác định các ô cần định dạng > Nhập ff. công thức:

=countif($B:$B, $A1)

Nhấp vào nút Định dạng và thay đổi màu Phông chữ thành thứ bạn thích.

Lặp lại tương tự cho cột B , ngoại trừ sử dụng công thức này và thử màu phông chữ khác.

=countif($A:$A, $B1)

Sử dụng một cột riêng

Trong cột C , nhập ff. công thức vào ô đầu tiên và sau đó sao chép nó xuống.

=if(countif($B:$B, $A1)<>0, "-", "Not in B")

Trong cột D , nhập ff. công thức vào ô đầu tiên và sau đó sao chép nó xuống.

=if(countif($A:$A, $B1)<>0, "-", "Not in A")

Cả hai điều này sẽ giúp bạn hình dung những mục nào bị thiếu trong cột khác.


Phiên bản Excel này đã được thử nghiệm trên?
Peter Mortensen

1
"Định dạng có điều kiện" ở đâu? Trong thực đơn? Trong một menu ngữ cảnh?
Peter Mortensen

Trong phiên bản cũ hơn của OpenOffice, tương ứng với Excel trước dải băng (nó là bản sao của Excel), có lệnh menu Format -> Định dạng có điều kiện .
Peter Mortensen

1
Đây là về Excel, nhưng trong OpenOffice / LibreScript sử dụng $B:$Bđể chỉ toàn bộ cột Bkhông hoạt động. Thay vào đó hãy sử dụng $B$1:$B$1048576(trong đó 1048576 là hàng được đánh số cao nhất). Lưu ý $trước các số (được gọi là tham chiếu tuyệt đối ) - điều này làm cho nó hoạt động như mong đợi cho các hoạt động như Fill Down (được gọi ở đây là "sao chép nó xuống") hoặc Fill Up .
Peter Mortensen

14

Microsoft có một bài viết chi tiết cách tìm các bản sao trong hai cột. Nó có thể được thay đổi đủ dễ dàng để tìm thấy các mục duy nhất trong mỗi cột.

Ví dụ: nếu bạn muốn Col C hiển thị các mục duy nhất cho Col A và Col D để hiển thị các mục duy nhất cho Col B:

A   B   C                                          D
1   3   =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"")  =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2   5   (fill down)                                (fill down)
3   8   ..                                         ..
4   2   ..                                         ..
5   0   ..                                         ..


4

Nói rằng bạn muốn tìm những người trong col. B không có trận đấu trong col. A. Đặt vào C2:

=COUNTIF($A$2:$A$26;B2)

Điều này sẽ cung cấp cho bạn 1 (hoặc nhiều hơn) nếu có một trận đấu, 0 nếu không.

Bạn cũng có thể sắp xếp cả hai cột riêng lẻ, sau đó chọn cả hai, Goto Special, chọn Hàng khác biệt. Nhưng điều đó sẽ ngừng hoạt động sau mục mới đầu tiên và bạn sẽ phải chèn một ô sau đó bắt đầu lại.


4

Nếu tôi hiểu rõ câu hỏi của bạn:

=if(Ax = Bx; True_directive ; False_directive)

Thay thế các lệnh True / false bằng một hàm hoặc bằng một chuỗi như "Bằng" hoặc "khác nhau".


@pasta điều này sẽ không hoạt động nếu hai cột không được sắp xếp giống nhau - Tôi nghĩ rằng câu hỏi không phải là về nó.
SIslam

3

Nó phụ thuộc vào định dạng của các tế bào và các yêu cầu chức năng của bạn. Với "0" hàng đầu, chúng có thể được định dạng dưới dạng văn bản.

Sau đó, bạn có thể sử dụng hàm IF để so sánh các ô trong Excel:

=IF ( logical_test, value_if_true, value_if_false )

Thí dụ:

=IF ( A1<>A2, "not equal", "equal" )

Nếu chúng được định dạng dưới dạng số, bạn có thể trừ cột đầu tiên khỏi cột khác để có được sự khác biệt:

=A1-A2

2

Công thức này sẽ so sánh trực tiếp hai tế bào. Nếu chúng giống nhau, nó sẽ in True, nếu có một sự khác biệt, nó sẽ in False. Công thức này sẽ không in những gì khác biệt.

=IF(A1=B1,"True","False")

1

Tôi đang sử dụng Excel 2010 và chỉ làm nổi bật hai cột có hai bộ giá trị mà tôi đang so sánh, sau đó bấm vào menu thả xuống Định dạng có điều kiện trên trang chủ của Excel, chọn quy tắc Đánh dấu ô, sau đó chọn các khác biệt. Sau đó, nó nhắc để làm nổi bật sự khác biệt hoặc tương đồng và hỏi bạn muốn sử dụng màu gì nổi bật ...


0

Việc so sánh có thể được thực hiện với mã VBA Excel. Quá trình so sánh có thể được thực hiện với Worksheet.Countifchức năng VBA của Excel .

Hai cột trên các bảng tính khác nhau được so sánh trong mẫu này. Nó tìm thấy kết quả khác nhau khi toàn bộ một hàng đã được sao chép vào bảng tính thứ hai.

Mã số:

Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")

Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
        msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
        msb.Range("a" & sat).Interior.ColorIndex = 22
        sat = sat + 1
    End If
Next
...

Video hướng dẫn: https://www.youtube.com/watch?v=Vt4_hEPsKt8

Tệp ví dụ có thể được tải xuống ở đây


1
Nếu bạn định liên kết với blog và kênh YouTube của mình, bạn phải tiết lộ liên kết của mình. Nếu bạn không, bạn có thể bị buộc tội spam.
DavidPostill

0

Điều này đang sử dụng một công cụ khác nhưng tôi chỉ thấy điều này rất dễ thực hiện. Sử dụng Notepad ++:

Trong Excel, đảm bảo 2 cột của bạn được sắp xếp theo cùng một thứ tự, sau đó sao chép và dán các cột của bạn vào 2 tệp văn bản mới và sau đó chạy so sánh (từ menu plugin).


0

Sự kết hợp chức năng KHÔNG MATCH hoạt động tốt. Các công việc sau đây cũng vậy:

= IF ( ISERROR ( VLOOKUP (<< mục trong danh sách lớn hơn >>, << danh sách smaler >>, 1 , FALSE )), << mục trong danh sách lớn hơn >>, "")

HÃY NHỚ: danh sách nhỏ hơn PHẢI ĐƯỢC GỬI ASCENDING - một yêu cầu của vlookup

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.