Cần giúp gõ số thứ tự dạng 1.1, 1.2, 1.3,... (Dạng công thức, không phải số chết) (5 người xem)

Liên hệ QC

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

hung2412

Thành viên tích cực
Tham gia
5/8/08
Bài viết
929
Được thích
240
Giới tính
Nam
Xin chào các Anh chị và các bạn GPE!
Nhờ các Anh chị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột B có các ô chứa số thứ tự dạng 1, 2, 3,... (Các ô này cách xa nhau) như hình sau:

27LZVFl.png


=> Vấn đề được đặt ra ở đây là: Làm thế nào để gõ số thứ tự dạng 1.1, 1.2, 1.3,... (Dạng công thức, không phải số chết) (Giữa các ô có thứ tự 1, 2, 3,...) như hình sau:

1CSnNJ6.png


=> Không biết là có được không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.
 

File đính kèm

Xin chào các Anh chị và các bạn GPE!
Nhờ các Anh chị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột B có các ô chứa số thứ tự dạng 1, 2, 3,... (Các ô này cách xa nhau) như hình sau:

27LZVFl.png


=> Vấn đề được đặt ra ở đây là: Làm thế nào để gõ số thứ tự dạng 1.1, 1.2, 1.3,... (Dạng công thức, không phải số chết) (Giữa các ô có thứ tự 1, 2, 3,...) như hình sau:

1CSnNJ6.png


=> Không biết là có được không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.

Hôm trước bạn có hỏi về Formual, và RC, R1C1 và Address.
Mình nghĩ bạn sẽ làm được điều này.
 
Ô B3:
=$B$2&"."&ROW(1:1)
Kéo xuống
Đến 2 dừng lại, làm lại công thức tương tự rồi kéo xuống.
Cũng hơi thủ công.
 
[thongbao]=> Không biết là có được không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
[/thongbao]
Mình chưa rõ là: Tại sao đến 4.4 bạn đã cho dừng lài vậy?

Lí ra chổ này nó fải là số nào đó, như 4.256 chẳng hạn?
 
[thongbao]=> Không biết là có được không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
[/thongbao]
Mình chưa rõ là: Tại sao đến 4.4 bạn đã cho dừng lài vậy?

Lí ra chổ này nó fải là số nào đó, như 4.256 chẳng hạn?
Tôi ví dụ thôi mà bạn. Mà số 4.256 là sao bạn nhỉ?
 
Trong khi chờ các bạn khác giúp, bạn thử cách thủ công này xem.

1/ Nếu số 1 đang là B2, thì bạn có thể dùng hàm này cho B3:

=$B$2&"."&ROW()-2

Nếu số 2 đang là B8, thì bạn có thể dùng hàm này cho B9:

=$B$8&"."&ROW()-8

Có nghĩa là số bạn cần lấy để đánh số TT là Cell nào thì lấy số vị trí của Cell đó gán vào công thức và trừ đi chính dòng chứa nó.


2/ Dùng cho số 1:

B3=1&"."&1

B4=1&"."&(RIGHT($B3,1))+1

Dùng cho số 2:

B9=2&"."&1

B10=2&"."&(RIGHT($B9,1))+1

Có nghĩa là dùng hàm nối chuổi, sau đó tách số bên phải cộng 1.
 

File đính kèm

Lần chỉnh sửa cuối:
Xin chào các Anh chị và các bạn GPE!
Nhờ các Anh chị và các bạn giúp đỡ cho tôi vấn đề này với, cụ thể như sau:
Dọc theo cột B có các ô chứa số thứ tự dạng 1, 2, 3,... (Các ô này cách xa nhau) như hình sau:
...
=> Vấn đề được đặt ra ở đây là: Làm thế nào để gõ số thứ tự dạng 1.1, 1.2, 1.3,... (Dạng công thức, không phải số chết) (Giữa các ô có thứ tự 1, 2, 3,...) như hình sau:
...
=> Không biết là có được không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
P/s: Có 01 File đính kèm.

bạn thử dùng hàm tự tạo xem sao nhé.
Mã:
Function STT(rTarget As Range) As String
Dim vung(), i As Long, K As Long
    
    Application.Volatile
    
    vung = Range("D1:D" & rTarget.Row).Value
    
    For i = UBound(vung) To 1 Step -1
        If vung(i, 1) Like "*" & "." & "*" Then
            K = K + 1
        Else
            STT = vung(i, 1) & "." & K + 1
            Exit Function
        End If
    Next
    
End Function
 

File đính kèm

Cái này dùng công thức vẫn được mà nó hơi bị dài tại B3:

=IF(ISERROR(LEFT(B2,FIND(".",B2,1)-1)),B2,LEFT(B2,FIND(".",B2,1)-1))&"."&IF(ISERROR(MID(B2,FIND(".",B2,1)+1,10)+1),1,MID(B2,FIND(".",B2,1)+1,10)+1)
 
Thêm một cách:
=IF(B2=INT(B2),B2&"."&1,LEFT(B2,FIND(".",B2)-1)&"."&RIGHT(B2,LEN(B2)-FIND(".",B2))+1)
 
- Dùng Autofilter cột B, chọn blank.
- Nhập công thức vào B3
=IF(MOD(B2,1)=0,B2 & ".1",LEFT(B2,FIND(".",B2)) & (RIGHT(B2,LEN(B2)-FIND(".",B2))+1))
- Kéo xuống dưới.
 
Mở File và nhấn nút Đánh số TT để xem kết quả.
 

File đính kèm

Lần chỉnh sửa cuối:
Cách bài #11 có nhược điểm là chỉ đánh số TT 1 lần.

Vậy khi
xóa bất kỳ dòng nào trong vùng chứa dữ liệu, làm cách nào để khi nhấn nút đánh nó đánh lại toàn bộ số thứ tự, tác giả thử suy nghĩ nếu thấy chưa tiện thì tính tiếp.
 
Lần chỉnh sửa cuối:
Tôi kiểm tra lại vẫn ra kết quả tốt, vậy bạn đưa cái File đó lên để tôi xem lại mới biết nguyên nhân.
 
Tôi kiểm tra lại vẫn ra kết quả tốt, vậy bạn đưa cái File đó lên để tôi xem lại mới biết nguyên nhân.
Tôi Download File ở #11 => Sau đó tôi bấm Đánh số TT => Kết quả chính là File đính kèm dưới đây.
 

File đính kèm

Bài 12 tôi có nêu.

Cách bài #11 có nhược điểm là chỉ đánh số TT 1 lần.

Có nghĩa là đánh số thứ tự chỉ 1 lần, do bạn nhấn nút thêm 1 lần nữa bị lỗi.

Vì vậy bạn chỉ nhấn nút Đánh số TT chỉ 1 lần, khi bạn xóa dòng hoặc thay đổi con số khác và cần đánh lại thì bạn nhớ nhấn nút Xóa TT (trước khi đánh lại số thứ tự), sau đó nhấn nút Đánh số TT để đánh lại số TT mới.
 

File đính kèm

Lần chỉnh sửa cuối:
Từ bài #1 đưa yêu cầu với mấy cái hình như vầy:
CuNhay.jpg
Trong file lại không có giới hạn dòng cuối cùng nên ở bài #4 "CHỊ" HYen17 đã
[thongbao]=> Không biết là có được không?
Mong các Anh chị và các bạn GPE chỉ giáo!
Trân trọng cảm ơn!
[/thongbao]
Mình chưa rõ là: Tại sao đến 4.4 bạn đã cho dừng lài vậy?

Lí ra chổ này nó fải là số nào đó, như 4.256 chẳng hạn?
Cái "lằng nhằng" chính là cái 1.1, 1.2 ...
Sử dụng dấu chấm hay dấu phẩy trong 1 chuỗi các ký tự là số sẽ "rối nùi".
Máy nào dùng dấu chấm làm dấu phân cách số lẻ thì nó là NUMBER, máy nào dùng dấu phẩy làm dấu phân cách số lẻ thì nó là TEXT,
Cù nhây mấy chuyện này mất công suy nghĩ nhức đầu.
PHP:
Public Sub STT_X()
Dim Arr(), I As Long, Rws As Long
Arr = Range("B1:B1000").Value
For I = 2 To 1000
    If Len(Arr(I, 1)) And IsNumeric(Arr(I, 1)) Then
        Rws = I
    Else
        Arr(I, 1) = "=R" & Rws & "C & ""_"" & COUNTA(R" & Rws & "C:R[-1]C)"
    End If
Next I
Range("B1:B1000") = Arr
End Sub
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom