Theo dõi thanh toán của khách hàng

Liên hệ QC

Strawberry1312

Thành viên mới
Tham gia
14/2/19
Bài viết
38
Được thích
12
Chào Anh/Chị GPE! Chúc mọi người cuối tuần vui vẻ.
Em có yêu cầu nhờ Anh/Chị giúp đỡ ạ:
Em có file theo dõi thanh toán của khách hàng, Từ sheet “DATA”,(theo ký hiệu phiếu thanh toán là RC (Cột Type), số tiền thanh toán ở cột G (Balance Due). tính ở sheet “theo dõi thanh toán” ra ngày thanh toán gần nhất và số tiền thanh toán ./
Em chân thành cảm ơn!
 

File đính kèm

  • THEO DÕI THANH TOÁN.xlsx
    31.8 KB · Đọc: 19
ngày thanh toán gần nhất và số tiền thanh toán ./
 

File đính kèm

  • toto_.xlsx
    36.4 KB · Đọc: 17
Chào Anh/Chị GPE! Chúc mọi người cuối tuần vui vẻ.
Em có yêu cầu nhờ Anh/Chị giúp đỡ ạ:
Em có file theo dõi thanh toán của khách hàng, Từ sheet “DATA”,(theo ký hiệu phiếu thanh toán là RC (Cột Type), số tiền thanh toán ở cột G (Balance Due). tính ở sheet “theo dõi thanh toán” ra ngày thanh toán gần nhất và số tiền thanh toán ./
Em chân thành cảm ơn!
Do dữ liệu của bạn đã được sort theo ngày rồi nên cần như này là đủ
Mã:
E3=LOOKUP(2;1/((DATA!$B$2:$B$367=$C3)*(DATA!$F$2:$F$367="RC"));DATA!$E$2:$E$367)
F3=LOOKUP(2;1/((DATA!$B$2:$B$367=$C3)*(DATA!$F$2:$F$367="RC"));DATA!$G$2:$G$367)
 
Em xin phép hỏi thêm chỗ này ạ!
Nếu ngày thanh toán gần nhất ( 14 và 11) có 2 trường hợp cùng có ký hiệu RC nhưng đối trừ nhau (khung đỏ), thì mình sẽ không lấy mà sẽ lấy ngày không có tiền đối trừ ở khung màu xanh (ngày 10/5), nhờ các a/c giúp đỡ công thức
Em cảm ơn

1624370742999.png
 

File đính kèm

  • THEO DÕI THANH TOÁN (1).xlsx
    31.3 KB · Đọc: 3
Em xin phép hỏi thêm chỗ này ạ!
Nếu ngày thanh toán gần nhất ( 14 và 11) có 2 trường hợp cùng có ký hiệu RC nhưng đối trừ nhau (khung đỏ), thì mình sẽ không lấy mà sẽ lấy ngày không có tiền đối trừ ở khung màu xanh (ngày 10/5), nhờ các a/c giúp đỡ công thức
Em cảm ơn

View attachment 261106
Thử: Sheet 'Theo dõi thanh toán'
Mã:
E3=LOOKUP(2,1/(MMULT(SUMIFS(DATA!$G$2:$G$355,DATA!$E$2:$E$355,$H$1+ROW($1:$31)-1,DATA!$B$2:$B$355,C3,DATA!$F$2:$F$355,"RC",DATA!$G$2:$G$355,{">0","<=0"}),{1;1})<0),$H$1+ROW($1:$31)-1)
F3=1/LOOKUP(2,1/MMULT(SUMIFS(DATA!$G$2:$G$355,DATA!$E$2:$E$355,$H$1+ROW($1:$31)-1,DATA!$B$2:$B$355,C3,DATA!$F$2:$F$355,"RC",DATA!$G$2:$G$355,{">0","<=0"}),{1;1}))

Thân
 

File đính kèm

  • THEO DÕI THANH TOÁN (1).xlsx
    34.9 KB · Đọc: 19
Thử: Sheet 'Theo dõi thanh toán'
Mã:
E3=LOOKUP(2,1/(MMULT(SUMIFS(DATA!$G$2:$G$355,DATA!$E$2:$E$355,$H$1+ROW($1:$31)-1,DATA!$B$2:$B$355,C3,DATA!$F$2:$F$355,"RC",DATA!$G$2:$G$355,{">0","<=0"}),{1;1})<0),$H$1+ROW($1:$31)-1)
F3=1/LOOKUP(2,1/MMULT(SUMIFS(DATA!$G$2:$G$355,DATA!$E$2:$E$355,$H$1+ROW($1:$31)-1,DATA!$B$2:$B$355,C3,DATA!$F$2:$F$355,"RC",DATA!$G$2:$G$355,{">0","<=0"}),{1;1}))

Thân
Dạ, em cảm ơn nhiều.
Khi em áp công thức vào, dữ liệu data của em có khoảng >1000 dòng thì file bị quay và tính khá lâu, nhích từng %, có cách nào khắc phục không ạ?
 
Lần chỉnh sửa cuối:
Thử: Sheet 'Theo dõi thanh toán'
Mã:
E3=LOOKUP(2,1/(MMULT(SUMIFS(DATA!$G$2:$G$355,DATA!$E$2:$E$355,$H$1+ROW($1:$31)-1,DATA!$B$2:$B$355,C3,DATA!$F$2:$F$355,"RC",DATA!$G$2:$G$355,{">0","<=0"}),{1;1})<0),$H$1+ROW($1:$31)-1)
F3=1/LOOKUP(2,1/MMULT(SUMIFS(DATA!$G$2:$G$355,DATA!$E$2:$E$355,$H$1+ROW($1:$31)-1,DATA!$B$2:$B$355,C3,DATA!$F$2:$F$355,"RC",DATA!$G$2:$G$355,{">0","<=0"}),{1;1}))

Thân
Cho em hỏi thêm: ở ô E3 nếu em thay chữ "RC" bằng chữ "IN", thì bị lỗi # là bị sao ạ?
 
Cho em hỏi thêm: ở ô E3 nếu em thay chữ "RC" bằng chữ "IN", thì bị lỗi # là bị sao ạ?
Do tôi tưởng bạn chỉ cần lấy giá trị âm, trong công thức cũ có dùng điều kiện "<0", nên khi bạn chuyển điều kiện dò tìm "IN" là các giá trị dương nên nó báo lỗi.

Về việc dữ liệu bạn >1000 dòng nên công thức chắc chắn sẽ làm 'đơ' máy, thử đề nghị 2 hướng sau:

1/ Dùng VBA: phải nhờ anh em khác, chứ tôi không kham lĩnh vực này.

2/ Nếu dữ liệu bạn đã 'sort' theo mã khách như file bạn gửi, thì thử áp dụng việc tính toán theo từng phân khúc theo mã khách như file kèm, nhưng chỉ xử lý tương đối thôi! Muốn tốt hơn, nhanh hơn thì chỉ có cách '1/' trên. (Lưu ý: Bạn thử thay đổi giá trị tại E1, để chuyển đổi 'RC' hoặc 'IN', do tôi thực hiện công thức trên điện thoại nên không đủ công cụ để hỗ trợ bạn làm 'list' chọn sẽ tiện hơn).

Thân
 

File đính kèm

  • THEO DÕI THANH TOÁN (1).xlsx
    36.9 KB · Đọc: 15
Do tôi tưởng bạn chỉ cần lấy giá trị âm, trong công thức cũ có dùng điều kiện "<0", nên khi bạn chuyển điều kiện dò tìm "IN" là các giá trị dương nên nó báo lỗi.

Về việc dữ liệu bạn >1000 dòng nên công thức chắc chắn sẽ làm 'đơ' máy, thử đề nghị 2 hướng sau:

1/ Dùng VBA: phải nhờ anh em khác, chứ tôi không kham lĩnh vực này.

2/ Nếu dữ liệu bạn đã 'sort' theo mã khách như file bạn gửi, thì thử áp dụng việc tính toán theo từng phân khúc theo mã khách như file kèm, nhưng chỉ xử lý tương đối thôi! Muốn tốt hơn, nhanh hơn thì chỉ có cách '1/' trên. (Lưu ý: Bạn thử thay đổi giá trị tại E1, để chuyển đổi 'RC' hoặc 'IN', do tôi thực hiện công thức trên điện thoại nên không đủ công cụ để hỗ trợ bạn làm 'list' chọn sẽ tiện hơn).

Thân
Dạ,em cảm ơn anh. Với công thức mới thì tốc độ nhanh hơn ạ!
 
Web KT
Back
Top Bottom