đếm số lần dữ liệu trùng trong 1 cột

Liên hệ QC

wisatan

Thành viên mới
Tham gia
23/12/10
Bài viết
22
Được thích
0
Nhờ mọi người giúp mình vấn đề này.
Mình có 1 cột A để nhập dữ liệu, và dữ liệu sẽ được thêm vào liên tục, ô B1 dùng để đếm những liệu bị trùng nhau ở cột A, khi thấy B>0 thì mình sẽ dùng lệnh xóa trùng (khi đó B sẽ trở về 0 lại). Đơn giản vậy thôi nhưng do tìm mãi vẫn chưa ra nên xin phép dc đăng mới. Mình thử đã dùng hàm counta, countif và hàm đếm dữ liệu ko trùng để tính ra, nhưng thấy nó dài dòng quá và mỗi lần nhập thêm 1 dữ liệu mới, máy chậm kinh khủng, vì mình dùng hàm countif để đếm số lần dữ liệu xuất hiện ở cột A và fill nó xuống đến hàng thứ mấy chục ngàn luôn (cho tiện) >>> máy treo luôn.
.......A......B
1....123....2
2....345
3....456
4....345
...
99...123
...
999..123
Cho mình hỏi thêm, khi dùng hàm Countif, lúc chọn range A1:A999, có cách nào để thay "999" bằng ký hiệu vô cực nào ko (thay vì phải chọn đại 1 số cực lớn nào đó), kiểu giống như thay A1:A999 = cotA chẳng hạn.
Cám ơn rất nhiều.
 

File đính kèm

  • dem so lan du lieu trung.xlsx
    7.6 KB · Đọc: 26
Lần chỉnh sửa cuối:
Bạn gửi file excel lên xem....
 
làm sao để gửi file excel zay bạn, minh tìm ko thấy.
 
làm sao để gửi file excel zay bạn, minh tìm ko thấy.

Ở chỗ viết bài, click nút "Đổi Sang Khung Lớn"... Tiếp đó kéo xuống dưới, tìm nút "Tải File Từ Máy"
Xài cái gì thì cũng đọc hướng dẫn sử dụng đã chứ:
https://www.giaiphapexcel.com/forum/showthread.php?33633-Hướng-dẫn-gửi-bài-và-đính-kèm-tập-tin

Trả lời bài của ai thì click vào cái nút "Trả Lời Với Trích Dẫn"
 
Nhờ mọi người giúp mình vấn đề này.
Mình có 1 cột A để nhập dữ liệu, và dữ liệu sẽ được thêm vào liên tục, ô B1 dùng để đếm những liệu bị trùng nhau ở cột A, khi thấy B>0 thì mình sẽ dùng lệnh xóa trùng (khi đó B sẽ trở về 0 lại). Đơn giản vậy thôi nhưng do tìm mãi vẫn chưa ra nên xin phép dc đăng mới. Mình thử đã dùng hàm counta, countif và hàm đếm dữ liệu ko trùng để tính ra, nhưng thấy nó dài dòng quá và mỗi lần nhập thêm 1 dữ liệu mới, máy chậm kinh khủng, vì mình dùng hàm countif để đếm số lần dữ liệu xuất hiện ở cột A và fill nó xuống đến hàng thứ mấy chục ngàn luôn (cho tiện) >>> máy treo luôn.
.......A......B
1....123....2
2....345
3....456
4....345
...
99...123
...
999..123
Cho mình hỏi thêm, khi dùng hàm Countif, lúc chọn range A1:A999, có cách nào để thay "999" bằng ký hiệu vô cực nào ko (thay vì phải chọn đại 1 số cực lớn nào đó), kiểu giống như thay A1:A999 = cotA chẳng hạn.
Cám ơn rất nhiều.
Chào wisatan,

Mặc dù hơi rợn người và không muốn lại gần khi đọc phải nickname của bạn --=0, nhưng do tôi có "đức tin" vào Người, nên hỗ trợ bạn cũng là dịp tốt nhân danh Người vậy. }}}}}

Anh Befaint đã giúp đỡ bạn phần sử dụng các công cụ của diễn đàn, tôi giúp bạn phần còn lại theo yêu cầu của bạn:
Mã:
B1=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(1:100000)),A2:A100000)=2))

Công thức này tuy là công thức mảng, sử dụng vùng chọn lên đến 100.000 dòng, nhưng do chỉ có duy nhất mình nó (không có fill xuống) nên tôi nghĩ sẽ không ảnh hưởng lớn đến hoạt động máy của bạn.

Chúc bạn ngày vui.
 
Lần chỉnh sửa cuối:
Chào wisatan,

Mặc dù hơi rợn người và không muốn lại gần khi đọc phải nickname của bạn --=0, nhưng do tôi có "đức tin" vào Người, nên hỗ trợ bạn cũng là dịp tốt nhân danh Người vậy. }}}}}

Anh Befaint đã giúp đỡ bạn phần sử dụng các công cụ của diễn đàn, tôi giúp bạn phần còn lại theo yêu cầu của bạn:
Mã:
B1=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(1:100000)),A2:A100000)=2))

Công thức này tuy là công thức mảng, sử dụng vùng chọn lên đến 100.000 dòng, nhưng do chỉ có duy nhất mình nó (không có fill xuống) nên tôi nghĩ sẽ không ảnh hưởng lớn đến hoạt động máy của bạn.

Chúc bạn ngày vui.
góp thêm công thức rối hơn một chút, nhưng tăng lên 1.000.000 dòng dự trử cho bạn, nếu dữ liệu thực không nhiều thì tốc độ xử lý cũng nhanh, nhưng nếu dữ liệu thực lên tới 1.000.000 dòng thì dùng công thức nào cũng đơ
chúc các bạn 1 ngày vui
Mã:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(INDIRECT("1:"&COUNTA(A2:A1000000)))),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
 
góp thêm công thức rối hơn một chút, nhưng tăng lên 1.000.000 dòng dự trử cho bạn, nếu dữ liệu thực không nhiều thì tốc độ xử lý cũng nhanh, nhưng nếu dữ liệu thực lên tới 1.000.000 dòng thì dùng công thức nào cũng đơ
chúc các bạn 1 ngày vui
Mã:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(INDIRECT("1:"&COUNTA(A2:A1000000)))),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
Bửa giờ bận hả bạn hiền, phần bài "xếp hạng" không có bạn hiền góp tụ cùng vui.

khà khà khà! --=0--=0--=0

Chúc bạn hiền một tối ngon giấc. }}}}}}}}}}}}}}}
 
Vầy cũng được phải không hai anh:
Mã:
=SUM(IF(1/COUNTIF($A$2:$A$9,$A$2:$A$9)<1,1/COUNTIF($A$2:$A$9,$A$2:$A$9)))
Ctrl+Shift+Enter!!!
 
Bửa giờ bận hả bạn hiền, phần bài "xếp hạng" không có bạn hiền góp tụ cùng vui.

khà khà khà! --=0--=0--=0

Chúc bạn hiền một tối ngon giấc. }}}}}}}}}}}}}}}
2 ngày nay chỉ rảnh buổi tối 1 chút thôi, tranh thủ lên mạng giải quyết tồn đọng, gặp mấy bài hơi rối nên không có thời gian góp vui với các bạn. chúc các bạn ngon giấc }}}}}}}}}}}}}}}
 
Anh không kèm luôn link bài đó để anh ấy phải tìm... }}}}}}}}}}
https://www.giaiphapexcel.com/forum/...%BFp-hang-RANK
2 ngày nay chỉ rảnh buổi tối 1 chút thôi, tranh thủ lên mạng giải quyết tồn đọng, gặp mấy bài hơi rối nên không có thời gian góp vui với các bạn. chúc các bạn ngon giấc }}}}}}}}}}}}}}}


Đuối cả ngày nên "khò" sớm, làm thất lễ với anh em, hì hì, chịu phạt /-*+//-*+//-*+/ Nhìn thấy số 11:59h hì hì, lúc đó lạc vào cõi "Đào Nguyên" rồi!

Vầy cũng được phải không hai anh:
Mã:
=SUM(IF(1/COUNTIF($A$2:$A$9,$A$2:$A$9)<1,1/COUNTIF($A$2:$A$9,$A$2:$A$9)))
Ctrl+Shift+Enter!!!
Anh nghĩ theo chủ đề chủ thớt đưa: "...dài đến mấy ngàn dòng" nên công thức của em phải bao thêm bẫy lỗi --=0
Chắc ăn phải vầy:
Mã:
=SUM(IFERROR(IF(1/COUNTIF(A2:A100000,A2:A100000)<1,1/COUNTIF(A2:A100000,A2:A100000)),0))
Làm đến 100.000 dòng anh thấy có hiện tượng máy chậm vài giây 1 chút, tức có thể do mình sử dụng 2 lần Countif().
Em có cái nhìn sắc nét, ngoài công thức của KVP ra công thức này cũng dạng "ngầu". --=0--=0

Chúc anh em một ngày mới, tinh thần mới, niềm vui mới }}}}}}}}}}}}}}}
p/s: chỉ có nickname cũ xì thôi! khà khà khà //**/
 
Rất cảm ơn các bác: befaint, quocgiacan, HieuCD, leoheocon.
Mình vừa test xong công thức của các bác:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(1:100000)),A2:A100000)=2))
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(INDIRECT("1:"&COUNTA(A2:A1000000)))),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
=SUM(IF(1/COUNTIF($A$2:$A$100000,$A$2:$A$100000)<1,1/COUNTIF($A$2:$A$100000,$A$2:$A$100000)))
tình hình là chạy tốt trên file thử, nhưng khi đưa vào file gốc, đều bị treo khi vừa bấm Ctrl - Shift - Enter. Chắc do máy mình cùi (Processor: Intel(R) Celeron(R) CPU G1630 @ 2.80GHz (2 CPUs), ~2.8GHz. Memory: 4096MB RAM. vailable OS Memory: 3490MB RAM).
Thôi đành chịu làm thủ công zay, cám ơn các bác lần nữa.
 
Rất cảm ơn các bác: befaint, quocgiacan, HieuCD, leoheocon.
Mình vừa test xong công thức của các bác:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(1:100000)),A2:A100000)=2))
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(INDIRECT("1:"&COUNTA(A2:A1000000)))),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
=SUM(IF(1/COUNTIF($A$2:$A$100000,$A$2:$A$100000)<1,1/COUNTIF($A$2:$A$100000,$A$2:$A$100000)))
tình hình là chạy tốt trên file thử, nhưng khi đưa vào file gốc, đều bị treo khi vừa bấm Ctrl - Shift - Enter. Chắc do máy mình cùi (Processor: Intel(R) Celeron(R) CPU G1630 @ 2.80GHz (2 CPUs), ~2.8GHz. Memory: 4096MB RAM. vailable OS Memory: 3490MB RAM).
Thôi đành chịu làm thủ công zay, cám ơn các bác lần nữa.
Chào wisatan,

Có lẽ đúng như bạn nói, ngoài ra cũng góp ý thêm với bạn:
Không nên đem các công thức trên đưa vào sử dụng cùng một chỗ, bạn thử công thức đầu xong rồi xóa mới chép công thức thứ hai vào, do dữ liệu của bạn quá nhiều dòng, chưa kể trong file nguồn của bạn lại có công thức khác nữa, công gộp mấy thứ như vậy thì không máy nào chịu nỗi.

Chúc bạn ngày vui.
 
Rất cảm ơn các bác: befaint, quocgiacan, HieuCD, leoheocon.
Mình vừa test xong công thức của các bác:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(1:100000)),A2:A100000)=2))
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,ROW(INDIRECT("1:"&COUNTA(A2:A1000000)))),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
=SUM(IF(1/COUNTIF($A$2:$A$100000,$A$2:$A$100000)<1,1/COUNTIF($A$2:$A$100000,$A$2:$A$100000)))
tình hình là chạy tốt trên file thử, nhưng khi đưa vào file gốc, đều bị treo khi vừa bấm Ctrl - Shift - Enter. Chắc do máy mình cùi (Processor: Intel(R) Celeron(R) CPU G1630 @ 2.80GHz (2 CPUs), ~2.8GHz. Memory: 4096MB RAM. vailable OS Memory: 3490MB RAM).
Thôi đành chịu làm thủ công zay, cám ơn các bác lần nữa.
chỉ đáp ứng đúng yêu cầu nhận biết và loại trùng của bạn, và làm nhẹ file
bạn dùng công thức
Mã:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,COUNTA(A2:A1000000)),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
 
Chào wisatan,

Có lẽ đúng như bạn nói, ngoài ra cũng góp ý thêm với bạn:
Không nên đem các công thức trên đưa vào sử dụng cùng một chỗ, bạn thử công thức đầu xong rồi xóa mới chép công thức thứ hai vào, do dữ liệu của bạn quá nhiều dòng, chưa kể trong file nguồn của bạn lại có công thức khác nữa, công gộp mấy thứ như vậy thì không máy nào chịu nỗi.

Chúc bạn ngày vui.

Vâng chắc chắn là thế rồi, vì mới 1 công thức là bị treo rồi, phải End proceed rồi mở lại, nên ko có 1 lần thử cả 3 đâu @$@!^%
 
chỉ đáp ứng đúng yêu cầu nhận biết và loại trùng của bạn, và làm nhẹ file
bạn dùng công thức
Mã:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,COUNTA(A2:A1000000)),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))

wow, cách này được rồi, ko bị treo, tuy có delay vài giây nhưng chấp nhận được, cám ơn bác rất nhiều, cám ơn lần nữa tất cả mọi người luôn nha.
 
chỉ đáp ứng đúng yêu cầu nhận biết và loại trùng của bạn, và làm nhẹ file
bạn dùng công thức
Mã:
=SUMPRODUCT(--(COUNTIF(OFFSET(A2,,,COUNTA(A2:A1000000)),OFFSET(A2,,,COUNTA(A2:A1000000)))=2))
Cách chưa đúng nhe anh: ví dụ có 3 số bị trùng và đều trùng là 2, thì nó sẽ ra 6 chứ không phải 3, sao chỗ này anh --(COUNTIF(OFFSET(A2,,,COUNTA(A2:A1000000)),OFFSET(A2,,,COUNTA(A2:A1000000))) không viết là COUNTIF($A$2:$A$1000000,$A$2:$A$1000000)!!!
 
Cách chưa đúng nhe anh: ví dụ có 3 số bị trùng và đều trùng là 2, thì nó sẽ ra 6 chứ không phải 3, sao chỗ này anh --(COUNTIF(OFFSET(A2,,,COUNTA(A2:A1000000)),OFFSET(A2,,,COUNTA(A2:A1000000))) không viết là COUNTIF($A$2:$A$1000000,$A$2:$A$1000000)!!!

mới test lại, đúng là kết quả không đúng lắm
 
Web KT

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

Back
Top Bottom