dùng hàm nào để TRẢ VỀ giá trị lớn nhất của 3 số cuối trong một dãy ký tự?

Liên hệ QC

nqquynhanh

Thành viên mới
Tham gia
26/10/11
Bài viết
12
Được thích
0
em dân mới học nghề xcel, tự nhiên lại bị sếp giao một việc quá sức. Em mong các anh chị giải giúp em yêu cầu này của sếp em. Em cảm ơn trước ạ.

Giấy tờ của em được đánh mã số để lưu và tra cứu, giống như mã số công văn vậy.
Mã số của giấy tờ được ghi theo format: yyyy.text1.text2.###; Trong đó: yyyy = 4 số của năm; sau đó là 2 chuỗi ký tự text không cố định về số lượng chữ cái (mỗi text dao động từ 3 đến 8 chữ cái); cuối cùng là BA CHỮ SỐ.
Dãy 3 chữ số này là số tự nhiên dương, được đánh từ 001 đến 999, theo trình tự từ nhỏ đến lớn. Sau 31/12 hàng năm thì lại được lặp lại từ 001.

Giờ em cần lập một công thức để tìm BA CHỮ SỐ lớn nhất trong số những chữ số đã dùng. Nói cách khác: em cần biết số lớn nhất đang dùng là số nào để biết số tiếp theo cần dùng cho văn bản mới là số nào.

Anh chị giúp em với ạ,
em cảm ơn nhiều,

quỳnh anh
 
em dân mới học nghề xcel, tự nhiên lại bị sếp giao một việc quá sức. Em mong các anh chị giải giúp em yêu cầu này của sếp em. Em cảm ơn trước ạ.

Giấy tờ của em được đánh mã số để lưu và tra cứu, giống như mã số công văn vậy.
Mã số của giấy tờ được ghi theo format: yyyy.text1.text2.###; Trong đó: yyyy = 4 số của năm; sau đó là 2 chuỗi ký tự text không cố định về số lượng chữ cái (mỗi text dao động từ 3 đến 8 chữ cái); cuối cùng là BA CHỮ SỐ.
Dãy 3 chữ số này là số tự nhiên dương, được đánh từ 001 đến 999, theo trình tự từ nhỏ đến lớn. Sau 31/12 hàng năm thì lại được lặp lại từ 001.

Giờ em cần lập một công thức để tìm BA CHỮ SỐ lớn nhất trong số những chữ số đã dùng. Nói cách khác: em cần biết số lớn nhất đang dùng là số nào để biết số tiếp theo cần dùng cho văn bản mới là số nào.

Anh chị giúp em với ạ,
em cảm ơn nhiều,

quỳnh anh
Bạn sử dụng công thức mảng như sau:
Mã:
[B]{=MAX(RIGHT(Vùng,3)*1)}[/B]
Chẳng hạn, danh sách của bạn nằm trên cột A, bắt đầu từ A2. Khi đó số cần dùng cho ô A10 là:
Mã:
[B]{=MAX(RIGHT($A$2:$A9,3)*1)+1}[/B]
Lưu ý: Cặp dấu {} được tạo thành khi bạn gõ tổ hợp phím Ctrl+Shift+Enter chứ không phải bạn nhập từ bàn phím vào.
 
cho em hỏi :tại sao đối số đầu tiên của RIGHT lại có thể là "vùng" được ạ? Nó yêu cầu là 1 ô cơ mà? nếu em nhập 1 vùng là báo lỗi ngay.
Cái mà em loay hoay chính là làm thế nào để đưa được "vùng" vào công thức mảng có hàm MAX và hàm RIGHT!!!!
 
cho em hỏi :tại sao đối số đầu tiên của RIGHT lại có thể là "vùng" được ạ? Nó yêu cầu là 1 ô cơ mà? nếu em nhập 1 vùng là báo lỗi ngay.
Đây là công thức mảng, cho phép sử dụng một vùng trong các hàm xử lý chuỗi.
Lưu ý: Sau khi gõ =MAX(RIGHT(Vùng,3)*1), bạn phải kết thúc bằng tổ hợp phím Ctrl+Shift+Enter chứ không phải là Enter.
 
Đây là công thức mảng, cho phép sử dụng một vùng trong các hàm xử lý chuỗi.
Lưu ý: Sau khi gõ =MAX(RIGHT(Vùng,3)*1), bạn phải kết thúc bằng tổ hợp phím Ctrl+Shift+Enter chứ không phải là Enter.

Em đã copy chính công thức này vào file của em (đặt địa chỉ vùng chính xác), rồi gõ tổ hợp Ctr + Shift + Enter mà vẫn ra kết quả là #VALUE!
 
Em đã copy chính công thức này vào file của em (đặt địa chỉ vùng chính xác), rồi gõ tổ hợp Ctr + Shift + Enter mà vẫn ra kết quả là #VALUE!
Như vậy có khả năng trong dữ liệu nguồn của bạn có dư khoảng trắng ở cuối chuỗi.
Bây giờ tốt nhất là bạn đưa file dữ liệu thực tế của bạn lên đây để có lời giải sớm nhất.
 
