Công thức đếm có nhiều kiều kiện và loại bỏ dữ liệu trùng nhau (1 người xem)

Người dùng đang xem chủ đề này

kinhkong6500

Thành viên mới
Tham gia
19/1/10
Bài viết
4
Được thích
1
Chào các bạn
Mình có bài toàn này nhờ các bạn chỉ giúp
Mình cần thống kê số lượng khách hàng theo cột cmt_kh không trùng nhau và thỏa mãn điều kiện:
- maxa là 140801*
- schem_cd là S00100
- nguonvon là 1
- dvut là 11
Mình gửi kèm file, nhờ anh em chỉ giúp (mình đã tìm trên diễn đàn rồi nhưng không thấy)
Trình của mình có hạn, mong anh em chỉ hộ rõ ràng và gửi file lại giúp mình nhé
Mail: hungvk6500@yahoo.com
Thanks!

Ai đó giúp mình đi ae?
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:

điều kiện gì mà quá trời, dể gì trùng.
thử vậy xem
Mã:
=COUNT(1/FREQUENCY(IF(COUNTIF(OFFSET(C1,ROW(1:12),),"140801*")*(D2:D13="S00200")*(E2:E13="1")*(F2:F13="11"),MATCH(A2:A13,A2:A13,0)),ROW(2:13)))
kết thúc bằng Ctrl Shift Enter
 
Lần chỉnh sửa cuối:
Tình hình là tôi thử không được bạn ơi! Bạn kiểm tra giúp tôi với!
Có thể làm thẳng vào file rồi up lên cho mình dc không?
Mình đang cần quá

Bạn ơi kiểm tra lại và up file giúp mình nhé

điều kiện gì mà quá trời, dể gì trùng.
thử vậy xem
Mã:
=COUNT(1/FREQUENCY(IF(COUNTIF(OFFSET(C1,ROW(1:12),),"140801*")*(D2:D13="S00200")*(E2:E13="1")*(F2:F13="11"),MATCH(A2:A13,A2:A13,0)),ROW(2:13)))
kết thúc bằng Ctrl Shift Enter

Tình hình là không được bạn ơi, bạn cho vào file up lên giúp mình đi
 
Chỉnh sửa lần cuối bởi điều hành viên:
Let Gâu Gâu có thể cho biết tại sao dùng hàm offset trong đó không sao không làm thẳng cột C luôn. Có thể dùng hàm Left thay cho hàm Countif. Thay S00200 thành S00100 đúng yêu cầu

=COUNT(1/FREQUENCY(IF((LEFT(C2:C13,6)="140801")*(D2:D13="S00100")*(E2:E13="1")*(F2:F13="11"),MATCH(A2:A13,A2:A13,0)),ROW(2:13)))

Kết thúc bằng Ctrl + Shift + Enter
 
here you are.....................

Tình hình là OK rồi, đúng cái mình cần
Cảm ơn Lét Gâu Gâu rất nhiều

Let Gâu Gâu có thể cho biết tại sao dùng hàm offset trong đó không sao không làm thẳng cột C luôn. Có thể dùng hàm Left thay cho hàm Countif. Thay S00200 thành S00100 đúng yêu cầu

=COUNT(1/FREQUENCY(IF((LEFT(C2:C13,6)="140801")*(D2:D13="S00100")*(E2:E13="1")*(F2:F13="11"),MATCH(A2:A13,A2:A13,0)),ROW(2:13)))

Kết thúc bằng Ctrl + Shift + Enter

Tuyệt vời, cảm ơn bạn nmhung49

Công thức của bạn Let Gau Gau và nmhhung49 đều cho kq như nhau. Nhưng với dữ liệu 20000 dòng của mình thì nó tính toán hơi lâu.
Các bạn xem có cách khác để cho kq nhanh hơn ko?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Công thức của bạn Let Gau Gau và nmhhung49 đều cho kq như nhau. Nhưng với dữ liệu 20000 dòng của mình thì nó tính toán hơi lâu.
Các bạn xem có cách khác để cho kq nhanh hơn ko?

với số liệu 20000 dòng mà nó ko đứng máy mới lạ
1-bạn thử đưa phân đk, (phần mảng vào name), có thể nó tăng tốc được chút ít
2- dùng advenced filter lọc theo dk của bạn ra rồi mới đếm
3- nhờ các thầy vba giúp bùa.,,,,,,,,,,,,,,,,,,,
 

File đính kèm

với số liệu 20000 dòng mà nó ko đứng máy mới lạ
1-bạn thử đưa phân đk, (phần mảng vào name), có thể nó tăng tốc được chút ít
2- dùng advenced filter lọc theo dk của bạn ra rồi mới đếm
3- nhờ các thầy vba giúp bùa.,,,,,,,,,,,,,,,,,,,
Mình ko lọc trước được bạn ơi. Cơ sở dữ liệu của mình thường xuyên thay đổi. Mình muốn để công thức ở sheet khác, link số liệu từ file dữ liệu gốc để có kq tự động cơ! (hơi tham tí- he he)
 
Chào cả nhà, hiện tại mình cần được giúp đỡ về đề tài này. Nhưng vấn đề của mình khác bài vd của kinhkong6500 1 chút. Nếu nguồn vốn của bài vd trên là 1 thì mình muốn thay đổi là lớn hơn 0 (cụ thể theo file đính kèm). Thì mình cần chỉnh công thức thế nào cho phù hợp. Mong mọi người giúp mình.
 

File đính kèm

Chào cả nhà, hiện tại mình cần được giúp đỡ về đề tài này. Nhưng vấn đề của mình khác bài vd của kinhkong6500 1 chút. Nếu nguồn vốn của bài vd trên là 1 thì mình muốn thay đổi là lớn hơn 0 (cụ thể theo file đính kèm). Thì mình cần chỉnh công thức thế nào cho phù hợp. Mong mọi người giúp mình.

Tôi chỉ có thể viết hàm tự tạo, công thức Excel thì chưa nghĩ ra.
Enable Macros khi mở file.
Cấu trúc Hàm =Count_If(VùngTuần,Tuần,VùngMãKH,VùngsốlượngSP)
Điều kiện: Vùng số lượng>0
 

File đính kèm

Mình cảm ơn Ba Tê, vấn đề này có thể dùng PivotTable. Nhưng mình đang cần công thức excel nên mong mọi người xem giúp.
 
Chào cả nhà, hiện tại mình cần được giúp đỡ về đề tài này. Nhưng vấn đề của mình khác bài vd của kinhkong6500 1 chút. Nếu nguồn vốn của bài vd trên là 1 thì mình muốn thay đổi là lớn hơn 0 (cụ thể theo file đính kèm). Thì mình cần chỉnh công thức thế nào cho phù hợp. Mong mọi người giúp mình.
Tớ làm như thế này có được không?
 

File đính kèm

Tớ làm như thế này có được không?
paperclip.png
Tập tin đính kèm

Cám ơn Comet297 đã xem qua. Nhưng mình cần công thức đếm số lượng khách mua từng loại SP theo tuần và ko bị trùng.
 
Tớ làm như thế này có được không?
paperclip.png
Tập tin đính kèm

Cám ơn Comet297 đã xem qua. Nhưng mình cần công thức đếm số lượng khách mua từng loại SP theo tuần và ko bị trùng.
Với File của tớ tại bài số 17, bạn dùng công thức sau ở ô L4, kết thúc bằng 3 phím: Ctrl + Shift + Enter rồi kéo nhé
=SUM(IF(MATCH(IF((WEEKNUM(OFFSET($B4,ROW(INDIRECT("1:"&ROWS($B$4:$B$11))),0))-WEEKNUM(DATE(2016,$K$1,1))+1=$K4)*(E$4:E$11>0),$C$4:$C$11,""),IF((WEEKNUM(OFFSET($B4,ROW(INDIRECT("1:"&ROWS($B$4:$B$11))),0))-WEEKNUM(DATE(2016,$K$1,1))+1=$K4)*(E$4:E$11>0),$C$4:$C$11,""),0)=ROW(INDIRECT("1:"&ROWS($B$4:$B$11))),1,0))
 
Mình góp thêm công thức loại bỏ tính trùng với điều kiện Mã 1 khách hàng phải nằm kế bên nhau (Như sort theo khách hàng):
=COUNT(IF((LEFT(C2:C13,6)="140801")*(D2:D13="S00200")*(E2:E13="1")*(F2:F13="11")*(A2:A13<>A1:A12),MATCH(A2:A13,A2:A13,0)))
Kết thúc bằng Ctrl + Shift + Enter
 

File đính kèm

Lần chỉnh sửa cuối:
các bạn giúp mình đếm dữ liệu không trùng có điều kiện mình làm theo công thức trên không ra thanks
 
đếm dữ liệu không trùng có diều kiện mình áp dụng công thức trong file không ra mọi người giúp mình nha
 

File đính kèm

Lần chỉnh sửa cuối:
Hay quá
 
Lần chỉnh sửa cuối:
Hay quá
 
Lần chỉnh sửa cuối:
Đếm loại dữ liệu trùng theo tiêu chí nào vậy bạn?
Và đk ngày đó là ngày nào: trong dữ liệu 3 loại ngày:
Ngày cập nhật
Thời gian khởi công
Thời gian cấp ống
??

File đã đếm, bạn chưa phản hồi nên chưa loại trùng nha.
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
đếm dữ liệu không trùng có diều kiện mình áp dụng công thức trong file không ra mọi người giúp mình nha
Công thức cho bạn:
Mã:
=SUM(--(FREQUENCY(IF((A4:A24="0109")*(C4:C24="ĐT")*(D4:D24=1),MATCH(B4:B24,B4:B24,0)),ROW(B4:B24)-ROW(B4)+1)>0))
Kết thúc Ctr + Shift + Enter nha.
:-)
 
