Sử dụng hàm để điền số thứ tự có dữ liệu trùng nhau.

Liên hệ QC

havietchuong

Thành viên tiêu biểu
Tham gia
16/6/09
Bài viết
490
Được thích
570
Giới tính
Nam
Nghề nghiệp
Giáo viên tiểu học.
Tôi đang thực hiện việc đánh số thứ tự trên bảng có nhiều dữ liệu trùng nhau nhưng không phải điền những số liền nhau cho dữ liệu bị trùng (như cũ). Yêu cầu ghi từ số mấy đến số mấy (theo yêu cầu của cột màu xanh trong tập tin đính kèm). Sau này, tôi sẽ cắt bỏ những hàng có dữ liệu (tên sách) là như trên
Nhờ các bạn giúp đỡ.
Cám ơn.
 

File đính kèm

  • Dien_Stt.xls
    18.5 KB · Đọc: 804
Mình chỉ viết được macro trong trường hợp này thôi,. . .

PHP:
Option Explicit

Sub DienSTT()
 Dim Rng As Range, Cls As Range
 Dim Lap As Long, eRw As Long
 Const NT As String = "nt"
 
 On Error Resume Next
 eRw = [B65500].End(xlUp).Row + 1
 For Each Cls In Range("B2:B" & eRw)
   If Left(Cls.Offset(, 2), 2) <> NT Then
      Cls.Offset(, -1) = Cls.Value
      Cls.Offset(, -1).Interior.ColorIndex = 35
      If Cls.Offset(-1, 2) = NT Then
         Rng.Value = Rng.Value & "-" & Cls.Offset(-1).Value
         Rng.Interior.ColorIndex = 38
         Set Rng = Nothing
      ElseIf Cls.Offset(1, 2).Value = NT Then
         Set Rng = Cls.Offset(, -1)
      End If
   End If
 Next Cls
End Sub
 
Tôi đang thực hiện việc đánh số thứ tự trên bảng có nhiều dữ liệu trùng nhau nhưng không phải điền những số liền nhau cho dữ liệu bị trùng (như cũ). Yêu cầu ghi từ số mấy đến số mấy (theo yêu cầu của cột màu xanh trong tập tin đính kèm). Sau này, tôi sẽ cắt bỏ những hàng có dữ liệu (tên sách) là như trên
Nhờ các bạn giúp đỡ.
Cám ơn.
Thử làm bài này với 1 cột phụ
- Công thức tại E2
PHP:
=IF($D2="nt",0,COUNTIF($D2:$D$26,"nt")-SUM($E3:$E$27))
kéo fill xuống
- Công thức tại A2
PHP:
=IF($D2="nt","",IF($E2=0,ROWS($1:1),ROWS($1:1)&"-"&ROWS($1:1)+$E2))
 

File đính kèm

  • Dien_Stt.xls
    20.5 KB · Đọc: 824
Cám ơn ndu rất nhiều. Tôi đã làm xong, tuy nhiên có những điều chưa hiểu và đôi khi không như ý muốn.
1-.Trường hợp các cột không đúng vị trí như bảng mẫu.
2-.Tôi không hiểu ở chỗ SUM(E$3:$E$27) trong
=IF($D2="nt",0,COUNTIF($D2:$D$26,"nt")-SUM($E3:$E$27))
vì khi tại E2 thì ($E3:$E$27) đều là trống thì SUM của nó vẫn là 0.
Nhờ bạn có thể nói rõ thêm hơn. Cám ơn nhiều.
 
Cám ơn ndu rất nhiều. Tôi đã làm xong, tuy nhiên có những điều chưa hiểu và đôi khi không như ý muốn.
1-.Trường hợp các cột không đúng vị trí như bảng mẫu.
2-.Tôi không hiểu ở chỗ SUM(E$3:$E$27) trong
=IF($D2="nt",0,COUNTIF($D2:$D$26,"nt")-SUM($E3:$E$27))
vì khi tại E2 thì ($E3:$E$27) đều là trống thì SUM của nó vẫn là 0.
Nhờ bạn có thể nói rõ thêm hơn. Cám ơn nhiều.
Đại khái là: Đếm nếu ra kết quả thì phải loại bỏ hết những kết quả đã đếm trước đó! Thế thôi!
Để hiểu rõ công thức này, bạn phải nhập công thức đầu tiên tại E26, xong kéo fill ngược lên trên ---> Tức kết quả ở trên có được là nhờ tính toán ở dưới mà ra
 
Tôi đang thực hiện việc đánh số thứ tự trên bảng có nhiều dữ liệu trùng nhau nhưng không phải điền những số liền nhau cho dữ liệu bị trùng (như cũ). Yêu cầu ghi từ số mấy đến số mấy (theo yêu cầu của cột màu xanh trong tập tin đính kèm). Sau này, tôi sẽ cắt bỏ những hàng có dữ liệu (tên sách) là như trên
Nhờ các bạn giúp đỡ.
Cám ơn.

