Hỏi về cách đánh số liên tục?

Liên hệ QC

heo_amazon

Thành viên mới
Tham gia
10/6/07
Bài viết
1
Được thích
0
Danh so thu tu

Lam cach nao co the danh so thu tu tren nhung dong cach nhau. Minh toan go tay ko a`, hic...+-+-+-+

Giup minh voi

Than,

_________________

Bạn vui lòng đặt tên topic và nội dung bài viết bằng tiếng việt có dấu ở lần sau nha. Xem hướng dẫn chi tiết tại đây nha.
 
Chỉnh sửa lần cuối bởi điều hành viên:
đánh Số Thứ Tự

Gỉa Sử ô Cần đánh Số Là B1 . Bạn Dùng Công Thức Này Tại ô Cần đánh Số ( Nhớ Clear Sạch ô B1 Trước Nhé )
=if($a1<>"",counta($a$1:$a1),"")
 
Lần chỉnh sửa cuối:
heo_amazon đã viết:
Lam cach nao co the danh so thu tu tren nhung dong cach nhau. Minh toan go tay ko a`, hic...+-+-+-+

Giup minh voi

Than,
Trên những dòng cách nhau thì đương nhiên phải nhập bằng tay, chẳng có căn cứ gì để đánh số thứ tự cả.
Không biết cái này có đúng ý bạn không:
Tại cột B bạn có dữ liệu trên các dòng cách nhau (giải sử bắt đầu từ ô B1 có dữ liệu), bạn muốn đánh số thứ tự tại cột A- Dòng nào tại cột B có dữ liệu thì đánh số.
Bạn nhập A1-1, tại ô A2 bạn nhập công thức
=IF(B2<>"";COUNTIF($A$1:A1;">0")+1;"")
Bạn copy công thức này cho các dòng tiếp theo trong cột A.
 
Bạn heo... không nói rõ là các dòng có cách đều nhau không? Nếu đánh số thứ tự trên các dòng cách đều nhau, ta vẫn dùng cách điền tự động như bình thường. Còn nếu các dòng cách nhau không theo một trật tự nào, có lẽ phải dùng VBA.
 
Re: đánh số thứ tự

Không biết có đúng ý bạn không, thử xem nhé:
ô A1 là STT (để ô trắng)
Cột B2 là dữ liệu
Nếu cột B có dữ liệu thì đánh số thứ tự, còn không thì bỏ qua ?
Đúng vậy thì: gõ công thức từ ô a2
=if($B2<>"",MAX($a$1:a1)+1,"")
Copy công thức này xuống cho các dòng tiếp theo là xong !
Bạn thử làm thử xem !
 
- Nếu cách đều (giả sử cách 2 dòng):
Ô A1: đánh số thứ 1
Ô A2: trống
Ô A3: trống
Ô A4: Đánh số thứ 2
Bạn chọn từ A1 đến A6
Kéo xuỗng các ô phía dưới
- Nếu cách không đều:
Có thế sử dụng công thức như bạn Chibi đã gửi hoặc VBA
.....
 
Cái vụ đánh số thứ tự này có nói nhiều trên diển đàn rồi. Nhưng em thấy dù làm theo cách nào thì cũng còn có 1 nhược điểm, đó là khi ta insert thêm dòng thì sao? Hình như mấy công thức đó đi toi. Dùng VBA có giãi quyết dc ko? Các anh chỉ em với. Vì có thể em sẽ dùng vào 1 việc khác chứ còn chỉ với mỗi việc đánh số TT mà dùng đến VBA thì... phí quá.
Dùng công thức hay VBA gì cũng dc nhưng em chỉ cần giãi quyết dc 2 chuyện: Thứ nhất: đánh số tự động, hể cột B có dự liệu thì cột A tự động đánh số. Thứ 2: Việc đánh số tự động phải đúng ngay cả khi Insert hoặc xóa ROW.
Miss TT
 
Theo tôi có thể giải quyết như sau :
Chèn thêm dòng, nhập số liệu trên ô B...; sau đó chọn vài ô A...:A... ( trong đó có chứa dòng mới chèn) và bấm Ctrl+D. Còn trường hợp xóa row, nếu tất cả các ô của cột A được lập công thức như các bạn khác hướng dẫn thì nó cũng sẽ tự động đánh lại số thứ tự. Cũng có thể dùng tổ hợp phím Ctrl+D để thay lệnh copy các dòng liên tục ở cột A. Mong các bạn góp ý thêm.
 
Lần chỉnh sửa cuối:
Quả thật cay nhất là khi Insert thêm dòng. Hiện giờ tôi cũng chỉ nghĩ mỗi cách giống bạn Duongsatdn thôi
ANH TUẤN
 
Để đánh số thứ tự tự động kể cả khi chèn thêm dòng với VBA thì khả thi. Nhưng dữ liệu phải có dấu hiệu nhận dạng để biết dòng nào đánh STT, dòng nào không.
Trong Sub SoThuTu dưới đây viết cho bảng tính có cấu trúc như sau: STT ở A1, Họ tên ở B1, từ dòng 2 xuống dưới là dữ liệu. Nếu 1 ô bên cột B có dữ liệu thì ô tương ứng bên cột A sẽ đánh STT. Nhưng do có dòng trống nên tôi quy định nếu có 10 dòng trống liên tục thì kết thúc (biến trong=11 sẽ kết thúc đánh STT)
Mã:
[/COLOR][COLOR=black][/COLOR]
[COLOR=black]Sub SoThuTu()
'
' SoThuTu Macro
' Macro recorded 20/06/2007 by TINHOC
'
' Keyboard Shortcut: Ctrl+Shift+S
'
r = 2
stt = 0
trong = 0
Do While trong < 11
  If Cells(r, 2) <> "" Then
    Cells(r, 1) = stt
    stt = stt + 1
    trong = 0
  Else
    Cells(r, 1) = ""
    trong = trong + 1
  End If
  r = r + 1
Loop
End Sub[/COLOR]
[COLOR=black]
Tùy bảng tính của bạn, có thể thay đổi r=2 và trong < 11
Với tập tin Stt.xls, để cập nhật lại STT, bạn bấm phím tắt Ctrl+Shift+S đễ gọi Sub SoThuTu.
 

File đính kèm

Gửi bạn heo amazon:
Giả sử bạn muốn đánh số TT ở cột a từ ô a2, căn cứ vào cột b ở ô b2 trở xuống, bạn viết công thức tại ô a2 và cop xuống như sau :=IF(B2="","",SUBTOTAL(3,$B$2:B2)) bạn sẽ được như ý .
 
"Giả sử bạn muốn đánh số TT ở cột a từ ô a2, căn cứ vào cột b ở ô b2 trở xuống, bạn viết công thức tại ô a2 và cop xuống như sau :=IF(B2="","",SUBTOTAL(3,$B$2:B2)) bạn sẽ được như ý ."

Cách này cũng được, nhưng cũng chưa giải quyết được vấn đề nếu chèn thêm dòng. Khi chèn thêm dòng mà không nhật số liệu vào ô B... thì cột A vẫn đúng. Nhưng nếu nhập số liệu vào ô B... mới chèn thì cột STT sẽ bị đánh số sai từ dòng mới chèn. Vì vậy vẫn phải copy công thức vào ô mới. Thân!
 
Web KT

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

Back
Top Bottom