Lọc và tình Tổng các dữ liệu Trùng

Liên hệ QC
File của anh gửi đúng với yêu cầu của bài toán.
Nhưng có điều em muốn anh sữa giúp cột D (số phiếu), em muốn khi xuất sang Bacao thì nó được ghi là: 0169811702074 - 77 thay vì ghi 0169811702074 - 0169811702077. Vì khi em xuất ra phiếu thì dài quá. Mong anh giúp dù, chân thành cám ơn anh. Chíp xxx
Thứ nhất, anh không có sữa! Anh chỉ có chữa mà thôi.
Thứ đến: Mình sẽ hướng dẫn thôi, cũng sẽ không chữa & gởi lại nữa đâu, nha!

+ Từ sheets("DuLieu") có ít nhất 3 cách đến được macro đã trích dẫn ở bài trên.
* Bằng menu;
* Bằng tổ hợp phím tắt;
* Bằng ngay cái ComboBox trên trang tính;
Sau khi đến đó, bạn sẽ thấy dòng lệnh:
PHP:
           Sheets("BaoCao").Range("D" & Sheets("BaoCAo").Range("D65432").End(xlUp).Row) = _ 
                 Sheets("BaoCao").Range("D" & Sheets("BaoCAo").Range("D65432").End(xlUp).Row) & _ 
                  "-" & Chr(13) & Cells(iJ, 4).Offset(-1)
+ Bạn để con trỏ ngay đầu hàng cuối của dòng lệnh này & thực hiện phím {ENTER} để tạo dòng mới.
+ Dấu nháy con trỏ vẫn để ở đầu dòng có mệnh đề "-" & CHR(13) . . . . Bạn nhập thêm dấu nháy đơn vô hàng lệnh này! Mục đích dấu nháy đơn thường để vô hiệu lực dòng lệnh; Nhưng ở đây ta làm vậy để lưu những gì sợ mất!
+ Tiếp tục, ta đưa con trỏ lên dòng mới tạo & gỏ câu lệnh sau:
PHP:
 "-" & Right( Cells(iJ, 4).Offset(-1),2)
( Có nghĩa là không lấy hết, chỉ lấy 2 kí tự cuối thôi!)
+ Công việc xong, bấm lưu. Để an tâm, bạn vô menu Debug & bấm trỏ chuột lên dòng đầu tiên của menu này; Nếu Ễcl không phản đối gì là iên tâm lớn!
+ Bước cuối, tất nhiên là cho macro chạy 1 lần, để xem hiệu quả công việc.


Chờ tin vui từ bạn! }}}}} )(&&@@
 
Chip... nhờ, tigertiger áy náy chưa giúp được

Hôm nay lên GPE thấy bác SA_DQ giúp rùi, hay quá

Giờ mình chữa lại 1 chút cho hợp với Chip... hy vọng Bác SA_DQ đồng ý:

- dùng sheets temp -> đế Sheet Data ko đổi
- và thêm 3 cái vụn vặt khác

chúc thành công
 

File đính kèm

  • chipXinh_tigertiger2.xls
    55 KB · Đọc: 130
CÁC BẠN DÚP MÌNH VỚI
MÌNH MUỐN CHỨNG TỪ CỘT B CHỨNG TỪ TỰ ĐỘNG NHẢY SỐ KHI :
1) CÙNG 1 KHÁCH HÀNG XUẤT BÁN NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU XUẤT KÈM THÁNG : X001/01
2) CÙNG 1 KHÁCH HÀNG NHẬP NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU NHẬP KÈM THÁNG : X001/01
3)QUA THÁNG MỚI PHIẾU LẠI BẮT ĐẦU TỪ PHIẾU 001 + THÁNG ĐÓ: NOO1/02
MÌNH CẢM ƠN
 

File đính kèm

  • TAOPHIEUNHAP XUAT TU DONG NHAY.xlsb
    236.6 KB · Đọc: 10
