VuNgocBaoLinh
Thành viên mới
- Tham gia
- 27/3/08
- Bài viết
- 15
- Được thích
- 4
Chào cả nhà. cho em hỏi chút, em làm cột D tự động đánh số phiếu Thu, Chi, nhưng lại gặp nỗi số phiếu lại liên tiếp giữa 2 loại Thu và Chi. Mọi người có thể giúp em tách nó theo ngày và theo loại chứng từ được không?
Mình có xem rồi, nhưng KTT yêu cầu mình đánh số chứng từ theo tháng, ngày ( VD như ngày 01/07/2008 thì bắt đầu là : 070101, 070102...).vì một ngày mình có khỏang 100 phiếu thu chi. Bạn xem lại giúp mình được không?
Nếu là những kí tự không dấu như vậy thì bạn dùng lệnh SORT có sẵn của Excel, mình nghĩ không gì tối ưu hơn đâu. Chọn khối và vào Menu Data / Sort...Mình có 1 cột (ví dụ cột B1:B4) chưa các text (AC1;SXC;BV2;XANK) muốn sắp xếp theo thứ tự chữ cái bằng công thức hoặc code. Các bạn chỉ cho mình với nghen. Cảm ơn.
Cảm ơn bạn. Do mình đặt vấn đề chưa rỏ nên bạn không hiểu được ý mình. Mình muốn đánh số thứ tự tại cột (A1:A4) theo thứ tự chữ cái ở cột (B1:B4). Chứ không phải sort cot B.Nếu là những kí tự không dấu như vậy thì bạn dùng lệnh SORT có sẵn của Excel, mình nghĩ không gì tối ưu hơn đâu. Chọn khối và vào Menu Data / Sort...
TDN
Có phải ý bạn muốn là ra kết quả như thế này:Mình có 1 cột (ví dụ cột B1:B4) chưa các text (AC1;SXC;BV2;XANK) muốn sắp xếp theo thứ tự chữ cái bằng công thức hoặc code. Các bạn chỉ cho mình với nghen. Cảm ơn.
Function tht(mang As Range) Dim temp(), mng() ReDim temp(mang.Count, 0) ReDim mng(mang.Count, 0) For j = 1 To mang.Count If Len(mang.Cells(j)) = 0 Then temp(j - 1, 0) = 0 Else For i = 1 To Len(mang.Cells(j)) temp(j - 1, 0) = temp(j - 1, 0) + Asc(Mid(mang.Cells(j), i, 1)) Next End If Next For k = 1 To mang.Count mng(k - 1, 0) = Application.WorksheetFunction.Rank(temp(k - 1, 0), [COLOR=red]temp[/COLOR], 1) Next tht = mng End Function
C1=CODE(LEFT(B1)
Có phải ý bạn muốn là ra kết quả như thế này:Nghĩa là sắp xếp thứ tự dựa vào chữ cái đầu tiên của cột B ?1|AC1
3|SXC
2|BV2
4|XANK
Bạn dùng thêm một cột phụ, cột C chẳng hạn. Tại C1, bạn gõ công thức:=CODE(LEFT(B1))Rồi kéo công thức xuống tới C4 (tương đương với B4, là ô cuối cùng có chứa chữ ở cột B)
Tại cột A, là cột bạn muốn đánh số thứ tự cho cột B, bạn gõ công thức sau tại A1:=RANK(CODE(LEFT(B1)),$C$1:$C$4,1)
Cảm ơn bác.C1=CODE(LEFT(B1)
Sao A1 không là
=RANK(C1,$C$1:$C$4,1)
Nhưng mà hàm rank ở đây cũng chưa chính xác, nếu có > 2 cell bắt đầu = 1 ký tự như nhau thì sao. Phải nên kèm them countif nữa mới OK.
Cảm ơn bác.
Vầy đúng không ạ:(A1) =RANK(C1, $C$1:$C$4, 1) + COUNTIF(C1, $C$1:$C$4) - 1
Bạn làm các bước sau nhé :giúp chuyển thứ tự dữ liệu trong 1 cột.