lehuong1409
RILY
- Tham gia
- 17/9/12
- Bài viết
- 1,354
- Được thích
- 1,598
- Giới tính
- Nữ
Bạn đặt 1 Name, Vt:E có một bảng như file đính kèm, hiện tại e phải tính khoảng cách giữa 2 ngày thanh toán liên tiếp xem cách nhau bao nhiêu ngày. Mong các bác giúp đỡ
=IF(Sheet1!$C$3:$C$20<>"",ROW(Sheet1!$C$3:$C$20),"")
=IF(C3>0,INDIRECT("A"&SMALL(Vt,COUNT($C$2:C3)))-INDIRECT("A"&SMALL(Vt,COUNT($C$2:C3)-1)),"")
e có một bảng như file đính kèm, hiện tại e phải tính khoảng cách giữa 2 ngày thanh toán liên tiếp xem cách nhau bao nhiêu ngày. Mong các bác giúp đỡ
=index(a:a,small(if(c$4:c$20<>"",row(c$4:c$20)),row(2:2)))-index(a:a,small(if(c$3:c$19<>"",row(c$3:c$19)),row(1:1)))
Có cách nào khác ngoài đặt Name không bác, e tính dùng hàm mảng mà mãi k raBạn đặt 1 Name, Vt:
Công thức tại D3:Mã:=IF(Sheet1!$C$3:$C$20<>"",ROW(Sheet1!$C$3:$C$20),"")
Gõ số 0 tại C3 để xác định ngày ghi nợ đầu tiên.Mã:=IF(C3>0,INDIRECT("A"&SMALL(Vt,COUNT($C$2:C3)))-INDIRECT("A"&SMALL(Vt,COUNT($C$2:C3)-1)),"")
E muốn trả về kết quả khoảng cách giữa 2 lần thanh toán đó tại dòng thanh toán luôn giống như bài của Mr Bum. Bác có cao kiến gì không ạ?Mã:=index(a:a,small(if(c$4:c$20<>"",row(c$4:c$20)),row(2:2)))-index(a:a,small(if(c$3:c$19<>"",row(c$3:c$19)),row(1:1)))
Bạn Coppy công thức trong Name thay cho Vt là được mà, D3:Có cách nào khác ngoài đặt Name không bác, e tính dùng hàm mảng mà mãi k ra
=IF(C3>0,INDIRECT("A"&SMALL(IF(Sheet1!$C$3:$C$20<>"",ROW(Sheet1!$C$3:$C$20),""),COUNT($C$2:C3)))-INDIRECT("A"&SMALL(IF(Sheet1!$C$3:$C$20<>"",ROW(Sheet1!$C$3:$C$20),""),COUNT($C$2:C3)-1)),"")
E muốn trả về kết quả khoảng cách giữa 2 lần thanh toán đó tại dòng thanh toán luôn giống như bài của Mr Bum. Bác có cao kiến gì không ạ?
D3=IF(COUNT(C$3:C3)>1,IF(C3<>"",INDEX(A:A,SMALL(IF(C$3:C$20<>"",ROW(C$3:C$20)),COUNT(C$3:C3)))-INDEX(A:A,SMALL(IF(C$3:C$20<>"",ROW(C$3:C$20)),COUNT(C$3:C3)-1)),""),"")
E cũng vừa thử như thế xong thì đọc được reply của bác, e sẽ nghiên cứu thêm ạ. Cảm ơn bácBạn Coppy công thức trong Name thay cho Vt là được mà, D3:
Ctrl+Shift+Enter.Mã:=IF(C3>0,INDIRECT("A"&SMALL(IF(Sheet1!$C$3:$C$20<>"",ROW(Sheet1!$C$3:$C$20),""),COUNT($C$2:C3)))-INDIRECT("A"&SMALL(IF(Sheet1!$C$3:$C$20<>"",ROW(Sheet1!$C$3:$C$20),""),COUNT($C$2:C3)-1)),"")
Thử công thức này [D4]:E muốn trả về kết quả khoảng cách giữa 2 lần thanh toán đó tại dòng thanh toán luôn giống như bài của Mr Bum. Bác có cao kiến gì không ạ?
Thử công thức này [D4]:
=IF(C4="","",A4-LOOKUP(2,1/($C$3:C3<>""),$A$3:A3))[/QUOTE
Công thức của bác ngắn gọn quá, cảm ơn bác

em không biết tạo tên đề tài mới là gì nên e lại vào đây nhờ vả các bác tí.
em có một nhà cung cấp nhưng với mỗi hợp đồng lại có một thời hạn thanh toán khác nhau nhưng chuyển trả tiền thì lại không theo số tiền trên hoá đơn nên em phải theo dõi thủ công hoá đơn đó hoàn tất thanh toán vào ngày nào? từ đó tính ra số ngày thanh toán của từng hoá đơn. Bác nào có cách xử lý nào nhanh hơn chỉ giáo em với ạ
Sub Thanhtoan()
Dim Sarr, Arr, i As Long, k As Long
With Sheet1
Sarr = .Range(.[A6], .[A65000].End(xlUp)).Resize(, 7).Value2
End With
ReDim Arr(1 To UBound(Sarr), 1 To 1)
For i = 1 To UBound(Sarr)
If InStr(Sarr(i, 4), "Thanh toán") Then
k = k + 1
Arr(k, 1) = Sarr(i, 1)
End If
Next i
[G6:G1000].ClearContents
[G6].Resize(k, 1).Value = Arr
End Sub