CÁC BẠN DÚP MÌNH VỚI
MÌNH MUỐN CHỨNG TỪ CỘT B CHỨNG TỪ TỰ ĐỘNG NHẢY SỐ KHI :
1) CÙNG 1 KHÁCH HÀNG XUẤT BÁN NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU XUẤT KÈM THÁNG : X001/01
2) CÙNG 1 KHÁCH HÀNG NHẬP NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU NHẬP KÈM THÁNG : X001/01
3)QUA THÁNG MỚI PHIẾU LẠI BẮT ĐẦU TỪ PHIẾU 001 + THÁNG ĐÓ: NOO1/02
MÌNH CẢM ƠN
Hình thức nêu yêu cầu của bạn toàn bộ viết hoa, nên đã phạm "Nội quy diễn đàn" Mục II.3.
Xem:

Bạn điều chỉnh lại bài viết, khắc sẽ có lời giải đáp cho bạn.

Thân
 
Bài này hai em @hocexcel_1991 và @huonglien1901 có thể giải quyết, nên làm thử.

Gợi ý giải thuật:
  • Truy lục 'số phiếu' các dòng trên, với điều kiện nếu có cùng ngày, cùng mã khách, và cùng cột Nợ (tức Nhập) hoặc cùng cột Có (tức Xuất) bằng 156, thì lấy số phiếu đó.
  • Nếu không tìm thấy (báo lỗi), thì thực hiện đếm có bao nhiêu khách 'loại bỏ dữ liệu trùng lắp', với điều kiện: cùng "tháng năm" (dùng "my"), và cùng cột Nợ (tức Nhập) hoặc cùng cột Có (tức Xuất) bằng 156, ghép thêm vào đầu phiếu: ký tự "N" nếu dạng phiếu Nhập, hoặc "X" nếu là dạng phiếu xuất, và ghép đuôi ký tự "/ tháng" tương ứng.
Chúc hai em thành công.

Thân
 
Bài này hai em @hocexcel_1991 và @huonglien1901 có thể giải quyết, nên làm thử.

Gợi ý giải thuật:
  • Truy lục 'số phiếu' các dòng trên, với điều kiện nếu có cùng ngày, cùng mã khách, và cùng cột Nợ (tức Nhập) hoặc cùng cột Có (tức Xuất) bằng 156, thì lấy số phiếu đó.
  • Nếu không tìm thấy (báo lỗi), thì thực hiện đếm có bao nhiêu khách 'loại bỏ dữ liệu trùng lắp', với điều kiện: cùng "tháng năm" (dùng "my"), và cùng cột Nợ (tức Nhập) hoặc cùng cột Có (tức Xuất) bằng 156, ghép thêm vào đầu phiếu: ký tự "N" nếu dạng phiếu Nhập, hoặc "X" nếu là dạng phiếu xuất, và ghép đuôi ký tự "/ tháng" tương ứng.
Chúc hai em thành công.

Thân
Em làm theo cách em hiểu không biết có đúng không? Em chưa hiểu lắm về cách đánh số thứ tự của chủ thớt.
Mong anh chỉ thêm
Mã:
=IF(OR(D5=156,E5=""),"N","X")&TEXT(IF(IFERROR(MONTH(C4),)<>MONTH(C5),1,IF(OR(D5=156,E5=""),COUNT(1/(MATCH(IF(MONTH($C$5:C5)=MONTH(C5),IF((D$5:D5=156)+(E$5:E5=""),$F$5:F5)),$F$5:F5,)=ROW($1:$100))),COUNT(1/(MATCH(IF(MONTH($C$5:C5)=MONTH(C5),IF((E$5:E5=156)+(D$5:D5=""),$F$5:F5)),$F$5:F5,)=ROW($1:$100))))),"000")&"/"&TEXT(C5,"mm")
 

File đính kèm

  • TAOPHIEUNHAP XUAT TU DONG NHAY.xlsb
    238.8 KB · Đọc: 7
Em làm theo cách em hiểu không biết có đúng không? Em chưa hiểu lắm về cách đánh số thứ tự của chủ thớt.
Mong anh chỉ thêm
Mã:
=IF(OR(D5=156,E5=""),"N","X")&TEXT(IF(IFERROR(MONTH(C4),)<>MONTH(C5),1,IF(OR(D5=156,E5=""),COUNT(1/(MATCH(IF(MONTH($C$5:C5)=MONTH(C5),IF((D$5:D5=156)+(E$5:E5=""),$F$5:F5)),$F$5:F5,)=ROW($1:$100))),COUNT(1/(MATCH(IF(MONTH($C$5:C5)=MONTH(C5),IF((E$5:E5=156)+(D$5:D5=""),$F$5:F5)),$F$5:F5,)=ROW($1:$100))))),"000")&"/"&TEXT(C5,"mm")

Công thức chưa đạt rồi bạn ơi
Và khi tôi sửa chỗ này thì công thức cũng chưa được
1590742955094.png
Nói đến bài này bạn ấy có 2 vấn đề đó là đánh phiếu tay bị sai và mã Khách hàng không thống nhất.
Anh Mạnh ROXREX và Anh Thanh Nam KHang sao lại cùng 1 mã khách hàng được?
 

File đính kèm

  • 1590742556411.png
    1590742556411.png
    407 KB · Đọc: 15
Lần chỉnh sửa cuối:
CÁC BẠN DÚP MÌNH VỚI
MÌNH MUỐN CHỨNG TỪ CỘT B CHỨNG TỪ TỰ ĐỘNG NHẢY SỐ KHI :
1) CÙNG 1 KHÁCH HÀNG XUẤT BÁN NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU XUẤT KÈM THÁNG : X001/01
2) CÙNG 1 KHÁCH HÀNG NHẬP NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU NHẬP KÈM THÁNG : X001/01
3)QUA THÁNG MỚI PHIẾU LẠI BẮT ĐẦU TỪ PHIẾU 001 + THÁNG ĐÓ: NOO1/02
MÌNH CẢM ƠN
Bạn đặt phiếu bằng tay mà cũng còn sai tùm lum. Mình ko sử dụng được số phiếu mà bạn đặt để tham khảo được.
Bài này mời bạn xem file sau.(File không cần sắp sếp theo ngày tháng)
Bài này hai em @hocexcel_1991 và @huonglien1901 có thể giải quyết, nên làm thử.

Gợi ý giải thuật:
  • Truy lục 'số phiếu' các dòng trên, với điều kiện nếu có cùng ngày, cùng mã khách, và cùng cột Nợ (tức Nhập) hoặc cùng cột Có (tức Xuất) bằng 156, thì lấy số phiếu đó.
  • Nếu không tìm thấy (báo lỗi), thì thực hiện đếm có bao nhiêu khách 'loại bỏ dữ liệu trùng lắp', với điều kiện: cùng "tháng năm" (dùng "my"), và cùng cột Nợ (tức Nhập) hoặc cùng cột Có (tức Xuất) bằng 156, ghép thêm vào đầu phiếu: ký tự "N" nếu dạng phiếu Nhập, hoặc "X" nếu là dạng phiếu xuất, và ghép đuôi ký tự "/ tháng" tương ứng.
Chúc hai em thành công.

Thân
Em thấy khó ở chỗ phiếu sang tháng mới phải đánh số lại từ đầu, và 1 ngày có 1 khách vừa mua vừa bán anh ạ
Nếu bài này sort ngày tháng và nhập liệu theo kiểu nhập hết phần nhập, rồi mới sang phần xuất thì dễ viết công thức hơn.
 

File đính kèm

  • TAOPHIEUNHAP XUAT TU DONG NHAY (1).xlsb
    238.8 KB · Đọc: 14
