Xác định ngày hóa đơn sau cùng

  • Thread starter Thread starter Tiny07
  • Ngày gửi Ngày gửi
Liên hệ QC

Tiny07

Thành viên mới
Tham gia
11/9/08
Bài viết
28
Được thích
31
Các bạn giúp tôi lập công thức để có kết quả ở cột F.
Thanks nhiều.
 

File đính kèm

Bạn xem file có đúng ý bạn không nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn xem file có đúng ý bạn không nhé

Thanks bạn nhiều, tuy nhiên công thức ấy chưa xác được định ngày lớn nhất. Các bạn lưu ý ô B5 là: 21/4/09.

Mình không muốn sau khi cập nhật dữ liệu lại phải sort dữ liệu đã cập nhật.
Bạn giúp mình chút nữa nha.
 
Dùng {=MAX(IF(ten=E2;ngay))} (ctrl+Shift+Enter)
 
Thanks bạn nhiều, tuy nhiên công thức ấy chưa xác được định ngày lớn nhất. Các bạn lưu ý ô B5 là: 21/4/09.

Mình không muốn sau khi cập nhật dữ liệu lại phải sort dữ liệu đã cập nhật.
Bạn giúp mình chút nữa nha.
Dùng công thức này:
=MAX(($A$2:$A$13=$E2)*($B$2:$B$13))
Gõ xong công thức thì bấm Ctrl + Shift + Enter
Nếu chỉ muốn Enter bình thường thì dùng:
=SUMPRODUCT(MAX(($A$2:$A$13=$E2)*($B$2:$B$13)))
Khỏi name gì cả
 
Thấy xôm tụ quá, cho tham gia với!

PHP:
Option Explicit
Sub MaxInDate()
 Dim lRow As Long, Ww As Long
 Dim Rng As Range, FindRng As Range
 Dim GPE_Address As String
 
 Sheet1.Select:                  lRow = [A65432].End(xlUp).Row
 [e1] = "MaxDate":               Application.ScreenUpdating = False
 Range("A1:A" & lRow).AdvancedFilter Action:=xlFilterCopy, _
   CopyToRange:=Range("D1"), Unique:=True
   
 With Sheet1.Range("A1:A" & lRow)
   For Ww = 2 To [d65432].End(xlUp).Row
      Set Rng = .Find(What:=Cells(Ww, "D"), LookIn:=xlValues)
      If Not Rng Is Nothing Then
         Set FindRng = Rng.Offset(, 1)
         GPE_Address = Rng.Address
         Do
            Set FindRng = Union(FindRng, Rng.Offset(, 1))
            Set Rng = .FindNext(Rng)
         Loop While Not Rng Is Nothing And Rng.Address <> GPE_Address
      End If
      Cells(Ww, "E") = Application.WorksheetFunction.Max(FindRng)
      Cells(Ww, "E").NumberFormat = "m/d/yyyy"
   Next Ww
 End With
      
End Sub
 

File đính kèm

Tất cả các lời giải đều tuyệt vời.
thanks các bạn rất nhiều.
 
Bon chen thêm 1 cách nữa, sử dụng Table 1 biến thử xem sao.
 

File đính kèm

To Tyni07:
Giải thích cái Table này khó quá... đầu tiên bạn phải hiểu về các hàm cơ sở dữ liệu DSUM, DCOUNT,... và Table.
Thư nhất, ở đây tôi dùng Table 1 biến vì bạn thấy rằng các công thực cho các ô trong bảng thống kê chỉ phụ thuộc vào cột Tên (E2:E4), và biến ở đây là biến cột. Vùng H2:H3 là vùng điều kiện giả, tôi so công thức so sánh ô A2 với 1 ô bất ký nào đó, ở đây tôi lấy ô E5, vì là Table 1 biến và là biến cột, nên công thức phải để trên đầu cột, ở đây là ô F1. Trong công thức tôi dùng hàm DMAX với vùng điều kiện là H2:H3. Sau đó chọn vùng E1:F4 và vào Data\Table. Vì là Table 1 biến và là biến cột nên bạn nhập vào Column input cell là ô E5, cái ô bị thay đổi trong vùng điều kiện H2:H3 đó bạn.
(Bác nào giải thích tốt giải thích dùng cho bạn Tyni07 chút, ở đây tôi giải thích chưa được rõ lắm thì phải...)
 
Cách sử dụng thông qua SQL:
SELECT TransNo, MAX(TransDate) AS TransDate, MAX(ID) AS TransID
FROM tb_T_StockTransaction
GROUP BY TransNo,...

Trong đó:
+ tb_T_StockTransaction là sheet chứa danh sách giao dịch (chứng từ)
+ TransDate: Ngày chứng từ
+ ID: Khóa tự động sinh theo thứ tự của chứng từ (trong cùng 1 ngày, khóa lớn nhất là của chứng từ nhập cuối cùng)
 
Web KT

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

Back
Top Bottom