Các câu hỏi về việc Đánh Số Thứ Tự (STT) (1 người xem)

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

Người dùng đang xem chủ đề này

Em có file này, em viết code rùi nhưng không hiểu sao nó vẫn không tự động đánh số thứ tự được. AC xem và hoàn thiện dùm em nhé!

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Max As Integer
    Dim eR As Long, i As Long
    If Target.Address = "$F$1" Then
        Range("A5:E65535").ClearContents
        With S1.Range(S1.[A1], S1.[A65535].End(xlUp))
            .AutoFilter 1, Target
            .Offset(1, 1).Resize(, 4).SpecialCells(12).Copy Range("B5")
            .AutoFilter
        End With
        With S3
        For i = 5 To .Range("A65535").End(xlUp).Row
            Max = Application.WorksheetFunction.Max(Range("A4:A" & i))
            .Cells(i, 1) = Max + 1
            .Cells(i, 1).HorizontalAlignment = xlCenter
        Next
        End With
    End If
End Sub
Sửa thành vầy chắc được:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$F$1" Then
    Range("A5:E65535").ClearContents
    With S1.Range(S1.[A1], S1.[A65535].End(xlUp))
      .AutoFilter 1, Target
      .Offset(1, 1).Resize(, 4).SpecialCells(12).Copy Range("B5")
      .AutoFilter
    End With
    With S3.Range("A4").CurrentRegion
      If .Rows.Count > 1 Then
        .Resize(, 1).SpecialCells(4).Value = Evaluate("ROW(R:R)")
      End If
    End With
  End If
End Sub
 