Lần chỉnh sửa cuối:
Em làm theo cách em hiểu không biết có đúng không? Em chưa hiểu lắm về cách đánh số thứ tự của chủ thớt.
Mong anh chỉ thêm
Mã:
=IF(OR(D5=156,E5=""),"N","X")&TEXT(IF(IFERROR(MONTH(C4),)<>MONTH(C5),1,IF(OR(D5=156,E5=""),COUNT(1/(MATCH(IF(MONTH($C$5:C5)=MONTH(C5),IF((D$5:D5=156)+(E$5:E5=""),$F$5:F5)),$F$5:F5,)=ROW($1:$100))),COUNT(1/(MATCH(IF(MONTH($C$5:C5)=MONTH(C5),IF((E$5:E5=156)+(D$5:D5=""),$F$5:F5)),$F$5:F5,)=ROW($1:$100))))),"000")&"/"&TEXT(C5,"mm")
Gần được rồi đó em, chỉ thiếu phần trích lục lại số phiếu như phần 1 giải thuật anh nêu. Em xem kết quả sẽ ra như cột B file đính kèm.
Bạn đặt phiếu bằng tay mà cũng còn sai tùm lum. Mình ko xử dụng được số phiếu mà bạn đặt để tham khảo được.
Bài này mời bạn xem file sau

Em thấy khó ở chỗ phiếu sang tháng mới phải đánh số lại từ đầu, và 1 ngày có 1 khách vừa mua vừa bán anh ạ
Nếu bài này sort ngày tháng và nhập liệu theo kiểu nhập hết phần nhập, rồi mới sang phần xuất thì dễ viết công thức hơn.
Mặc kệ tên khách là gì, mình cứ việc bám căn cứ trên mã khách mà tính toán.
Việc đánh số lại từ đầu, và cùng ngày vừa mua, vừa bán như giải thuật anh nêu phần 2: tức nhờ đếm loại bỏ dữ liệu trùng lắp theo điều kiện mà làm được, bởi vậy trong giải thuật anh có bôi đen nhấn mạnh là điều kiện "Tháng và năm" (nhiều khi so sánh chỉ tháng 1 không thôi, thì nó gom cả tháng của năm 2019, 2020, 2021... mà tính toán), tức dùng Text(...,"my") rồi, còn điều kiện hoặc bên Nợ/ hoặc bên Có = 156 thì lúc đếm nó sẽ tự phân ra. Vd: đến ngày 03/02 có dữ liệu mới phát sinh, mà tháng 1 đã lập phiếu ở trên rồi, nhờ điều kiện "tháng năm" mà nó chỉ đếm trong tháng đó thôi, do có mình nó thì là 1, giả sử phát sinh thêm 1 khách nữa liền kề dưới cùng tháng năm nữa, thì lúc đó nó đếm là 2, 1 và 2 là kết quả đếm số lượng khách, cũng là số phiếu mình muốn lấy đó em.

Hai em đã đầu tư suy nghỉ tốt, cố gắng chút nữa, bám theo giải thuật anh nêu sẽ ra.

Chúc hai em thành công
 

File đính kèm

  • TAOPHIEUNX.xlsb
    240.3 KB · Đọc: 13
Gần được rồi đó em, chỉ thiếu phần trích lục lại số phiếu như phần 1 giải thuật anh nêu. Em xem kết quả sẽ ra như cột B file đính kèm.

Mặc kệ tên khách là gì, mình cứ việc bám căn cứ trên mã khách mà tính toán.
Việc đánh số lại từ đầu, và cùng ngày vừa mua, vừa bán như giải thuật anh nêu phần 2: tức nhờ đếm loại bỏ dữ liệu trùng lắp theo điều kiện mà làm được, bởi vậy trong giải thuật anh có bôi đen nhấn mạnh là điều kiện "Tháng và năm" (nhiều khi so sánh chỉ tháng 1 không thôi, thì nó gom cả tháng của năm 2019, 2020, 2021... mà tính toán), tức dùng Text(...,"my") rồi, còn điều kiện hoặc bên Nợ/ hoặc bên Có = 156 thì lúc đếm nó sẽ tự phân ra. Vd: đến ngày 03/02 có dữ liệu mới phát sinh, mà tháng 1 đã lập phiếu ở trên rồi, nhờ điều kiện "tháng năm" mà nó chỉ đếm trong tháng đó thôi, do có mình nó thì là 1, giả sử phát sinh thêm 1 khách nữa liền kề dưới cùng tháng năm nữa, thì lúc đó nó đếm là 2, 1 và 2 là kết quả đếm số lượng khách, cũng là số phiếu mình muốn lấy đó em.

Hai em đã đầu tư suy nghỉ tốt, cố gắng chút nữa, bám theo giải thuật anh nêu sẽ ra.

Chúc hai em thành công
Anh ơi. Có chỗ này vẫn chưa đạt được ạ? Nếu em sửa dòng 12 thành phiếu nhập thì vẫn chưa đánh số được đúng ạ
1590803073610.png
 
CÁC BẠN DÚP MÌNH VỚI
MÌNH MUỐN CHỨNG TỪ CỘT B CHỨNG TỪ TỰ ĐỘNG NHẢY SỐ KHI :
1) CÙNG 1 KHÁCH HÀNG XUẤT BÁN NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU XUẤT KÈM THÁNG : X001/01
2) CÙNG 1 KHÁCH HÀNG NHẬP NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU NHẬP KÈM THÁNG : X001/01
3)QUA THÁNG MỚI PHIẾU LẠI BẮT ĐẦU TỪ PHIẾU 001 + THÁNG ĐÓ: NOO1/02
MÌNH CẢM ƠN
Dữ liệu phải xếp thứ tự theo thời gian
Mã:
B5 =IFERROR(LOOKUP(2,1/($C$4:C4=C5)/(($D$4:D4=156)=(D5=156))/($F$4:F4=F5),$B$4:B4),IF(D5=156,"N","X")&TEXT(IFERROR(MID(LOOKUP(2,1/(MONTH($C$4:C4)=MONTH(C5))/(($D$4:D4=156)=(D5=156)),$B$4:B4),2,3),0)+1,"000")&"/"&TEXT(MONTH(C5),"00"))
Copy xuống
 

File đính kèm

  • TAOPHIEUNX.xlsb
    237.2 KB · Đọc: 15
CÁC BẠN DÚP MÌNH VỚI
MÌNH MUỐN CHỨNG TỪ CỘT B CHỨNG TỪ TỰ ĐỘNG NHẢY SỐ KHI :
1) CÙNG 1 KHÁCH HÀNG XUẤT BÁN NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU XUẤT KÈM THÁNG : X001/01
2) CÙNG 1 KHÁCH HÀNG NHẬP NHIỀU MẶT HÀNG CÙNG 1 NGÀY CHO RA 1 SỐ PHIẾU NHẬP KÈM THÁNG : X001/01
3)QUA THÁNG MỚI PHIẾU LẠI BẮT ĐẦU TỪ PHIẾU 001 + THÁNG ĐÓ: NOO1/02
MÌNH CẢM ƠN
Góp ý cho bạn: Bạn mới tham gia diễn đàn thì nên đọc và chấp hành nội quy, cụ thể.
1/ Không nên viết hoa trong cả bài viết.
2/ Không nên chen ngang Topic của người khác khi không có cùng chủ đề. Nên mở Topic mới để được mọii thành viên giúp được tập trung hơn.
3/ Không nên viết một câu hỏi nhiều lần hay gửi cùng một câu hỏi trong nhiều box khác nhau,
Cụ thể bạn đã hỏi tại bài 11 của Link sau: Làm sao để nhập dữ liệu vào phiếu xuất và phiếu nhập thì dữ liệu tự động điền vào sheet tổng hợp xuất nhập!
4/ Đọc lại nội quy để hiểu.

A_Noiquy.JPG
 