Em đã copy chính công thức này vào file của em (đặt địa chỉ vùng chính xác), rồi gõ tổ hợp Ctr + Shift + Enter mà vẫn ra kết quả là #VALUE!
Sau khi copy/paste công thức xong, đúng bấm Ctrl + Shift + Enter vội ---> Hãy bấm F2 (để chuyển sang chế độ Edit), xong rồi mới bấm Ctrl + Shift + Enter
Thử xem
 
Như vậy có khả năng trong dữ liệu nguồn của bạn có dư khoảng trắng ở cuối chuỗi.
Bây giờ tốt nhất là bạn đưa file dữ liệu thực tế của bạn lên đây để có lời giải sớm nhất.

Vâng, em nhờ anh xem giúp. Công thức nằm ở ô b4 ạ
 

File đính kèm

  • Appendix 26 Doclist.xlsx
    37.2 KB · Đọc: 28

File đính kèm

  • LuXuBu.rar
    29.8 KB · Đọc: 47
Lần chỉnh sửa cuối:
Dữ liệu thật chẳng giống như mô tả trong bài #1 bên trên, kết quả "trớt quớt" là phải rồi.
Thử với công thức "Luxubu" này xem.

Em cảm ơn bác Ba Tê nhiều :)

Em đang ngâm cứu cái hàm ISNUMBER mà bác chèn vào công thức: tại sao phải xác định 3 số cuối có phải là số hay không? Nếu muốn, có thể dùng MAXA thay vì MAx và ISNUMBER phải k aj? (tuy nhiên, em đã thử dùng MAXA mà không được! tại sao vậy).

Cho em hỏi thêm: nếu muốn xác định chuỗi 3 SỐ CUỐI nào đó có bị trùng lặp (bị dùng nhiều hơn 1 lần) hay không thì có được không ạ? Nói các khác, giả sử có 2 dãy code cùng có 3 số cuối là 019 thì có cách nào phát hiện ra không? Em đã search trên Google mà chưa thấy thông tin nào nói đến (hoặc do em không biết tìm KEYWORD để search!).
 
Lần chỉnh sửa cuối:
Em cảm ơn bác Ba Tê nhiều :)

Em đang ngâm cứu cái hàm ISNUMBER mà bác chèn vào công thức: tại sao phải xác định 3 số cuối có phải là số hay không? Nếu muốn, có thể dùng MAXA thay vì MAx và ISNUMBER phải k aj? (tuy nhiên, em đã thử dùng MAXA mà không được! tại sao vậy).

Cho em hỏi thêm: nếu muốn xác định chuỗi 3 SỐ CUỐI nào đó có bị trùng lặp (bị dùng nhiều hơn 1 lần) hay không thì có được không ạ? Nói các khác, giả sử có 2 dãy code cùng có 3 số cuối là 019 thì có cách nào phát hiện ra không? Em đã search trên Google mà chưa thấy thông tin nào nói đến (hoặc do em không biết tìm KEYWORD để search!).
Phát hiện bằng cách tô màu được không? Những ô trong cột A có tô màu là bị trùng 3 ký tự cuối.
 

File đính kèm

  • LuXuBu2.rar
    29.9 KB · Đọc: 8
Phát hiện bằng cách tô màu được không? Những ô trong cột A có tô màu là bị trùng 3 ký tự cuối.

Nói thật là em quá ngạc nhiên! Làm thế nào mà bác khiến các ô tự động tô màu khi trùng số vậy? Bác thật là kỳ diệu! Bác bày cho em được không?
Em cũng muốn làm thử trên file chính thức của em (vì file mà em gửi lên diễn đàn chỉ mang tính mô phỏng thôi). có phải cái này k bác: http://www.giaiphapexcel.com/forum/showthread.php?24951-Cell-đổi-màu-tự-động-khi-dữ-liệu-được-nhập-ở-một-cell-khác-trong-Excel-2007.


Ngoài ra, bác còn cách nào khác thì gợi ý cho em với ạ. Nếu tô màu thì chưa khả thi lắm vì cột A của em chắc chắn sẽ là một cột rất dài (nhiều trăm ô). Em hi vọng có thể có một công thức đưa lên ô B5 để theo dõi việc trùng dữ liệu.

em cảm ơn bác nhiều,

qa
 
Lần chỉnh sửa cuối:
Phát hiện bằng cách tô màu được không? Những ô trong cột A có tô màu là bị trùng 3 ký tự cuối.
Bác Ba tê ơi, em xem file bác làm "tô màu những ô có 3 số cuối trùng nhau" mà không thấy fomular gì cả. Em đã ngâm cứu cách format có điều kiện rồi nhưng vẫn chưa làm được. Bác hướng dẫn chi tiết cho em được không?

Em dùng xcel 2010 bác ạ, chưa thuần thục với version mới nên mong bác hướng dẫn từng bước từng bước
-\\/.
qa
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom