Dùng hàm Max trong 1 range mà dữ liệu là text & số

Liên hệ QC

nguyenltx

Thành viên mới
Tham gia
20/7/16
Bài viết
31
Được thích
11
Kính chào các bác:
Em đang gặp 1 trường hợp cần phải nhảy bộ mã theo thứ tự tăng dần khi thỏa điều kiện A. Vấn đề là bộ mã nó có dạng ES1001 là vừa chữ vừa số. Tức là kết quả nó sẽ ra là ES1001, ES1002, ES1003...khi thỏa đk A. Cách giải quyết theo truyền thống là em tạo 1 cột phụ rồi ô đầu tiên thì Value+right để tách số ra. Từ ô thứ 2 trở xuống thì em dùng MAX($D$2: D2)+1 để tăng dần số rồi mới dùng cột nối để thêm "ES" vào. Tuy nhiên em muốn hỏi thăm còn cách nào tiện hơn, gọn hơn và không phải dùng cột phụ để đơn giản hóa file hay không. Nhờ các bác chỉ giáo.
Em cám ơn.
 

File đính kèm

  • GIAIPHAPEXCEL4.xlsx
    9.6 KB · Đọc: 11
Kính chào các bác:
Em đang gặp 1 trường hợp cần phải nhảy bộ mã theo thứ tự tăng dần khi thỏa điều kiện A. Vấn đề là bộ mã nó có dạng ES1001 là vừa chữ vừa số. Tức là kết quả nó sẽ ra là ES1001, ES1002, ES1003...khi thỏa đk A. Cách giải quyết theo truyền thống là em tạo 1 cột phụ rồi ô đầu tiên thì Value+right để tách số ra. Từ ô thứ 2 trở xuống thì em dùng MAX($D$2: D2)+1 để tăng dần số rồi mới dùng cột nối để thêm "ES" vào. Tuy nhiên em muốn hỏi thăm còn cách nào tiện hơn, gọn hơn và không phải dùng cột phụ để đơn giản hóa file hay không. Nhờ các bác chỉ giáo.
Em cám ơn.
Tại ô C3 bạn nhập công thức sau rồi fill xuống nha:
Mã:
=IF(B3="A";1001+COUNTIF($C$2:C2;"ES*");"")

1596524423893.png

Bạn xem file đính kèm.
 

File đính kèm

  • GIAIPHAPEXCEL4.xlsx
    9 KB · Đọc: 2
Sorry nhầm đọc không kỹ.
 
Sao chủ thớt không làm luôn cho B,C,D để chạy luôn cho đã
 
Cám ơn các bác em đã hiểu cách làm. Tuy nhiên thực ra đề nó vốn phức tạp hơn là A gồm A1, A2, A3... và với mỗi A cùng loại thì Mã như nhau. Do đó nên em mới nghĩ tới chuyện phải Max chứ không Countif được. Em gửi lại file nhờ các bác xem tiếp ạ.

1596529866409.png
 

File đính kèm

  • GIAIPHAPEXCEL4 V2.xlsx
    10.1 KB · Đọc: 6
Tuy nhiên thực ra đề nó vốn phức tạp hơn là A gồm A1, A2, A3... và với mỗi A cùng loại thì Mã như nhau. Do đó nên em mới nghĩ tới chuyện phải Max chứ không Countif được. Em gửi lại file nhờ các bác xem tiếp ạ.
Bạn đưa file giống thật lên thì sẽ khỏi "tuy nhiên", Max của bạn không chắc giải quyết được vấn đề sao cứ một mực Max.
Dữ liệu "ảo" như vậy thì cứ thay "A" bằng "ES", số phía sau thì cộng thêm 1000.
 
Theo kinh nghiệm cá nhân thì A có mà B,C,D chẳng lẽ không có bộ mã tương ứng với nó?
Làm luôn khỏi mắc công hỏi.
 
Theo kinh nghiệm cá nhân thì A có mà B,C,D chẳng lẽ không có bộ mã tương ứng với nó?
Làm luôn khỏi mắc công hỏi.
Em xin cá là thớt muốn đánh cả số thứ tự cho B,C,D nữa ạ. Chẳng qua đưa ít 1 cho các thành viên giải trí thôi mà. Đợi khi nào bạn ấy đăng tất cả yêu cầu lên rồi viết công thức 1 thể anh ạ.
 
Cám ơn các bác em đã hiểu cách làm. Tuy nhiên thực ra đề nó vốn phức tạp hơn là A gồm A1, A2, A3... và với mỗi A cùng loại thì Mã như nhau. Do đó nên em mới nghĩ tới chuyện phải Max chứ không Countif được. Em gửi lại file nhờ các bác xem tiếp ạ.

View attachment 242358
Bạn chắc chưa? Chắc là như file và hình bạn minh họa hén! (Mình không hiểu tại sao lần yêu cầu này nó quay ngoắc 180 độ so với lần đầu)
Ok, bạn điền công thức sau tại ô C2 xong fill xuống tuốt dưới nhen:
Mã:
=IF(LEFT(B2;1)="A";"ES100"&RIGHT(B2;LEN(B2)-1);"")
Mình có đính kèm file luôn, bạn down về xem nhé!
1596530970627.png
 

File đính kèm

  • GIAIPHAPEXCEL4 V2.xlsx
    10.2 KB · Đọc: 5
Bạn chắc chưa? Chắc là như file và hình bạn minh họa hén! (Mình không hiểu tại sao lần yêu cầu này nó quay ngoắc 180 độ so với lần đầu)
Ok, bạn điền công thức sau tại ô C2 xong fill xuống tuốt dưới nhen:
Mã:
=IF(LEFT(B2;1)="A";"ES100"&RIGHT(B2;LEN(B2)-1);"")
Mình có đính kèm file luôn, bạn down về xem nhé!
View attachment 242360
Là tôi ko cần công thức luôn. Ctr + H thay chữ A = ES100.
@nguyenltx. Gửi bạn : Bạn gửi dữ liệu thật lên, tôi ko nghĩ nó là chữ cái A, B, C và cũng ko nghĩ là dữ liệu thật của bạn giống như bạn mô tả đâu
 
Biết dữ liệu thực có phải là A1...An hay không hả xương rồng? Chưa kể A10 thành ES10010 thì hơi ngộ
 
Biết dữ liệu thực có phải là A1...An hay không hả xương rồng? Chưa kể A10 thành ES10010 thì hơi ngộ
Ờ há, em quên tính tới 10, 100, hihi.
"Thực ra" em cũng đang dọ ý thớt, híc.

@bebo021999 : Em sửa vầy được luôn nè, công nhận Excel thông minh ghê. :D
Mã:
=IF(LEFT(B2;1)="A";"ES"&1000+RIGHT(B2;LEN(B2)-1);"")
1596531847018.png
 
Lần chỉnh sửa cuối:
Em xin trả lời tất cả các bác thắc mắc là em không quan tâm B,C,D,E... gì đâu ạ vì em đã nói từ đầu là mã số chỉ nhảy trên loại A. Nên tất cả các loại khác = "".
Lý do vì sao em không đưa rõ lên từ đầu là em hơi cố chấp đoạn max nên cứ nghĩ hỏi mỗi chỗ đó là ổn. Bây giờ thì thông rồi, nên bác xuongrong bỏ qua giúp em.
@n0thing1988: em không rõ sao bác cứ nhất thiết bảo phải đưa dữ liệu thật lên vì kiểu nó cũng như này thôi ạ.
@xuongrongdat: Cám ơn bác nhưng dữ liệu thật đúng cấu trúc kiểu này, nhưng loại sp nó sẽ là A1324, A1238, Axxxx chứ không phải chỉ A1, A2, A3, còn mã số nó không chỉ là ES1001 mà sẽ là ES187264017 (1 số 9 chữ số kèm ES đứng đầu). Mã số đầu tiên ES187264017 sẽ ứng với sp đầu tiên là A1324, mã số thứ 2 sẽ là ES187264017 + 1 = ES187264018 ứng với sp thứ 2 là A1238.
Mở rộng 1 trường hợp nữa là bình thường thì các dòng Axxx nếu có trùng nhau thì sẽ dính nhau như ví dụ em đưa. Nhưng em sợ người khác táy máy sort thì cột đó sẽ thành A1, A2, , A1,..., A4, A5 thì lại sai đi. Vì trường hợp này gần như khó xảy ra nên em chưa nêu trong bài. Bác có thể bỏ qua vụ này cũng được nhưng em cũng muốn nghĩ xa hơn tí.

@All: VÌ em nghĩ đưa file đơn giản cho các bác dễ hiểu nên nếu có ai hiểu lầm ý, giải cũng đơn giản thì em xin lỗi, mong các bỏ qua, lần sau em rút kinh nghiệm đưa thông tin đầy đủ.
Thân
 
@nguyenltx : ok bạn. Vậy bạn đã giải quyết được bài toán cho riêng bạn chưa?
 
Web KT
Back
Top Bottom