mozjesse, Tôi thích giải pháp của Barry (trong ảnh chụp màn hình dưới đây, các mục in đậm).bold). Nhưng, một cách khác:
Sheet1 01019000 - LOS DEMS 10 A Vui lòng kiểm tra điều này đầu tiên trong một bản sao của sổ làm việc của bạn (luôn tạo bản sao lưu trước khi thử mã mới, bạn không bao giờ biết những gì bạn có thể mất). Nhấn và giữ phím 'Alt' và nhấn phím 'F11'. Chèn một mô -đun vào VBAPROVECT của bạn, Microsoft Excel đối tượng Sao chép mã dưới đây và dán nó vào mô -đun1.
Mã số: Để sử dụng hàm "GET_WORD", tôi đã đếm số lượng khoảng trống trong chuỗi với: = Len (A1) -Len (thay thế (A1, "", "")) Công thức/hàm trong ô B1 (đã sao chép xuống) (để có từ thứ hai đến từ cuối cùng): = get_word (a1, len (a1) -len (thay thế (a1, "", ""))) ExplanationỞ lõi, công thức này sử dụng hàm giữa để trích xuất các ký tự bắt đầu từ không gian thứ hai đến cuối cùng. Hàm mid có 3 đối số: văn bản để làm việc, vị trí bắt đầu và số lượng ký tự để trích xuất. Văn bản đến từ cột B và số lượng ký tự có thể là bất kỳ số lượng lớn nào sẽ đảm bảo hai từ cuối được trích xuất. Thách thức là xác định vị trí bắt đầu, chỉ sau không gian thứ hai đến cuối cùng. Công việc thông minh được thực hiện chủ yếu với hàm thay thế, có một đối số tùy chọn gọi là số phiên bản. Tính năng này được sử dụng để thay thế không gian thứ hai đến cuối cùng trong văn bản bằng ký tự "@", sau đó được đặt với hàm tìm. Làm việc từ trong ra ngoài, đoạn trích bên dưới tìm ra tổng số không gian trong tổng số văn bản, từ đó 1 được trừ đi.
Trong ví dụ được hiển thị, có 5 khoảng trắng trong văn bản, vì vậy mã trên trả về 4. Số này được đưa vào hàm thay thế bên ngoài dưới dạng số ví dụ:
Điều này khiến thay thế để thay thế ký tự không gian thứ tư bằng "@". Sự lựa chọn của @ là tùy ý. Bạn có thể sử dụng bất kỳ ký tự nào sẽ không xuất hiện trong văn bản gốc. Tiếp theo, tìm vị trí ký tự "@" trong văn bản:
Kết quả của tìm thấy là 17, trong đó 1 được thêm vào để có được 18. Đây là vị trí bắt đầu và đi vào hàm giữa làm đối số thứ hai. Để đơn giản, số lượng ký tự để trích xuất được mã hóa cứng là 100. Số này tùy ý và có thể được điều chỉnh để phù hợp với tình huống. Trích xuất n từ cuối cùng từ ôCông thức này có thể được khái quát hóa để trích xuất các từ N cuối cùng từ một ô bằng cách thay thế 1 mã hóa trong ví dụ bằng (N-1). Ngoài ra, nếu bạn đang trích xuất nhiều từ, bạn có thể muốn thay thế đối số được mã hóa cứng vào giữa, 100, với số lượng lớn hơn. Để đảm bảo cho bạn số đủ lớn, bạn có thể chỉ cần sử dụng chức năng LEN như sau:
|