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 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ử:
Câu trả lời:
Đá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)
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.
$B:$B
để chỉ toàn bộ cột B
khô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 .
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 .. ..
Đây là công thức mà bạn đang tìm kiếm:
=IF(ISERROR(NOT(MATCH(A1,$B$1:$B$11,0))),A1,"")
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.
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".
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
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 ...
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.Countif
chứ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
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