Nếu muốn xóa dòng tên sách "nt" rồi đánh số lại như vậy
Thì có thể làm như thế này được không? (xem file đính kèm)
 

File đính kèm

  • Copy of Dien_Stt.xls
    33 KB · Đọc: 265
Đại khái là: Đếm nếu ra kết quả thì phải loại bỏ hết những kết quả đã đếm trước đó! Thế thôi!
Để hiểu rõ công thức này, bạn phải nhập công thức đầu tiên tại E26, xong kéo fill ngược lên trên ---> Tức kết quả ở trên có được là nhờ tính toán ở dưới mà ra

Cám ơn bạn. Từ trước đến giờ tôi chưa nghĩ ra việc ghi công thức trước rồi nhận các giá trị sau. Tôi đã hiểu ra, khi ở E2 thì (E3:E27) vẫn còn trống nhưng khi đã kéo xuống thì lúc ấy nó đã có giá trị hẳn hoi. Công thức sẽ tính được bằng giá trị lúc bấy giờ.
Tài lắm.
 
Xin chào,

Em là người mới mong mọi người giúp đỡ
Em có 1 file đính kèm muốn đánh số thứ tự sao cho tên khách hàng giống nhau sẽ là 1 số thứ tự, nhưng làm hoài không ra hichichic. Xin cam ơn
 

File đính kèm

  • danh so thu tu.xls
    21 KB · Đọc: 347
Lần chỉnh sửa cuối:
Xin chào,

Em là người mới mong mọi người giúp đỡ
Em có 1 file đính kèm muốn đánh số thứ tự sao cho tên khách hàng giống nhau sẽ là 1 số thứ tự, nhưng làm hoài không ra hichichic. Xin cam ơn

giống nhau và liền nhau như thế, bạn có thể dùng công thức sau cho A4

PHP:
=IF(C4=C3,A3,A3+1)

copy xuống cho các A5,A6,....
 
giống nhau và liền nhau như thế, bạn có thể dùng công thức sau cho A4

PHP:
=IF(C4=C3,A3,A3+1)
copy xuống cho các A5,A6,....

cách này thì em đã làm rồi nhưng không thỏa đáng vì nếu nhập 1 khách hàng trùng với khách hàng cũ phía trên thì nó đếm không đúng. Có cách nào tối ưu hơn không ạ? Xin cám ơn
 
cách này thì em đã làm rồi nhưng không thỏa đáng vì nếu nhập 1 khách hàng trùng với khách hàng cũ phía trên thì nó đếm không đúng. Có cách nào tối ưu hơn không ạ? Xin cám ơn
Tìm ô trùng phía trên, nếu có thì không đếm:
Tại ô A5:
Mã:
=IF(COUNTIF($C$4:C4,C5)>=1,"",MAX($A$3:A4)+1)
Copy xuống là OK
 

File đính kèm

  • GPE_STT.rar
    5.6 KB · Đọc: 1,152
Chào các anh chị, em có 1 file cần đánh số thứ tự như thế này:
STT HỌ VÀ TÊN SỐ TIỀN TÍNH TỔNG SỐ TIỀN
1 Nguyễn Văn A 5000 5.000
2 Nguyễn Văn B 5000 12.000
Nguyễn Văn B 7000
3 Nguyễn Văn C 100000 10,000
......

Em thử nhiều cách nhưng không tính ra được, rất mong các anh, chị giúp đỡ ạ. Em cảm ơn rất nhiều!!!!!
 

File đính kèm

  • đánh số thứ tự.xlsx
    9.4 KB · Đọc: 90
Chào các anh chị, em có 1 file cần đánh số thứ tự như thế này:
STT HỌ VÀ TÊN SỐ TIỀN TÍNH TỔNG SỐ TIỀN
1 Nguyễn Văn A 5000 5.000
2 Nguyễn Văn B 5000 12.000
Nguyễn Văn B 7000
3 Nguyễn Văn C 100000 10,000
......

Em thử nhiều cách nhưng không tính ra được, rất mong các anh, chị giúp đỡ ạ. Em cảm ơn rất nhiều!!!!!
Không đọc các bài trên ah, đọc lại tự áp dụng xem sao
 
Bạn thử nhiều cách nhưng có lẽ chưa thử cách này:
PHP:
A2=IF(COUNTIF($B$1:B1;B2);"";MAX($A$1:A1)+1)
Copy xuống.
cảm ơn Ba Tê rất nhiều!!!! Xin hỏi thêm là có cách nào để tính tổng số tiền tương ứng cho một người ko?
Bạn thử nhiều cách nhưng có lẽ chưa thử cách này:
PHP:
A2=IF(COUNTIF($B$1:B1;B2);"";MAX($A$1:A1)+1)
Copy xuống.
 
Web KT
Back
Top Bottom