File đã đếm, bạn chưa phản hồi nên chưa loại trùng nha.
Tks bạn, mình thêm vài ý: ở ô F6 mình đếm dữ liệu Cột D, điều kiện cột G từ hàng 53 trở đi. Ở ô H6 mình đếm dữ liệu Cột D, điều kiện cột G và H từ hàng 53 trở đi. Ở ô E24 mình đếm dữ liệu cột D, điều kiện cột G và AA từ hàng 53. ở ô F24 mình đếm cột D, điều kiện cột G, I và AA.... Tất cả đều loại dữ liệu trùng ở cột D.
 
Tks bạn, mình thêm vài ý: ở ô F6 mình đếm dữ liệu Cột D, điều kiện cột G từ hàng 53 trở đi. Ở ô H6 mình đếm dữ liệu Cột D, điều kiện cột G và H từ hàng 53 trở đi. Ở ô E24 mình đếm dữ liệu cột D, điều kiện cột G và AA từ hàng 53. ở ô F24 mình đếm cột D, điều kiện cột G, I và AA.... Tất cả đều loại dữ liệu trùng ở cột D.
vậy là giờ bỏ điều kiện :>=C6, và <=D6 hả bạn
 
Vẫn giữ điều kiện này, cảm ơn
Góp ý: Từ G53 đến G866: bạn nên sửa lại ngày tháng năm nha( dư liệu thấy không đồng nhất).
MÌnh làm phần đầu rồi: 2 phần dưới tương tự nha.( bạn làm cho quen nha)
Gưi ban file.
 

File đính kèm

Bạn xem lại điều kiện của bạn là lọc trùng mà sao kết quả là 3 được:
3 là kết quả ntn.
 
Chào bạn, mình kiểm tra thấy có chỗ chưa đúng. Ô H9 = 3 mới đúng, theo công thức nó ra chỉ có 1 à, bạn xem giúp lại với, cảm ơn nhiều
Mã:
F6=SUM(IFERROR(($G$53:$G$866>=$C6)*($G$53:$G$866<=$D6)/COUNTIFS($G$53:$G$866,$G$53:$G$866,$D$53:$D$866,$D$53:$D$866),0))
H6=SUM(IFERROR(($G$53:$G$866>=$C6)*($G$53:$G$866<=$D6)*($I$53:$I$5000=G$4)/COUNTIFS($G$53:$G$866,$G$53:$G$866,$D$53:$D$866,$D$53:$D$866),0))
ctrl+shift+enter.
Thân!
 

File đính kèm

Hi Anh Phan Thế Hiệp,
Kết quả H9=3 là vì sao anh.
ĐK sao em filter lại chỉ có mỗi Vĩnh Long với ĐK là tháng 4. ( C vs D ak).
thanks!
 
Chào bạn, mình kiểm tra thấy có chỗ chưa đúng. Ô H9 = 3 mới đúng, theo công thức nó ra chỉ có 1 à, bạn xem giúp lại với, cảm ơn nhiều
Bạn phải xét thêm đk: " Tên Dự án/Gói thầu " thì kết quả mới là 3 được nha.
Còn các bài trước và file bạn gửi không nêu rõ, thậm chí comment trong file cũng không có.
:-(
 
Hi Anh Phan Thế Hiệp,
Kết quả H9=3 là vì sao anh.
ĐK sao em filter lại chỉ có mỗi Vĩnh Long với ĐK là tháng 4. ( C vs D ak).
thanks!
Sau khi filter cột I: "Tỉnh Vĩnh Long"
  • Tháng 4: có 3 dự án:
    • Đầu Tư Xây Dựng Công Trình Đường Tỉnh 907 Tỉnh Vĩnh Long
    • Xây Dựng Công Viên Truyền Hình Thành Phố Vĩnh Long
    • Bệnh Viện Đa Khoa Xuyên Á Vĩnh Long
  • Tháng 6: có 1 dự án
    • Kè Sông Cổ Chiên - Gđ 2
Thân!
 
Let Gâu Gâu có thể cho biết tại sao dùng hàm offset trong đó không sao không làm thẳng cột C luôn. Có thể dùng hàm Left thay cho hàm Countif. Thay S00200 thành S00100 đúng yêu cầu

=COUNT(1/FREQUENCY(IF((LEFT(C2:C13,6)="140801")*(D2:D13="S00100")*(E2:E13="1")*(F2:F13="11"),MATCH(A2:A13,A2:A13,0)),ROW(2:13)))

Kết thúc bằng Ctrl + Shift + Enter
giải thích hộ mình chút về công thức này được không ạ, mình cảm ơn
Bài đã được tự động gộp:

Let Gâu Gâu có thể cho biết tại sao dùng hàm offset trong đó không sao không làm thẳng cột C luôn. Có thể dùng hàm Left thay cho hàm Countif. Thay S00200 thành S00100 đúng yêu cầu

=COUNT(1/FREQUENCY(IF((LEFT(C2:C13,6)="140801")*(D2:D13="S00100")*(E2:E13="1")*(F2:F13="11"),MATCH(A2:A13,A2:A13,0)),ROW(2:13)))

Kết thúc bằng Ctrl + Shift + Enter
giải thích hộ mình chút về công thức này được không ạ, mình cảm ơn
 

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

Back
Top Bottom