Nhận biết dữ liệu trùng và không trùng để update

  • Thread starter Thread starter LikeIt
  • Ngày gửi Ngày gửi
Liên hệ QC

LikeIt

Thành viên tiêu biểu
Tham gia
16/6/06
Bài viết
415
Được thích
254
Nghề nghiệp
Others
Kính gửi các Anh, Chị

Hàng ngày em nhận đc một bảng thống kê số liệu của hàng hoá, có rất nhiều mã hàng trùng nhau và không trùng nhau,vậy làm thế nào để biết đc các mã hàng đó trùng nhau và không trùng nhau để cập nhật vào báo cáo. em đã làm thử trong file đính kèm, nhưng đang gặp một khó khăn là các số liệu trùng nhau lại ko nằm cùng trên 1 dòng. Mong anh chị giải giúp.

Em xin cảm ơn.
NHT
 

File đính kèm

Sao em ko dùng công thức =COUNTIF($A$3:$A$300,B3)
Kết quả nếu =0 thì là code mới, còn ngược lại > hoặc = 1 thì là có trùng
ANH TUẤN
 
Bạn thử như này đc không?
D3=IF(COUNTIF($A$3:$A$400,B3),"Updated","Not yet updated")
 
Bạn xem file tôi làm xem có đúng ý bạn không.
 

File đính kèm

phamnhukhang đã viết:
Bạn thử như này đc không?
D3=IF(COUNTIF($A$3:$A$400,B3),"Updated","Not yet updated")


hic, tiếng việt cho dễ dùng và thêm 1 chút =0 cho ng mới dễ hiểu (sorry phamnhukhang)

D3=IF(COUNTIF($A$3:$A$400,B3)=0,"Chưa có - Cần cập nhập","")
 
Lần chỉnh sửa cuối:
Cám ơn các anh rất nhiều, thực sự em ko biết cách làm các hàm lồng vào nhau, nên khi làm rất hay bị gặp khó khăn.Đúng hàm if(countif) đã giải quyết đc vấn đề của em.
 
Góp ý với các bạn về câu lệnh IF trong file... Vì ở đây chỉ cần phân biệt kết quả của COUNTIF($A$3:$A$400,B3) là =0 hay lớn hơn 0 nên thực chất ta cũng ko cần ghi rõ là =0 hay =1... chỉ cần ghi thế này là ổn rồi:
IF(COUNTIF(.....),....,....)
Tự nhiên Excel nó sẽ hiểu ở đây là COUNTIF(.....)=TRUE (nghĩa là <>0)
IF như kiểu của Phamnhukhang là chuẩn nhất! Tất nhiên các bạn ko hề sai, nhưng.. thừa...
Mến
ANH TUẤN
 
Nguyễn Hương Thơm đã viết:
Cám ơn các anh rất nhiều, thực sự em ko biết cách làm các hàm lồng vào nhau, nên khi làm rất hay bị gặp khó khăn.Đúng hàm if(countif) đã giải quyết đc vấn đề của em.

Ok, sẽ tiện lợi hơn nếu ở cột bên cạnh ta liệt kê các số cần cập nhập lun, và tigertiger đã giúp đều đó - "Nguyễn Hương Thơm" xem kỹ trong file gửi kèm (tigertiger đã ghi chú rui)

chúc thành công

mong được mọi người góp ý (tigertiger đang quá trình học hỏi)
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn cho hỏi,cái kết quả ở cột E của bạn (như file gửi kèm) cụ thể là số 110, 196,208 là nghĩa gì? vì mình ko hiểu công thức đó.
 
Bài này nếu khóe léo đặt name sẽ ko cần cột phụ luôn... Các bạn nghiên cứu xem... Việc trích xuất mà ko dùng cột phụ là 1 bài toán hay đấy!
ANH TUẤN
 
Nguyễn Hương Thơm đã viết:
Bạn cho hỏi,cái kết quả ở cột E của bạn (như file gửi kèm) cụ thể là số 110, 196,208 là nghĩa gì? vì mình ko hiểu công thức đó.
oh đó là cột phụ, và các con số đó (110, 196,208,...) ý nghĩa là thứ tự của các số 1 (chỉ ra cho MS tương ứng cần cập nhập) lần lượt từ trên xuống trong cột D (cột phụ 1)

anhtuan1066 đã viết:
Bài này nếu khóe léo đặt name sẽ ko cần cột phụ luôn... Các bạn nghiên cứu xem... Việc trích xuất mà ko dùng cột phụ là 1 bài toán hay đấy!
ANH TUẤN
chắc là có thể, nhưng có lẽ chỉ bỏ được cột phụ 1 thôi (cột D), mong các bạn nghiên cứu nhé
 
Chỉnh sửa lần cuối bởi điều hành viên:
Đây.. nói ko có bằng chứng pa con hỏng có tin...
Tôi làm 1 file.. các bạn nghiên cứu thử xem... công thức khá đơn giản.. Chủ yếu là cách đặt name! Trong này ko có 1 cột phụ nào cả... Ra KQ luôn... he.. he..
Mến
ANH TUẤN
 

File đính kèm

