Tổng Hợp Khách Hàng Còn Dư Nợ

Dữ liệu là các khoản vay của khách hàng. Bạn cần:
  • Tổng hợp lại danh sách của các khách hàng còn dư nợ.
  • Còn dư nợ nghĩa là cột "Ngày thanh toán" bị trống.
  • Dữ liệu cần tổng hợp theo như bảng kết quả với cột đầu gồm "Mã NV" và "Khách hàng". Tên khách hàng không lặp lại nếu thuộc cùng Mã NV (ví dụ khách "R")
  • Dữ liệu cần sắp xếp theo "Mã NV", rồi sẽ cần theo "Khách hàng" và số tiền của khách.
  • Cột "Tổng ngày chưa thanh toán" = Ngày kiểm tra (lấy ngày 10/10/2025) - Ngày đến hạn. Nếu ngày đến hạn > Ngày kiểm tra thì sẽ để 0 (ví dụ như khách R có ngày đến hạn 13/11/2025 sẽ để 0).

Link: Onedrive

Tổng hợp theo khách hàng còn dư nợ

Công thức:
1.=LET(a,FILTER(A2:D20,E2:E20=0),b,TAKE(a,,1),REDUCE(HSTACK(A1&" / "&B1,D1,C1,"Tổng ngày chưa thanh toán"),SORT(UNIQUE(b)),LAMBDA(x,v,IFNA(VSTACK(x,LET(c,SORT(FILTER(DROP(a,,1),b=v),{1,2},{1,-1}),d,TAKE(c,,1),e,TAKE(c,,-1),m,"10/10/2025"-e,VSTACK(v,HSTACK(REPT(d,SEQUENCE(ROWS(d))=XMATCH(d,d)),e,INDEX(c,,2),IF(m>0,m,0))))),""))))

2.=LET(e,E2:E20,d,D2:D20,r,DATE(2025,10,10),w,IF(LEN(e),e,IF(d>r,d,r)),k,w-d,i,k*(k>0)*(w>=r),x,SORT(FILTER(HSTACK(A2:D20,i),i+w>r),{1,2,5},{1,1,-1}),y,TAKE(x,,1),REDUCE(G1:J1,UNIQUE(y),LAMBDA(a,v,VSTACK(a,LET(q,FILTER(x,y=v),n,INDEX(q,,2),IFNA(VSTACK(v,HSTACK(REPT(n,n<>DROP(VSTACK(0,n),-1)),SORTBY(DROP(q,,2),{2,1,3}))),""))))))

3.=LET(c,CHOOSECOLS(FILTER(A2:D20,E2:E20=""),{1,2,4,3}),REDUCE(G1:J1,SORT(UNIQUE(TAKE(c,,1))),LAMBDA(x,y,VSTACK(x,LET(f,FILTER(DROP(c,,1),TAKE(c,,1)=y),u,UNIQUE(TAKE(f,,1)),s,SORT(f,{1,2}),t,"10/10/2025"-INDEX(s,,2),I,IF(t>0,t,0),IFNA(VSTACK(y,HSTACK(IFNA(DROP(REDUCE("",u,LAMBDA(a,v,VSTACK(a,HSTACK(v,FILTER(DROP(s,,1),TAKE(s,,1)=v))))),1),""),I)),""))))))

4.=LET(a,A2:E20,b,"10/10/2025"-INDEX(a,,4),c,SORT(FILTER(HSTACK(a,(b>0)*b),DROP(a,,4)=""),{1,2,4}),e,TAKE(c,,1),IFNA(REDUCE(G1:J1,UNIQUE(e),LAMBDA(x,v,LET(m,FILTER(HSTACK(CHOOSECOLS(c,2,4,3,6)),e=v),n,TAKE(m,,1),VSTACK(x,VSTACK(v,HSTACK(IF(n<>DROP(VSTACK(0,n),-1),n,""),DROP(m,,1))))))),""))

5.Python (Xem trong file)
Đăng nhận xét (0)
Mới hơn Cũ hơn