Bạn thử code này xem có được không ?
Mã:
Sub Stt()
With Range("B5:B" & [b65536].End(3).Row).Offset(, -1)
.Value = "=IF(RC[1]=0,"""",COUNTA(R5C2:RC[1]))"
.Value = .Value
End With
End Sub

Dòng lệnh:
PHP:
Range("B5:B" & [b65536].End(3).Row).Offset(, -1)
Cũng bằng:
PHP:
Range("B5:B" & [b65536].End(xlUp).Row).Offset(, -1)
 
Sửa thành vầy chắc được:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$F$1" Then
    Range("A5:E65535").ClearContents
    With S1.Range(S1.[A1], S1.[A65535].End(xlUp))
      .AutoFilter 1, Target
      .Offset(1, 1).Resize(, 4).SpecialCells(12).Copy Range("B5")
      .AutoFilter
    End With
    With S3.Range("A4").CurrentRegion
      If .Rows.Count > 1 Then
        .Resize(, 1).SpecialCells(4).Value = Evaluate("ROW(R:R)")
      End If
    End With
  End If
End Sub

Code này của ndu mới có dự phòng chọn 1 mã nào đó mà không copy được dòng dữ liệu nào. Code của TrungChinh thì nếu không có dữ liệu sẽ quýnh 1 vào ngay ô A4 chứa tiêu đề "STT"
 
Mình xin hỏi cách đánh số thứ tự thế này, thật tình là đã đọc hết 31 trang mục này rồi, cũng tìm trên các diễn đàn Excel tiếng Anh rồi nhưng không thấy có cách nào làm được như mong muốn cả. Mong các anh chị giúp đỡ.

Giả sử cột A là số thứ tự, cột B lần lượt ghi tên các nhóm A, B, C, D... (mỗi tên nhóm xuất hiện nhiều hàng, ví dụ A A A A, B B, C C C C C C, D D D).
Mình muốn tự động điền số thứ tự theo từng nhóm, tức là cùng nhóm thì cứ 1 2 3 4 5... khi đến nhóm khác thì lại đánh số từ 1.
Và khi autofilter thì sẽ tự động đánh số thứ tự theo từng nhóm lại.

Hai vấn đề trên giải quyết riêng rẽ thì mình biết cách làm rồi, nhưng để làm được cả 2 yêu cầu thì mình không làm được. Đã thử cả cách đếm có điều kiện mà bỏ qua các dòng ẩn nhưng vẫn không ra kết quả mong muốn.

Mong các anh chị giúp đỡ! Cảm ơn các anh chị nhiều.
À nếu tốt thì mình cần giải pháp dùng hàm Excel, còn nếu không thể dùng hàm thì dùng VBA cũng được.
 
Lần chỉnh sửa cuối:
Đánh Số

có cách nào đánh vào cột STT dựa vào dữ liệu của cột D như trong Bài này không, xin được các cao thủ cho ý kiến, xin cảm ơn,
xin mod xoá bài này, vì tôi đã làm được rồi
 

File đính kèm

Lần chỉnh sửa cuối:
có cách nào đánh vào cột STT dựa vào dữ liệu của cột D như trong Bài này không, xin được các cao thủ cho ý kiến, xin cảm ơn
Bạn phải giải thích quy tắc hoặc kết quả mẫu như thế nào thì mới biết đường mà "mần" chứ. Dữ liệu không thì biết đường nào mà "mần".
 
có cách nào đánh vào cột STT dựa vào dữ liệu của cột D như trong Bài này không, xin được các cao thủ cho ý kiến, xin cảm ơn,
xin mod xoá bài này, vì tôi đã làm được rồi

Ah, thầy làm được rui, thầy chia sẻ đi chứ, cho mọi người học cùng...

Chỉ dùng hàm ROW() kết hợp IF là làm được rồi,

Bạn phải giải thích quy tắc hoặc kết quả mẫu như thế nào thì mới biết đường mà "mần" chứ. Dữ liệu không thì biết đường nào mà "mần".
Đúng là thầy bỏ bom, không giải thích gì cả, rồi chạy ...
 
Ah, thầy làm được rui, thầy chia sẻ đi chứ, cho mọi người học cùng...

Chỉ dùng hàm ROW() kết hợp IF là làm được rồi,


Đúng là thầy bỏ bom, không giải thích gì cả, rồi chạy ...


Bạn đừng nói vậy chứ, nếu bạn thích thì gởi bài lên cho bạn tham khảo nha

Trong sheet DMVTHH tôi muốn gõ vào Tên Hàng thì tự động tất cả những gì liên quan bên cột Mã linh kiện, Ten hàng tiếng nhật, Mã NVL, Định mức sẽ tự động xổ ra, tôi muốn dùng 1 công thức để đưa ra tất cả

Tôi có ý tường lấy số của dòng chứa tên hàng ra để dùng hàm INDIRECT làm một lần cho tất cả
Nhưng ban nảy tự nhiên ma ám hay sao ấy nghĩ không ra nhưng vừa đưa lên diễn đàn thì tôi đã nghĩ ra
bạn tham khảo phải nha ở sheet DMVTHH
 

File đính kèm

Lần chỉnh sửa cuối:
Xin các anh chị hướng dẫn cho em cách làm như thế nào:
Em có bảng số liệu nằm cột A kết qủa số liệu này có được từ công thức, bây giờ tại cột B em muốn đếm số thứ tự các hàng nào có số liệu ở cột A, không đếm các hàng chứa công thức bằng 0 hoặc bằng " ", rất mong các anh chị hướng dẫn, xin cảm ơn
 
Xin các anh chị hướng dẫn cho em cách làm như thế nào:
Em có bảng số liệu nằm cột A kết qủa số liệu này có được từ công thức, bây giờ tại cột B em muốn đếm số thứ tự các hàng nào có số liệu ở cột A, không đếm các hàng chứa công thức bằng 0 hoặc bằng " ", rất mong các anh chị hướng dẫn, xin cảm ơn
Dùng thử xem:
Mã:
=IF(OR(A1=0,TRIM(A1)=""),"",SUMPRODUCT(((TRIM($A$1:A1))<>"")*($A$1:A1<>0)))
 
Xin các anh chị hướng dẫn cho em cách làm như thế nào:
Em có bảng số liệu nằm cột A kết qủa số liệu này có được từ công thức, bây giờ tại cột B em muốn đếm số thứ tự các hàng nào có số liệu ở cột A, không đếm các hàng chứa công thức bằng 0 hoặc bằng " ", rất mong các anh chị hướng dẫn, xin cảm ơn
Bạn có thể dùng công thức sau:A1, B1 là tiêu đề, tại ô B2 (Công thức này chỉ áp dụng được khi dử liêu ở cột A là dạng số)
PHP:
=IF(COUNTIF(A$1:A2,">0")=COUNTIF(A$1:A1,">0"),"",COUNTIF(A$1:A2,">0"))
 
Lần chỉnh sửa cuối:
Bạn có thể dùng công thức sau:A1, B1 là tiêu đề, tại ô B2 (Công thức này chỉ áp dụng được khi dử liêu ở cột A là dạng số)
PHP:
=IF(COUNTIF(A$1:A2,">0")=COUNTIF(A$1:A1,">0"),"",COUNTIF(A$1:A2,">0"))
Chỉ cần như vầy:

B2=IF(A2>0;COUNTIF($A$2:A2;">0");"")

hoặc

B2=IF(A2>0;MAX($B$1:B1)+1;"")

Đó là đánh số TT loại trừ 0 và "". Còn nếu khoảng trắng (" ") thì cả 3 công thức đều thua. Phải dùng:

B2=IF(ISNUMBER(A2)*(A2>0);MAX($B$1:B1)+1;"")
 
Đó là đánh số TT loại trừ 0 và "". Còn nếu khoảng trắng (" ") thì cả 3 công thức đều thua.
\
Công thức này của em
Dùng thử xem:
Mã:
=IF(OR(A1=0,TRIM(A1)=""),"",SUMPRODUCT((([COLOR=#ff0000]TRIM($A$1:A1)[/COLOR])<>"")*($A$1:A1<>0)))
Loại trừ số 0,"" và cả " " rồi mà thầy? Dùng chung cho cả Text và số.
 
\
Công thức này của em

Loại trừ số 0,"" và cả " " rồi mà thầy? Dùng chung cho cả Text và số.

3 công thức đều thua, đó là 1 công thức của tvxdgt, và 2 công thức 1, 2 của lão chết tiệt.

Đang trích dẫn bài của tvxdgt thì chỉ nói về công thức của tvxdgt và gợi ý cải tiến cho tvxdgt thôi.

Ở đâu nhảy zô thanh minh zậy trời. ZZ!
 
Lần chỉnh sửa cuối:
Tôi có một bảng exell cần chỉnh sửa lại số thứ tự theo các dòng có dữ liệu cột bên thì làm cách nào.
 
Tăng số thứ tự trong filer

Mình có một có 1 file như đính kèm.
Yêu cầu : Cột B muốn đánh số thứ tự như bên dưới thì dùng hàm gì ? ( số thứ tự tăng dần theo cột E, không tăng dần khi cột E không phải là " 1111 " . Mong các bác chỉ giùm em nhé !

[TABLE="width: 631"]
[TR]
[TD] [TABLE="width: 631"]
[TR]
[TD]B[/TD]
[TD]C[/TD]
[TD] [/TD]
[TD]D[/TD]
[TD]E ( đã filter )[/TD]
[/TR]
[TR]
[TD] PA0001[/TD]
[TD]11/01/2009[/TD]
[TD]1[/TD]
[TD="align: left"]Thu tiền bán hàng bằng chuyển khoản[/TD]
[TD]1111[/TD]
[/TR]
[TR]
[TD] PA0002[/TD]
[TD]11/01/2009[/TD]
[TD]1[/TD]
[TD="align: left"]Thu tiền bán hàng bằng chuyển khoản[/TD]
[TD]1111[/TD]
[/TR]
[TR]
[TD] Dùng hàm?[/TD]
[TD]11/01/2009[/TD]
[TD]1[/TD]
[TD="align: left"]Thu tiền bán hàng bằng chuyển khoản[/TD]
[TD]1111[/TD]
[/TR]
[TR]
[TD] ?[/TD]
[TD]11/01/2009[/TD]
[TD]1[/TD]
[TD="align: left"]Thu tiền bán hàng bằng chuyển khoản[/TD]
[TD]1111[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD]11/01/2009[/TD]
[TD]1[/TD]
[TD="align: left"]Thu tiền bán hàng thẻ cào Viettel[/TD]
[TD]1111[/TD]
[/TR]
[TR]
[TD] [/TD]
[TD][/TD]
[TD][/TD]
[TD="align: left"]

[/TD]
[TD][/TD]
[/TR]
[/TABLE]
[/TD]
[TD][/TD]
[TD][/TD]
[TD="align: left"][/TD]
[TD][/TD]
[/TR]
[/TABLE]
 

File đính kèm

Công thức tại B12:
Mã:
=IF(F12<>"1111","",TEXT(COUNTIF($F$12:F12,"1111"),"PT0000"))
 
Cũng trong file trên. Nếu cộtF( TÀI KHOẢN CÓ ) fileter là 1111 thì cột B ( SỐ HIỆU) là PC0001, PC0002... rồi tăng dần thì dùng hàm gì ?
 
Cũng trong file trên. Nếu cộtF( TÀI KHOẢN CÓ ) fileter là 1111 thì cột B ( SỐ HIỆU) là PC0001, PC0002... rồi tăng dần thì dùng hàm gì ?
Bạn áp dụng được công thức ở trên chưa?
Trong file cột F là TK Nợ, cột G là TK Có.
Mã:
=IF(COUNTIF(F12:G12,"1111")=0,"",IF(F12="1111","PT","PC")&TEXT(COUNTIF($F$12:F12,"1111"),"0000"))
 
Cám ơn bạn trước, cho mình hỏi thêm :

1. Dấu trong hàm là ";" hay là ",". Vì ở trên là , mình làm ko được.
2. Sẵn đây cho mình hỏi tổng hợp lần cuối là :
Nếu cột E (TK Nợ) là 1111 thì cột B là PT00001, PT0002...tăng dần.
Nếu cột F ( TK Có ) là 1111 thì PC0001, PC0002...tăng dần.
Nếu cột E hoặc F là 1121 thì cột B là NNH001,NHH,002... tăng dần.

Dựa vào file mình gửi nhé !
 
Cám ơn bạn trước, cho mình hỏi thêm :

1. Dấu trong hàm là ";" hay là ",". Vì ở trên là , mình làm ko được.
2. Sẵn đây cho mình hỏi tổng hợp lần cuối là :
Nếu cột E (TK Nợ) là 1111 thì cột B là PT00001, PT0002...tăng dần.
Nếu cột F ( TK Có ) là 1111 thì PC0001, PC0002...tăng dần.
Nếu cột E hoặc F là 1121 thì cột B là NNH001,NHH,002... tăng dần.

Dựa vào file mình gửi nhé !

Lúc thì NNH, lúc thì NHH; Lúc thì 2 số 0, lúc thì 3 số 0, lúc thì 4 số 0.... đúng là "khơi khơi"
.
Điều kiện trong file này cột F và G phải là Number. Lúc Number lúc Text là "tèo".
 

File đính kèm

Cho mình hỏi mình muốn giá trị trong 1 cột theo thứ tự là 1 1 2 2......1 1 2 2 thì phải dùng hàm kiểu gì để khi kéo nó cho kết quả đúng. Mình chưa tìm ra thuật toán để làm nó. Mình xin cảm ơn trước
 
Cho mình hỏi mình muốn giá trị trong 1 cột theo thứ tự là 1 1 2 2......1 1 2 2 thì phải dùng hàm kiểu gì để khi kéo nó cho kết quả đúng. Mình chưa tìm ra thuật toán để làm nó. Mình xin cảm ơn trước
Thử công thức này xem
Mã:
=ROUND(ROW(A1)/2,0)
 
các bạn ơi.
tớ có 3 cột.
STT ++++ tên ++++ điểm
giờ tớ muốn sắp xếp theo điểm, cho STT thay đổi, thì phải làm sao??
dùng lệnh gì nhỉ?
có phải xác định địa chỉ tuyệt đối ko? $ đó. hay chỉ tương đối thôi.
Giúp mình đi nhá
tks
----------
Nên gửi file lên sẽ dễ có người giúp hơn
 
Xin công thức - cho STT lặp lại thỏa điều kiện - gấp

Xin vui lòng giúp em với vì hiện tại em đang tạo một file excel để lấy mã code.

Em muốn cột STT tự động chạy với những điều kiện sau:

- Nếu cùng Customer Code, cùng Start Date, cùng ngày gửi, cùng mã PRN thì cột STT phải giống nhau (mục đích là đánh STT của chương trình trong tháng ở cột approval)
- Nếu cùng PRN, nhưng khác khách hàng, khác item code nhưng trong cùng tháng thì STT phải được cộng tiếp theo.
- Nếu chuyển sang tháng mới, thì STT phải trờ lại từ đầu.

Em muốn có một công thức nào đó để cột STT có thể chạy ra giống như cột STT trong file đính kèm đã được nhập.

Rất mong các anh/chị em nghiên cứu và giúp đỡ.
 

File đính kèm

Cac bac oi cho em hoi dung ham gi de danh so thu tu tang dan trong excel, cu the nhu the nay LK =0 thi khong dem, khac 0 thi STT tang len 1
STT KL
1 1212
2 21
0 0
3 51
4 4,65
0 0
0 0
5 5,1
Thank truoc cac Bac nha!!!!
 
cac bac oi cho em hoi dung ham gi de danh so thu tu tang dan trong excel, cu the nhu the nay lk =0 thi khong dem, khac 0 thi stt tang len 1
stt kl
1 1212
2 21
0 0
3 51
4 4,65
0 0
0 0
5 5,1
thank truoc cac bac nha!!!!
công thức đây
Mã:
=IF($B2=0,"",Max($A$1:A1)+1)
 

File đính kèm

Mong các bạn giúp đỡ mình ra công thức đánh STT theo file mình gửi lên nhé.
Yêu cầu, mong muốn mình ghi trong file đính kèm:
View attachment DanhSTT.xlsx
Cảm ơn các bạn rất nhiều !
 
Topic cũ là chen ngang, còn topic này (Các câu hỏi ...) là đúng rồi.
em biết nội quy diễn đàn nhưng anh chị nào biết giúp em với, thanks các anh (chi) nhiều
Bạn diễn đạt chưa rõ ràng, đánh số thứ tự hay là dò tìm?
Bạn nên thêm vài ví dụ rõ ràng hơn.
 
Topic cũ là chen ngang, còn topic này (Các câu hỏi ...) là đúng rồi.

Bạn diễn đạt chưa rõ ràng, đánh số thứ tự hay là dò tìm?
Bạn nên thêm vài ví dụ rõ ràng hơn.

Ý của em là đánh số thứ tự em ví dụ như thế này, tại cell E8 sheet(IN PHIEU) em muốn thiết lập code đánh số thứ tự tự động từ khởi tạo ban đầu nếu ở sheet(IN PHIEU) ô D2=1 thì là PT được gán số thứ tự là PT001, D2=2 thì là GR và được gán số thứ tự là GR001. Tiếp đến là tăng giá trị nếu D2=1 và dò tìm tại cột A sheet(DATA) nếu đã có PT001 thì E8 sheet(IN PHIEU) là PT001+1 = PT002 tương tự cho D2=2 và dò tìm tại cột A sheet(DATA) nếu đã có GR001 thì E8 sheet(IN PHIEU) là GR001+1 = GR002 và tự điền số thứ tự tăng dần.
 
Lần chỉnh sửa cuối:
Ý của em là đánh số thứ tự em ví dụ như thế này, tại cell E8 sheet(IN PHIEU) em muốn thiết lập code đánh số thứ tự tự động từ khởi tạo ban đầu nếu ở sheet(IN PHIEU) ô D2=1 thì là PT được gán số thứ tự là PT001, D2=2 thì là GR và được gán số thứ tự là GR001. Tiếp đến là tăng giá trị nếu D2=1 và dò tìm tại cột A sheet(DATA) nếu đã có PT001 thì E8 sheet(IN PHIEU) là PT001+1 = PT002 tương tự cho D2=2 và dò tìm tại cột A sheet(DATA) nếu đã có GR001 thì E8 sheet(IN PHIEU) là GR001+1 = GR002 và tự điền số thứ tự tăng dần.
D1 bạn gõ 1, D2: 2, D3: 2, D4: 2, ý nghĩa các số này là gì? Sao bạn chỉ nói D2 thôi?
Bên sheet DATA: bạn nói D2 = 1 thì lấy PT001+..., còn D2 = 2 thì lấy GR001+..., vậy PC001 thì sao? Và còn ký tự khác nữa không?
 
Con số tại D3, D4 không liên quan đến vì em làm kiểu tại ô D2 là 2 con số 1 và 2 là vì nếu là 1 thì là Phiếu thu, 2 là giấy rút. em không làm cho phiếu chi còn các ký tự khác không có anh à, nếu có thì em hỏi thêm anh với nhé hihi.
 
tại các ô D3, D4 thì áp dụng cho chuyển khỏan thôi anh
 
Con số tại D3, D4 không liên quan đến vì em làm kiểu tại ô D2 là 2 con số 1 và 2 là vì nếu là 1 thì là Phiếu thu, 2 là giấy rút. em không làm cho phiếu chi còn các ký tự khác không có anh à, nếu có thì em hỏi thêm anh với nhé hihi.
Nhìn file chẳng hiểu gì luôn, nếu không trả lời bạn thì sợ bạn chờ (hoặc ...), nếu trả lời thì vòng vèo, các bài viết trở thành spam (mất hướng, loãng đề ...), bạn muốn ra cái gì ở E8? Còn trả kết quả ra ở đâu nữa không? vậy công thức E8 đặt như vậy: =IF(D2=1,"PT001+1","GR001+1") có được không?
 
Ý của em là đánh số thứ tự em ví dụ như thế này, tại cell E8 sheet(IN PHIEU) em muốn thiết lập code đánh số thứ tự tự động từ khởi tạo ban đầu nếu ở sheet(IN PHIEU) ô D2=1 thì là PT được gán số thứ tự là PT001, D2=2 thì là GR và được gán số thứ tự là GR001. Tiếp đến là tăng giá trị nếu D2=1 và dò tìm tại cột A sheet(DATA) nếu đã có PT001 thì E8 sheet(IN PHIEU) là PT001+1 = PT002 tương tự cho D2=2 và dò tìm tại cột A sheet(DATA) nếu đã có GR001 thì E8 sheet(IN PHIEU) là GR001+1 = GR002 và tự điền số thứ tự tăng dần.
Có lẽ bạn muốn thế này
 

File đính kèm

Lần chỉnh sửa cuối:
Gần đúng rồi anh, cái này tìm trả kết quả còn thiếu nếu D2=2 và trong vùng của cột A là GR012 thì E8=GR012+1=GR013
Vậy thử công thức này xem:
Mã:
=IF(D2=1,"PT","GR")&TEXT(RIGHT(LOOKUP(10^10,1/(LEFT(A12:A17,2)=IF(D2=1,"PT","GR")),A12:A17),3)+1,"000")
Công thức này chỉ đúng với dữ liệu được sắp xếp, nếu không tiện thì dùng công thức mảng của susu16b.
 
Lần chỉnh sửa cuối:
Vậy thử công thức này xem:
Mã:
=IF(D2=1,"PT","GR")&TEXT(RIGHT(LOOKUP(10^10,1/(LEFT(A12:A17,2)=IF(D2=1,"PT","GR")),A12:A17),3)+1,"000")
Công thức này chỉ đúng với dữ liệu được sắp xếp, nếu không tiện thì dùng công thức mảng của susu16b.

Công thức này của anh nó báo lỗi; công thức susu16b thì chạy đúng ý em nhưng khi em thêm là PT003 thì E8 nó không tăng thành PT004. Em muốn giúp em chuyển nó thành VBA có được không ạ?
 
Lần chỉnh sửa cuối:
Công thức này của anh nó báo lỗi; công thức susu16b thì chạy đúng ý em. Em muốn giúp em chuyển nó thành VBA có được không ạ?
VBA thì thử hàm tự tạo này xem:
[gpecode=vb]
Function SoPhieu(Vung As Range, Loai As String)
Dim i As Long, So As Long
For i = 1 To Vung.Rows.Count
If Vung(i) Like Loai & "*" Then
If Val(Right(Vung(i), 3)) > So Then
So = Val(Right(Vung(i), 3))
End If
End If
Next i
SoPhieu = Loai & Format(So + 1, "000")
End Function
[/gpecode]
Nhớ Enable Marco.
Công thức trên chưa tham chiếu qua sheet DATA.
 

File đính kèm

Em xin lỗi vì chưa text nhưng khi text thì nó ko lên. tức là nó sẽ có thêm dò tìm nếu trong cột A đã có PT003 thì tại E8 tự động tăng thêm 1 đơn vị nhưng khi em nhập vào là PT003 thì E8 nó ko tăng thành PT004
 
Xin lỗi anh chị, em nói cụ thể hơn thế này. tại E8 nếu D2=1 và dò tìm cột A DATA nếu trong cột A chưa xuất hiện phiếu thu nào thì khởi tạo ban đầu là PT001, nếu D2=1 và dò tìm cột A DATA nếu trong cột A đã xuất hiện phiếu thu là PT001 thì tăng lên PT002,.... Tương tự cho giấy rút với D2=2
 
Các anh chị giúp em với nhé, em sửa miết mấy hàm anh chị giúp mà chưa chạy được cái nào cả
 
Công thức này của anh nó báo lỗi; công thức susu16b thì chạy đúng ý em nhưng khi em thêm là PT003 thì E8 nó không tăng thành PT004. Em muốn giúp em chuyển nó thành VBA có được không ạ?
Sửa lại cho bạn rồi đây.
 

File đính kèm

Hỏi Marco thì có Marco, hỏi công thức thì có công thức, bạn xem bài #348 chưa, bạn đã bật Marco chưa?

hihi em xin lỗi nha. Em có bật lên nhưng tại ô E5, E6, E7 thì chạy theo đúng macro, ý em muốn nhờ các anh chị chuyển giúp em code cho công thức trong E8. em áp dụng công thức thì nó hoàn toàn đúng với bài toán của em. Thanks các anh (chị) nhiều!
 
Hỏi Marco thì có Marco, hỏi công thức thì có công thức, bạn xem bài #348 chưa, bạn đã bật Marco chưa?

Anh (chị) giúp em tý nữa nha! khi em sử dụng function tại ô E8 thì nó không chạy nó báo #VALUE!, có phải do mình chưa khai báo vùng không anh. nếu em đặt vùng theo definame là SH (số hiệu) thì giúp em đoạn code khai báo được không ạ?
 
Anh (chị) giúp em tý nữa nha! khi em sử dụng function tại ô E8 thì nó không chạy nó báo #VALUE!, có phải do mình chưa khai báo vùng không anh. nếu em đặt vùng theo definame là SH (số hiệu) thì giúp em đoạn code khai báo được không ạ?
Bạn xem file ở bài #354 đã có name
 
Bạn xem file ở bài #354 đã có name

em đã xem file, ý em là chuyển công thức sang code VBA, bài viết của anh leonguyenz đã chuyển code nhưng em dùng file đó thì khi em đánh hàm vào E8 thì nó lại báo lỗi. vì em khai báo vung là Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp)
 
em đã xem file, ý em là chuyển công thức sang code VBA, bài viết của anh leonguyenz đã chuyển code nhưng em dùng file đó thì khi em đánh hàm vào E8 thì nó lại báo lỗi. vì em khai báo vung là Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp)
Bạn diễn giải nhiều như thế làm gì? Sao không up cái file bị lỗi đó lên?
 

File đính kèm

em đã xem file, ý em là chuyển công thức sang code VBA, bài viết của anh leonguyenz đã chuyển code nhưng em dùng file đó thì khi em đánh hàm vào E8 thì nó lại báo lỗi. vì em khai báo vung là Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp)
Bạn bỏ dòng bạn vừa thêm vào:
Set vung = Range (sheet1.[A12],sheet1.[A65536].End(xlUp) as Range
Khi sử dụng bạn muốn áp dụng cho vùng nào thì bạn thay đổi tham chiếu ở hàm (chố màu đỏ)
=SoPhieu(DATA!$A$12:$A$17,"PT") thành SoPhieu(DATA!$A$12:$A$65000,"PT") chẳng hạn.
 
em up file lên anh chị em giúp em với, thanks, em đang học viết code từ cái đơn giản nhưng khó quá
Cái vụ này mà dùng Function thấy không ổn rồi.
Thử làm ô D2 "nhúc nhích" xem ô E8 có kết quả mong muốn không?
Muốn "mần" lại từ đầu thì xóa cột A.
 

File đính kèm

Cái vụ này mà dùng Function thấy không ổn rồi.
Thử làm ô D2 "nhúc nhích" xem ô E8 có kết quả mong muốn không?
Muốn "mần" lại từ đầu thì xóa cột A.

Em cảm ơn anh Ba Tê, anh sửa hộ em cái phần R được lấy từ cột A từ A12:A65536 sheet DATA chứ ko phải trên sheet IN PHIEU được không anh? em thêm vào R = Range(Sheet1.[A12], Sheet1.[A65536].End(xlUp).Row) em chạy debug thì nó báo vàng dòng này. em ko biết sai gì vậy anh?
 
Em cảm ơn anh Ba Tê, anh sửa hộ em cái phần R được lấy từ cột A từ A12:A65536 sheet DATA chứ ko phải trên sheet IN PHIEU được không anh? em thêm vào R = Range(Sheet1.[A12], Sheet1.[A65536].End(xlUp).Row) em chạy debug thì nó báo vàng dòng này. em ko biết sai gì vậy anh?
R = Sheets(1).[A65536].End(xlUp).Row
 
Em cảm ơn anh Ba Tê, anh sửa hộ em cái phần R được lấy từ cột A từ A12:A65536 sheet DATA chứ ko phải trên sheet IN PHIEU được không anh? em thêm vào R = Range(Sheet1.[A12], Sheet1.[A65536].End(xlUp).Row) em chạy debug thì nó báo vàng dòng này. em ko biết sai gì vậy anh?
Xem lại file này, Cũng chưa rõ cái Range là sao.
 

File đính kèm

Mình đang gặp một vấn đề về stt . Mình muốn phát hiện số còn thiếu trong ô stt khi mình nhập hàng
VD:số stt lần lược nhập là 1,2,3,4,5 nhưng khi mình nhập hàng thì có thiếu sót 1,3,4,5 . Vì một ngày mình nhật hàng 2-300 đơn hàng nên nhìn muốn đỏ con mắt luôn nhiều khi còn bị thiếu nữa nên nhờ mọi người xem giúp mình có hàm nào có thể phát hiện việc này không ?
 
Mình đang gặp một vấn đề về stt . Mình muốn phát hiện số còn thiếu trong ô stt khi mình nhập hàng
VD:số stt lần lược nhập là 1,2,3,4,5 nhưng khi mình nhập hàng thì có thiếu sót 1,3,4,5 . Vì một ngày mình nhật hàng 2-300 đơn hàng nên nhìn muốn đỏ con mắt luôn nhiều khi còn bị thiếu nữa nên nhờ mọi người xem giúp mình có hàm nào có thể phát hiện việc này không ?
Bạn nên đặt công thức đánh số thứ tự. Ví dụ đánh số thứ tự dựa theo cột B, bắt đầu từ A2 chẳng hạn, bạn đặt công thức tại A2 là: =If(B2="","",max($A$1:A1)+1) và kéo công thức xuống (500 dòng cho 1 ngày là ok rồi). Từ bây giờ bạn chỉ cần nhập ở cột B thì cột A tự đánh số thứ tự. Còn nhiều cách đánh số thứ tự khác, bạn cố gắng nghiên cứu các bài viết trong topic này.
 
Tìm mãi không thấy câu trả lời về đánh tự động ngày tháng, mong các cao thủ chỉ giúp
Mình muốn khi sử dụng hàm ngày tháng ví dụ 1st, 2nd, 3rd mà các ký tự là trên đầu giống tiếng anh.
Mình gửi file đính kèm, mong các cao thủ chỉ giúp.
 

File đính kèm

Tôi có một cột ghi tên các lớp (VD 10A1, 12A7, 12A3, 11A5; một lớp xuất hiện nhiều lần, không theo thứ tự và có thể có ô trống giữa lớp trên và lớp dưới) và một cột để đánh số thứ tự. Xin giúp tôi đánh số thứ tự tự động THEO TỪNG LỚP từ trên xuống. VD: 10A 1 đầu tiên là số 1, 10A 1 tiếp theo là 2, 3...; 12A7 đầu tiên là 1, 12A7 tiếp theo là 2, 3...các lớp còn lại cũng vậy. Tôi gửi file kèm theo. Xin cảm ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi có một cột ghi tên các lớp (VD 10A1, 12A7, 12A3, 11A5; một lớp xuất hiện nhiều lần, không theo thứ tự và có thể có ô trống giữa lớp trên và lớp dưới) và một cột để đánh số thứ tự. Xin giúp tôi đánh số thứ tự tự động THEO TỪNG LỚP từ trên xuống. VD: 10A 1 đầu tiên là số 1, 10A 1 tiếp theo là 2, 3...; 12A7 đầu tiên là 1, 12A7 tiếp theo là 2, 3...các lớp còn lại cũng vậy. Tôi gửi file kèm theo. Xin cảm ơn.

Tìm kiếm trên mạng về đánh số thứ tự có bạn nêu công thức COUNTIF(F11:$F$11;F11). Đúng cài mình cần. Tuy nhiên, nếu chỉ dùng công thức này thì ô trống vẫn đánh số. Để khắc phục thì điều chỉnh lại như sau: tại ô đầu của cột F là cột cần đánh số thứ tự =IF(F11="";"";COUNTIF(F11:$F$11;F11))
Và đây là kết quả.
 
Tìm kiếm trên mạng về đánh số thứ tự có bạn nêu công thức COUNTIF(F11:$F$11;F11). Đúng cài mình cần. Tuy nhiên, nếu chỉ dùng công thức này thì ô trống vẫn đánh số. Để khắc phục thì điều chỉnh lại như sau: tại ô đầu của cột F là cột cần đánh số thứ tự =IF(F11="";"";COUNTIF(F11:$F$11;F11))
Và đây là kết quả.
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi có một cột ghi tên các lớp (VD 10A1, 12A7, 12A3, 11A5; một lớp xuất hiện nhiều lần, không theo thứ tự và có thể có ô trống giữa lớp trên và lớp dưới) và một cột để đánh số thứ tự. Xin giúp tôi đánh số thứ tự tự động THEO TỪNG LỚP từ trên xuống. VD: 10A 1 đầu tiên là số 1, 10A 1 tiếp theo là 2, 3...; 12A7 đầu tiên là 1, 12A7 tiếp theo là 2, 3...các lớp còn lại cũng vậy. Tôi gửi file kèm theo. Xin cảm ơn.

Công thức ô G11
PHP:
=IF(F11="";"";COUNTIF($F$11:F11;F11))
Nếu lỗi thì thay dấu chấm phẩy thành dấu phẩy.
 
Đánh số chứng từ dựa vào STT và mã phiếu ?

E có ghi rõ yêu cầu trong file? mong đc giúp đỡ . Thân
 

File đính kèm

Đúng thứ e cần rồi. cảm ơn A bate nhiều .
Thực ra có nhiều loại phiếu T,C,N,X,K các phiếu khác e áp dụng bài của a
 
Đánh số thứ tự 1->5 rồi quay lại đánh số thứ tự 1->5 mới

Dạ,em cần đánh số thứ tự (Stt) từ 1->5 cho lệnh order.
- Nếu lệnh order nào trùng thì đánh cùng 1 số stt.
- Khi Stt đến lệnh order thứ 5 thì quay lại đánh số thứ tự 1->5 mới.
Mong các Thầy và các bạn hỗ trợ giúp em.
Em cảm ơn ạ
 

File đính kèm

Lần chỉnh sửa cuối:
Dạ,em cần đánh số thứ tự (Stt) từ 1->5 cho lệnh order.
- Nếu lệnh order nào trùng thì đánh cùng 1 số stt.
- Khi Stt đến lệnh order thứ 5 thì quay lại đánh số thứ tự 1->5 mới.
Mong các Thầy và các bạn hỗ trợ giúp em.
Em cảm ơn ạ
Nếu dữ liệu đã được sắp xếp như vậy đúng rồi, thì bạn có thể tham khảo bài này, cây nhà lá vườn, nghỉ sao viết vậy cho dễ hiểu
dò từ trên xuống, nếu thằng dưới khác thằng trên thì (*) còn nếu trùng thì (**)
(*) nếu Stt<5 thì cộng dồn còn ngược lại cho nó bằng 1
(**) nếu thằng trên bằng thằng dưới thì cho nó Stt bằng nhau
P/S bài này tôi không bẫy lỗi gì hết
 

File đính kèm

Dạ,em cần đánh số thứ tự (Stt) từ 1->5 cho lệnh order.
- Nếu lệnh order nào trùng thì đánh cùng 1 số stt.
- Khi Stt đến lệnh order thứ 5 thì quay lại đánh số thứ tự 1->5 mới.
Mong các Thầy và các bạn hỗ trợ giúp em.
Em cảm ơn ạ
Phòng khi bạn muốn công thức
Mã:
G2=IF($B2=$B1,G1,MOD(N(G1),5)+1)
 
Dạ,em cần đánh số thứ tự (Stt) từ 1->5 cho lệnh order.
- Nếu lệnh order nào trùng thì đánh cùng 1 số stt.
- Khi Stt đến lệnh order thứ 5 thì quay lại đánh số thứ tự 1->5 mới.
Mong các Thầy và các bạn hỗ trợ giúp em.
Em cảm ơn ạ
Công thức G2=IF(B2=B1,G1,IF(G1<5,G1+1,1))
Fill xuống. Không biết có đụng hàng với cách của thầy Phi không, mình lười tải file lắm.
 
Xin cảm ơn các Thầy và bạn Phi. Có những cái trong cái hiểu của em, nhưng nghĩ không ra, đúng là em dốt ghê+-+-+-+.
Thưa thầy Thắng, Thầy cho em hỏi công thức =N(G1), nghĩa là ntn vậy ạ? Em tìm trên diễn đàn chưa thấy công thức này.
Cảm ơn bạn Phi vì đã hướng dẫn mình thêm VBA.

Diễn đàn GPE thật tuyệt,có quá nhiều người am tường ve Ex
 
=N(...) là hàm chuyển nếu tham số là text thì kết quả trả về là 0
còn các trường hợp khác trả lại chính nó,cái này thường người ta làm việc mà xét đến vấn đề trên 1 ô, để tránh trường hợp là text không thể tính toán được
 
- Em muốn tại cột F sẽ được đánh số TT từ 1 và tăng dần đến giới hạn của ô B2 trước rùi lại tiếp tục chạy lại từ 1 theo giới hạn của ô C2, nếu hết thì chuyển thành dấu - ....
- Cụ thể yêu cầu em đã ghi rõ trong file. Xin cảm ơn các Ac ạ
 

File đính kèm

- Em muốn tại cột F sẽ được đánh số TT từ 1 và tăng dần đến giới hạn của ô B2 trước rùi lại tiếp tục chạy lại từ 1 theo giới hạn của ô C2, nếu hết thì chuyển thành dấu - ....
- Cụ thể yêu cầu em đã ghi rõ trong file. Xin cảm ơn các Ac ạ
dùng công thức này xem
=IF(ROWS($B$2:B2)>($B$2+$C$2),"-",IF(ROWS($B$2:B2)>$B$2,ROWS($B$2:B2)-$B$2,ROWS($B$2:B2)))
 
Các anh chị xem giúp em File đánh số thứ tự theo 1 điều kiện như file đính kèm.
Thanks!
 

File đính kèm

Em cũng đang gặp rắc rối chổ đánh số thứ tự này các bác giúp em ạ
 

File đính kèm

Một cách nửa là tại B2:
Mã:
=B2--(D3<>D2)
fill xuống.
 
mọi người cho mình hỏi mình muốn cho số thứ tự tự động nhảy khi copy xuống trang mới trong phiếu thu thì phải làm thế nào: VD trang 1 số phiếu là 01, khi copy xuống trang 2 thì số phiếu tự động nhảy sang 02. ai biết chỉ giúp mình với
 
Em chào anh chị trong diễn đàn
Nhờ các anh hướng dẫn cách đánh số thứ tự bằng công thức hoặc đặt Name vừa bằng số thứ tự ABC và bằng số với điều kiện kiểm tra nếu cột B khác Date thì đánh theo ABC ngược lại số thứ tự đánh tăng dần với ạ

Mã:
=IF(NOT(ISERROR(DATEVALUE(TEXT(B2;"mm/dd/yyyy"))));IF($B2<>"";SUBTOTAL(103;$B2:$B$5)-1;"");"Đánh số ABC")

1613793274363.png
Bài đã được tự động gộp:

Up nhờ anh chị giúp
 

File đính kèm

Lần chỉnh sửa cuối:
Mình đưa cái kết quả mong muốn lên ấy, đưa cái không đúng lên có hiểu gì đâu.

Sang nhóm việc mới thì số bắt đầu từ 1 hay cứ chiến tiếp?

1613805634023.png

Mã:
A2=IF(ISNUMBER(B2)=TRUE,SUBTOTAL(2,$B$2:$B2),INDEX({"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"},SUBTOTAL(3,$B$2:$B2)-SUBTOTAL(2,$B$2:$B2)))
 
Mình đưa cái kết quả mong muốn lên ấy, đưa cái không đúng lên có hiểu gì đâu.

Sang nhóm việc mới thì số bắt đầu từ 1 hay cứ chiến tiếp?

View attachment 254331

Mã:
A2=IF(ISNUMBER(B2)=TRUE,SUBTOTAL(2,$B$2:$B2),INDEX({"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"},SUBTOTAL(3,$B$2:$B2)-SUBTOTAL(2,$B$2:$B2)))
1. Dạ mong muốn là sang nhóm mới số thứ tự được đánh lại từ 1, 2, 3 ạ
2. Trường hợp thứ 2 muốn đánh lại tiếp từ A, B, C khi tạo giao việc tháng khác nữa ạ mà không chỉnh sửa đến công thức

1613813926987.png
 

File đính kèm

Lần chỉnh sửa cuối:
"sang nhóm mới số thứ tự được đánh lại từ 1, 2, 3"
Mã:
IF(ISNUMBER(B2)=TRUE;N(A1)+1;INDEX({"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"};COUNTA($B$2:$B2)-COUNT($B$2:$B2)))

Anh giải thích giúp em chỗ N(A1)+1: Chỗ này em chưa biết ạ
Còn trường hợp 2 khi mình làm tiếp tháng sau cùng Sheet muốn đánh lại số TT lại từ ABC như trên với ạ
 
Còn trường hợp 2 khi mình làm tiếp tháng sau cùng Sheet muốn đánh lại số TT lại từ ABC
Sao mình đăng bài nêu iêu cầu thôi mà thấy mệt vậy?

Còn cần gì thì mình lấy giấy bút viết hết một lượt ra. Sau 01 tuần hoặc nửa tháng mà không nghĩ thêm ra ý tưởng gì thì mình đăng bài vẫn kịp mà.
Kiểu mỗi lúc thêm cái này cái này không chạy theo kịp.
 
Sao mình đăng bài nêu iêu cầu thôi mà thấy mệt vậy?

Còn cần gì thì mình lấy giấy bút viết hết một lượt ra. Sau 01 tuần hoặc nửa tháng mà không nghĩ thêm ra ý tưởng gì thì mình đăng bài vẫn kịp mà.
Kiểu mỗi lúc thêm cái này cái này không chạy theo kịp.
Dạ em xin lỗi không tính hết ạ. Do em làm sử dụng 1 Sheet để đẩy dữ liệu theo dõi chung nên muốn đánh số theo từng tháng vậy ạ
Em cám ơn anh
 
Mã:
IF(ISNUMBER(B2)=TRUE;N(A1)+1;INDEX({"A";"B";"C";"D";"E";"F";"G";"H";"I";"J";"K";"L";"M";"N";"O";"P";"Q";"R";"S";"T";"U";"V";"W";"X";"Y";"Z"};COUNTA($B$2:$B2)-COUNT($B$2:$B2)))

Anh giải thích giúp em chỗ N(A1)+1: Chỗ này em chưa biết ạ
Còn trường hợp 2 khi mình làm tiếp tháng sau cùng Sheet muốn đánh lại số TT lại từ ABC như trên với ạ
N(A1) em đã tìm được câu trả lời trên rồi. Nhờ anh giúp em với nhé
 
Sao mình đăng bài nêu iêu cầu thôi mà thấy mệt vậy?

Còn cần gì thì mình lấy giấy bút viết hết một lượt ra. Sau 01 tuần hoặc nửa tháng mà không nghĩ thêm ra ý tưởng gì thì mình đăng bài vẫn kịp mà.
Kiểu mỗi lúc thêm cái này cái này không chạy theo kịp.
Lâu quá mới có dịp chạy tiếp sức với em! khà khà...

Mã:
A2=IF(OR(TRIM(B2&C2)="",LEFT(B2,9)="công việc"),"",IF(A1="","A",IF(ISTEXT(B2),CHAR(CODE(LOOKUP("zz",$A$1:A1))+1),SUM(A1)+1)))
Enter, fill xuống. Công thức này chỉ đánh số thứ tự theo 26 chữ cái (từ A đến Z) thôi! nếu quá "Z", nó nhảy tưng tưng....

Chúc em ngày thiệt vui.

/-*+//-*+//-*+/
 

File đính kèm

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

Back
Top Bottom