Sẳn đây nói luôn lý do tại sao phải bỏ cột phụ chi cho nó cực vậy (suy nghĩ nặng đầu óc)... Nếu như giữ cột phụ thì ít ra cũng dễ hiểu hơn!
Với file như Hương Thơm đưa lên thì chẳng nói làm gì, dùng cột phụ càng tốt... Nhưng nếu dừ liệu có từ 20.000 dòng trở lên thì sao? Có phải là cột phụ này sẽ làm cho dung lượng file tăng lên khũng khiếp? Và bảng tính sẽ trở nên ì ạch.. đến mức treo luôn cũng ko chừng...
Vì những lẽ nó mà có lẽ chúng ta nên nghiên cứu thật kỹ.. bớt dc cái nào cứ bớt, miễn sao file đạt dc mức tối ưu nhất... Lúc đó thì sợ gì 20.000 dòng ! hi.. hi... (Tôi đã từng làm file 60.000 dòng vẫn chạy vèo vèo)
Mến
ANH TUẤN
 
oh, dùng name như anhtuan1066 - hình như file nặng hơn, k nặng ký hơn mà nặng hơn về tốc độ - khi thay đổi giá trị thấy tính toán lại hơi nặng???

ko rõ lý do - có thể máy phải tính toán lại name lâu hơn thì phải ???
 
anhtuan1066 đã viết:
Góp ý với các bạn về câu lệnh IF trong file... Vì ở đây chỉ cần phân biệt kết quả của COUNTIF($A$3:$A$400,B3) là =0 hay lớn hơn 0 nên thực chất ta cũng ko cần ghi rõ là =0 hay =1... chỉ cần ghi thế này là ổn rồi: IF(COUNTIF(.....),....,....)
Tự nhiên Excel nó sẽ hiểu ở đây là COUNTIF(.....)=TRUE (nghĩa là <>0)
IF như kiểu của Phamnhukhang là chuẩn nhất! Tất nhiên các bạn ko hề sai, nhưng.. thừa...
Theo mình ghi hay không hay ghi = true/False hoặc ghi = 0/-1 đều có ảnh hưởng đến tốc độ tính toán đó;
Nếu chỉ vài trăm records thì không nói chi, nhưng hàng vạn thì là chuyện khác hoàn toàn à nha!
Trong VBA sẽ đo đếm sự khác biệt này dễ hơn;
Cái này mình đọc ở sách nào đó quên rồi, nhưng 3 câu lệnh sau đây sẽ có tốc độ thực hiện khác nhau
PHP:
   TGian = Timer
    for iJ=1 to 2*10^6
          1   If Not Bien then Bien = Not Bien
          2   If Bien = 0 Then Bien = -1
          3  If Bien = False then Bien = True
          If iZ < 1.2 * 10 ^ 6 then iZ = 1 + iZ  Else Iz = iZ -1 
    Next iJ 
    MsgBox Str(Timer - TGian)
 
Lần chỉnh sửa cuối:
SA_DQ đã viết:
Theo mình ghi hay không hay ghi = true/False hoặc ghi = 0/-1 đều có ảnh hưởng đến tốc độ tính toán đó;
Nếu chỉ vài trăm records thì không nói chi, nhưng hàng vạn thì là chuyện khác hoàn toàn à nha!
Trong VBA sẽ đo đếm sự khác biệt này dễ hơn;
Cái này mình đọc ở sách nào đó quên rồi, nhưng 3 câu lệnh sau đây sẽ có tốc độ thực hiện khác nhau
PHP:
   TGian = Timer
    for iJ=1 to 2*10^6
          1   If Not Bien then Bien = Not Bien
          2   If Bien = 0 Then Bien = -1
          3  If Bien = False then Bien = True
          If iZ < 1.2 * 10 ^ 6 then iZ = 1 + iZ  Else Iz = iZ -1 
    Next iJ 
    MsgBox Str(Timer - TGian)

Cuối cùng là cái nào nhanh hơn hả bác ???

Thân!
 
anhtuan1066 đã viết:
Sao em ko dùng công thức =COUNTIF($A$3:$A$300,B3)
Kết quả nếu =0 thì là code mới, còn ngược lại > hoặc = 1 thì là có trùng
ANH TUẤN
theo mình thì làm như anhtuan1066 cũng được nhưng để dễ nhận ra bạn nên chọn format\condition formating sau đó chọn greater than ở list box thứ 2,tiếp theo chọn >=1 rồi format(bạn có thể tùy chọn format theo màu ưa thích)
 
oh, dùng name như anhtuan1066 - hình như file nặng hơn, k nặng ký hơn mà nặng hơn về tốc độ - khi thay đổi giá trị thấy tính toán lại hơi nặng???
Đối với file ít dử liệu như thế này thì cách của tôi sẽ "nặng" hơn cách bạn là đúng... Nhưng bạn cứ làm thử trên 1 file có khoảng 20.000 dòng... Rồi so sánh 2 cách sẽ biết cái nào ngon hơn liền...
Bạn có thể tham khảo thêm tại đây:
http://www.giaiphapexcel.com/forum/showthread.php?t=5608
ANH TUẤN
 
Bạn dùng công thức như thế này xem nào, như ta vẫn nghĩ đơn giản vấn đề
=IF(VLOOKUP(N3,$M$3:$M$300,1)=N3,"","update")@#!^%//**/
 
Xin lỗi mạng trục trặc nên post 2 lần.
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom