Anh dùng thử công thức này xem (cho cell D2)Rất mong các anh em trên GPE xem và giúp cách đánh số thứ tự. Yêu cầu cụ thể trong file đính kèm. Cám ơn
=IF(ISNUMBER($B2),RANK($B2,$B$2:$B$26,1)+COUNTIF($B$2:$B2,$B2)-1,"")
Dùng công thức mảng, kết hợp với số thứ tự dòng để xác định nếu cùng ngày thì cái nào xuất hiện trước. Công thức cho ô D2 (Công thức mảng)rất mong các anh em trên gpe xem và giúp cách đánh số thứ tự. Yêu cầu cụ thể trong file đính kèm. Cám ơn
=IF(ISNUMBER(B2),SUMPRODUCT(--(B2+ROW(B2)/1000>=IF(ISNUMBER($B$2:$B$26),$B$2:$B$26+ROW($B$2:$B$26)/1000,""))),"")
---Anh dùng thử công thức này xem (cho cell D2)
Anh test thử, không chắc có sai sót gì không!PHP:=IF(ISNUMBER($B2),RANK($B2,$B$2:$B$26,1)+COUNTIF($B$2:$B2,$B2)-1,"")
Anh dùng AutoFilter lọc các ô đó ra, chọn các ô hiện (Visible Cells) rồi nhập công thức. Nhập xong nhấn Ctrl + Enter.---
Chú ơi làm sao anh fil được chú, dưới D2 là "X :số liệu". Bước nhảy đều nhau: D2 -> D7 -> D12 -> D17 -> D22 ....Cám ơn chú.
AutoFilter xong, cứ nhập công thức và kéo fill thoải mái ---> Khỏi cần quan tâm đến Visible cell hay Ctrl + Enter gì cả!Anh dùng AutoFilter lọc các ô đó ra, chọn các ô hiện (Visible Cells) rồi nhập công thức. Nhập xong nhấn Ctrl + Enter.
Vụ này tôi với bạn đã có lần tranh luận với nhau rồi, hình như là copy khi đang Filter. Bạn không gặp phải trường hợp này không có nghĩa là nó không xảy ra.AutoFilter xong, cứ nhập công thức và kéo fill thoải mái ---> Khỏi cần quan tâm đến Visible cell hay Ctrl + Enter gì cả!
Function SoThuTu(MyRng As Range, Rng As Range) As Long
SoThuTu = Application.WorksheetFunction.Rank(Rng, MyRng, 1) + Application.WorksheetFunction.CountIf(MyRng.Resize(Rng.Row + 1 - MyRng.Row), Rng) - 1
End Function
Ấy ---> Excel 2007 có xãy ra sự cố này, nhưng đó là do người dùng thao tác saiVụ này tôi với bạn đã có lần tranh luận với nhau rồi, hình như là copy khi đang Filter. Bạn không gặp phải trường hợp này không có nghĩa là nó không xảy ra.
---Anh dùng thử công thức này xem (cho cell D2)
Anh test thử, không chắc có sai sót gì không!PHP:=IF(ISNUMBER($B2),RANK($B2,$B$2:$B$26,1)+COUNTIF($B$2:$B2,$B2)-1,"")
Vì dữ liệu lặp lại theo một nguyên tắc cố định (Cứ cách a dòng thì xuất hiện một dòng ngày tháng cần đánh số thứ tự nên em sửa lại UDF như thế này:---
Lỗi này do anh giả lập dữ liệu . Vùng từ $B$2:$B$26, "X":dạng số, text, "". Chú xem có ý kiến nhé.
Function SoThuTu(MyRng As Range, Rng As Range, MyStep As Long) As Long
For i = 1 To Int((MyRng.Rows.Count - 1) / MyStep) + 1
If Rng.Value > MyRng.Cells((i - 1) * MyStep + 1) Then
SoThuTu = SoThuTu + 1
End If
If Rng.Value = MyRng.Cells((i - 1) * MyStep + 1) And MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row Then
SoThuTu = SoThuTu + 1
End If
Next
End Function
=SoThuTu(MyRng,Rng,MyStep)
---Vì dữ liệu lặp lại theo một nguyên tắc cố định (Cứ cách a dòng thì xuất hiện một dòng ngày tháng cần đánh số thứ tự nên em sửa lại UDF như thế này:
Cú pháp:PHP:Function SoThuTu(MyRng As Range, Rng As Range, MyStep As Long) As Long For i = 1 To Int((MyRng.Rows.Count - 1) / MyStep) + 1 If Rng.Value > MyRng.Cells((i - 1) * MyStep + 1) Then SoThuTu = SoThuTu + 1 End If If Rng.Value = MyRng.Cells((i - 1) * MyStep + 1) And MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row Then SoThuTu = SoThuTu + 1 End If Next End Function
MyRng là cột dữ liệuMã:=SoThuTu(MyRng,Rng,MyStep)
Rng là ô chứa dữ liệu cần đánh số thứ tự
MyStep là bước nhảy của dữ liệu
Anh xem thêm trong file đính kèm
Thật tình đọc UDF của huuthang_bd thấy "lơ mơ" quá. Th vui lòng hướng dẫn được không? Chúc vui.
01 Function SoThuTu(MyRng As Range, Rng As Range, MyStep As Long) As Long
02 For i = 1 To Int((MyRng.Rows.Count - 1) / MyStep) + 1
03 If Rng.Value > MyRng.Cells((i - 1) * MyStep + 1) Then
04 SoThuTu = SoThuTu + 1
05 End If
06 If Rng.Value = MyRng.Cells((i - 1) * MyStep + 1) And MyRng.Cells((i - 1) * MyStep + 1).Row <= Rng.Row Then
07 SoThuTu = SoThuTu + 1
08 End If
09 Next
10 End Function
Để sort theo số thứ tự anh cần một cột phụ vì cột số thứ tự của anh có lẫn cả dữ liệu trong đó.* P/s: sau khi có số phiếu theo số thứ tự thì làm thế nào để sắp xếp phiếu theo thứ tự 1, 2, 3, ....
Tôi chưa hiểu ý của bạn. Bạn có thẻ giải thích rõ hơn không?
Dùng công thức:
=IF(D3=D2;F2+1;1)
Rồi điềm xuống
Còn theo ý bạn có thể như thế này (O F11):cứ sang 1 mục tiêu khác là số thứ tự đánh lại từ số 1
Đặt công thức sauDạ. Cột F là cột e muốn lập công thức. Hiện tại e đánh bằng tay cột F vì ko nghĩ ra công thức. Gài công thức cột F dựa theo mã cột D (Mục Tiêu), tức là cứ 1 mục tiêu mới là đánh số thứ tự lại ạ. Chứ ko đánh số thứ tự luôn tuồng như cột E. Anh chị hiểu ý e ko ạ
Dùng công thức:
=IF(D3=D2;F2+1;1)
Rồi điềm xuống
Đặt công thức sau
=IF(ISBLANK($D3),"",COUNTIF($D$2:$D3,D3))
rồi fill khi nào chán thì thôi