Dùng hàm Max trong 1 range mà dữ liệu là text & số (1 người xem)

Liên hệ QC

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

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

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

Sorry nhầm đọc không kỹ.
 
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

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

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?
 
1- 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 ạ.
2- 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
Hai ý 1) và 2) dẫn bài toán đến 1 chân trời hoàn toàn mới nhé.
Khởi động cho 1 ngày mới đi thôi.
Dù sao thì vẫn chờ file mới với dữ liệu thật.
 
Hai ý 1) và 2) dẫn bài toán đến 1 chân trời hoàn toàn mới nhé.
Khởi động cho 1 ngày mới đi thôi.
Dù sao thì vẫn chờ file mới với dữ liệu thật.
Cũng đâu đến nỗi hoàn toàn mới đâu anh. Em nghĩ qua thảo luận từ đầu Topic tới giờ, bạn thớt đã giải được bài toán của mình rồi đó chứ.

@nguyenltx : nhỉ?!
 
Hai ý 1) và 2) dẫn bài toán đến 1 chân trời hoàn toàn mới nhé.
Khởi động cho 1 ngày mới đi thôi.
Dù sao thì vẫn chờ file mới với dữ liệu thật.
Em xin gửi file theo dữ liệu thật nếu bác muốn, dữ liệu này em đang xử lý hiện tại. Còn đống mã Axxx là hôm qua em làm.
 

File đính kèm

Em xin gửi file theo dữ liệu thật nếu bác muốn, dữ liệu này em đang xử lý hiện tại. Còn đống mã Axxx là hôm qua em làm.
Thật ra việc gửi file thực tế là quyền cá nhân mỗi người. Các anh, các bác ghẹo bạn đấy.
Mình muốn biết là hiện tại bạn đã giải quyết được cái "vấn đề" bạn gặp phải hay chưa? Sao mình hỏi bạn 2 lần rồi mà bạn không trả lời! :)
 
Thật ra việc gửi file thực tế là quyền cá nhân mỗi người. Các anh, các bác ghẹo bạn đấy.
Mình muốn biết là hiện tại bạn đã giải quyết được cái "vấn đề" bạn gặp phải hay chưa? Sao mình hỏi bạn 2 lần rồi mà bạn không trả lời! :)
Vẫn chưa nghĩ ra nên mới gửi lại file thật đấy bác ạ. Chứ giải quyết được thì đã reply cám ơn rồi :p
 
Vẫn chưa nghĩ ra nên mới gửi lại file thật đấy bác ạ. Chứ giải quyết được thì đã reply cám ơn rồi :p
Mèn đét ơi! Vậy bạn gom ý lại thành cái mong muốn của bạn đi. Tui đọc tâm thư bạn gửi tui mà nghe sao nó rối rối. Bạn cô đọng, súc tích lại giúp:

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í.
 
Mèn đét ơi! Vậy bạn gom ý lại thành cái mong muốn của bạn đi. Tui đọc tâm thư bạn gửi tui mà nghe sao nó rối rối. Bạn cô đọng, súc tích lại giúp:

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í.
trong file ở post #23 đã chính xác cái em cần giải rồi đó bác, bác xem hộ em. Còn trường hợp mở rộng thì e nghĩ xa tí thôi, không quan trọng.
 
trong file ở post #23 đã chính xác cái em cần giải rồi đó bác, bác xem hộ em. Còn trường hợp mở rộng thì e nghĩ xa tí thôi, không quan trọng.
Đúng là ... hơi 1 trời 1 vực thiệt, hiiiiii. OK, đợi tí, hông biết mình giải được không nữa. Còn đối với mấy anh mà cắc cớ bạn ở trên thì bài này dễ ẹc đối với mấy ảnh á. :D

10 phút sau: chưa giải ra luôn :(

30 phút sau: chưa ra nữa, về với gia đình đây. Bạn chờ các anh, các bác vào giúp bạn nhé !
 
Lần chỉnh sửa cuối:

File đính kèm

Dạ em cũng giải y như vậy đó bác. Chỉ là người ta bảo làm sao không cần cột phụ nên em mới đau đầu lên đây xin ý kiến cao nhân.
Không cột phụ, dùng hàm mảng, nối chuỗi ... quá lu bu.
Vậy thì bảo người ta không cần công thức, cột phụ gì cả, chỉ cần click chuột thôi.
 

File đính kèm

Nếu áp dụng cho các mã bắt đầu là "VAG"
Giá trị số bắt đầu là 71023505418
Tại C2:
Mã:
=IF(LEFT(B2,3)="VAG","ES"&71023505417+SUM(IFERROR(1/COUNTIFS($B$2:B2,$B$2:B2,$B$2:B2,"VAG*"),0)),"")
Công thức mảng nên kết thúc bằng Ctrl-shift-enter, thay vì Enter
 

File đính kèm

Nếu áp dụng cho các mã bắt đầu là "VAG"
Giá trị số bắt đầu là 71023505418
Tại C2:
Mã:
=IF(LEFT(B2,3)="VAG","ES"&71023505417+SUM(IFERROR(1/COUNTIFS($B$2:B2,$B$2:B2,$B$2:B2,"VAG*"),0)),"")
Công thức mảng nên kết thúc bằng Ctrl-shift-enter, thay vì Enter
Em đã hiểu cách giải. Đây đúng là cái em đang tìm. Cám ơn bác :good:
 

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

Back
Top Bottom