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

havietchuong

Thành viên tiêu biểu
Tham gia ngày
16 Tháng sáu 2009
Bài viết
490
Được thích
568
Điểm
835
Nơi ở
An Giang
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

ChanhTQ@

0901452không62
Tham gia ngày
5 Tháng chín 2008
Bài viết
4,261
Được thích
4,938
Điểm
100
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
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,363
Được thích
52,878
Điểm
11,910
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

havietchuong

Thành viên tiêu biểu
Tham gia ngày
16 Tháng sáu 2009
Bài viết
490
Được thích
568
Điểm
835
Nơi ở
An Giang
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.
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,363
Được thích
52,878
Điểm
11,910
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
 

boyxin

Members actively
Tham gia ngày
10 Tháng ba 2008
Bài viết
1,663
Được thích
2,318
Điểm
860
Nơi ở
Hải Dương
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

havietchuong

Thành viên tiêu biểu
Tham gia ngày
16 Tháng sáu 2009
Bài viết
490
Được thích
568
Điểm
835
Nơi ở
An Giang
Đạ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.
 

lanhchanhdieu

Thành viên mới
Tham gia ngày
19 Tháng năm 2011
Bài viết
6
Được thích
0
Điểm
0
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

Lần chỉnh sửa cuối:

vodoi2x

Nothing & Nothing
Tham gia ngày
16 Tháng năm 2011
Bài viết
1,592
Được thích
1,656
Điểm
560
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,....
 

lanhchanhdieu

Thành viên mới
Tham gia ngày
19 Tháng năm 2011
Bài viết
6
Được thích
0
Điểm
0
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
 

bebo021999

Thành viên gạo cội
Tham gia ngày
26 Tháng một 2011
Bài viết
3,621
Được thích
5,713
Điểm
560
Nơi ở
TPHCM, Gò Vấp
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
 

Ba Tê

Gội Rồi Mới Cạo
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,487
Được thích
16,395
Điểm
1,860
Tuổi
61
Nơi ở
An Giang

File đính kèm

thaidung247

Thành viên mới
Tham gia ngày
26 Tháng một 2019
Bài viết
9
Được thích
0
Điểm
13
Tuổi
25
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

tam888

Thành viên tích cực
Tham gia ngày
22 Tháng tám 2013
Bài viết
840
Được thích
503
Điểm
560
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
 

Ba Tê

Gội Rồi Mới Cạo
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,487
Được thích
16,395
Điểm
1,860
Tuổi
61
Nơi ở
An Giang

thaidung247

Thành viên mới
Tham gia ngày
26 Tháng một 2019
Bài viết
9
Được thích
0
Điểm
13
Tuổi
25
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.
 

thaidung247

Thành viên mới
Tham gia ngày
26 Tháng một 2019
Bài viết
9
Được thích
0
Điểm
13
Tuổi
25

File đính kèm

Top Bottom