Dữ liệu phải xếp thứ tự theo thời gian
Mã:
B5 =IFERROR(LOOKUP(2,1/($C$4:C4=C5)/(($D$4:D4=156)=(D5=156))/($F$4:F4=F5),$B$4:B4),IF(D5=156,"N","X")&TEXT(IFERROR(MID(LOOKUP(2,1/(MONTH($C$4:C4)=MONTH(C5))/(($D$4:D4=156)=(D5=156)),$B$4:B4),2,3),0)+1,"000")&"/"&TEXT(MONTH(C5),"00"))
Copy xuống
Cách của anh gọn hơn nhiều hén, khỏi đếm trùng chi mắc công.

Chúc anh ngày vui.
/-*+//-*+//-*+/
 
Cách của anh gọn hơn nhiều hén, khỏi đếm trùng chi mắc công.

Chúc anh ngày vui.
/-*+//-*+//-*+/
B5 =IFERROR(LOOKUP(2,1/($C$4:C4=C5)/(($D$4:D4=156)=(D5=156))/($F$4:F4=F5),$B$4:B4),IF(D5=156,"N","X")&TEXT(IFERROR(MID(LOOKUP(2,1/(MONTH($C$4:C4)=MONTH(C5))/(($D$4:D4=156)=(D5=156)),$B$4:B4),2,3),0)+1,"000")&"/"&TEXT(MONTH(C5),"00"))
báo lỗi chỗ bôi đậm bạn ơi
 
cho mình hỏi khi làm hàm trả kết quả là không là sao, muốn kiểm tra sai ở đâu thì làm cách nào
 
cho mình hỏi khi làm hàm trả kết quả là không là sao, muốn kiểm tra sai ở đâu thì làm cách nào
Bạn đang hỏi về bài đánh số thứ tự của bạn hay bài nào vậy? Muốn thắc mắc file nào? Công thức của ai thì trích dẫn người đó
Theo mình thấy thì bài của bạn đã được giải quyết xong rồi
 
Mình thay công thức mà hàm cho kết quả số "0"​
 

File đính kèm

  • NHAP XUAT TU DONG NHAY SO.xlsb
    257.1 KB · Đọc: 5
Mình thay công thức mà hàm cho kết quả số "0"​
Chào bạn, mình xin có vài lời cùng bạn:
1/ Đầu tiên là bạn đã chen ngang Topic của người khác khi không có cùng chủ đề.
2/ Hình như trong các bài của bạn quá hiếm phần xã giao (nếu không muốn nói là hoàn toàn không có).
3/ Câu này của bạn: (Mình thay công thức mà hàm cho kết quả số "0") giống một lời thông báo, mà cũng chẳng biết là thông báo cho ai và để làm gì.
4/ Nội dung bài viết của bạn viết chữ in toàn bộ, các anh em ở đây góp ý mà bạn cũng không sửa, vậy thử hỏi có ai muốn sửa bài cho bạn nữa không nhỉ.
Rất mong bạn rút kinh nghiệm và tích cực tham gia để diễn đàn ngày càng phát triển.
Thân.
 
Bạn đang hỏi về bài đánh số thứ tự của bạn hay bài nào vậy? Muốn thắc mắc file nào? Công thức của ai thì trích dẫn người đó
Theo mình thấy thì bài của bạn đã được giải quyết xong rồi
Bạn đang hỏi về bài đánh số thứ tự của bạn hay bài nào vậy? Muốn thắc mắc file nào? Công thức của ai thì trích dẫn người đó
Theo mình thấy thì bài của bạn đã được giải quyết xong rồi
Bạn đang hỏi về bài đánh số thứ tự của bạn hay bài nào vậy? Muốn thắc mắc file nào? Công thức của ai thì trích dẫn người đó
Theo mình thấy thì bài của bạn đã được giải quyết xong rồi
cho mình hỏi khi làm hàm trả kết quả là không là sao, muốn kiểm tra sai ở đâu thì làm cách nào
cho mình hỏi khi làm hàm trả kết quả là không là sao, muốn kiểm tra sai ở đâu thì làm cách nào
 

File đính kèm

  • NHAP XUAT TU DONG NHAY SO.xlsb
    257.1 KB · Đọc: 6
Web KT
Back
Top Bottom