Cách Vlookup hoặc cách lấy thông tin dữ liệu có dấu mũ lũy thừa? (1 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

nguyenphuochien166

Thành viên mới
Tham gia
16/11/24
Bài viết
6
Được thích
0
Chào anh chị, tình hình là tôi đang gặp trường hợp data có dấu mũ lũy thừa, khi lấy bằng công thức như vlookup thì kết quả đưa về bị mất dấu lũy thừa, anh chị có kinh nghiệm có cách nào hỗ trợ tôi với. Cám ơn mọi người rất nhiều ạ.
 
Chào anh chị, tình hình là tôi đang gặp trường hợp data có dấu mũ lũy thừa, khi lấy bằng công thức như vlookup thì kết quả đưa về bị mất dấu lũy thừa, anh chị có kinh nghiệm có cách nào hỗ trợ tôi với. Cám ơn mọi người rất nhiều ạ.
bạn đưa file mô phỏng lên nhé
 
Tôi gửi file ví dụ ạ, sử dụng hàm vlookup, dget hay các hàm khác để lấy data thì dấu mũ bị đưa về dạng số thường hết. Nhờ mọi người hỗ trợ giúp. Cám ơn ạ
 

File đính kèm

Các chỉ số trên và dưới trong chuỗi của bạn được thực hiện bằng cách bôi đen sau đó vào format cell chọn superscript hoặc supscript
Vì vậy đây là copy "giá trị và format của ký tự", trong khi công thức VLOOKUP chỉ copy "giá trị" mà thôi.
Vì vậy, chỉ có cách dùng VBA. Có nhiều cách tiếp cận khi viết code:
1- Kiểm tra từng ký tự trong textstring, tìm ra chuỗi ký tự nào được format dạng superscript hay subscript, lưu lại vị trí và độ dài.
Sau khi vlookup gá trị xong, viết code để format giá trị đã tìm thấy theo đúng vị trí tại chuỗi nguồn
2- Đơn giản hơn là dùng lệnh copy/paste để copy chuỗi nguồn sang vị trí lookup
Mình làm cho bạn code theo cách 2.
Code này đặt trong sheet "thong tin", sẽ kích hoạt mỗi khi có giá trị cập nhật tại cột B, từ dòng 5. Vì vậy tại dòng đầu tiên, ví dụ B5, bạn nhập ký tự bất kỳ, kết quả sẽ tự động hiển thị. Từ B6 xuống dưới làm tương tự cho từng ô, hoặc copy ô B5 kéo xuống hàng loạt dòng nếu muốn copy hàng loạt.
CHuột phải trên tên sheet, View Code, sau đó copy/paste đoạn code này vào:
Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim f, code, ce As Range
If Target.Column <> 2 Or Target.Row < 5 Then Exit Sub
For Each ce In Target
    code = ce.Offset(0, -1).Value
    If ce <> "" Then
        Set f = Sheets("Data").Columns(1).Find(code)
        If Not f Is Nothing Then
            Application.EnableEvents = False
            f.Offset(0, 5).Copy ce
            Application.EnableEvents = True
        End If
    End If
    ce.Font.Color = vbBlack' bỏ dòng này nếu muốn giữ nguyên màu text 
Next
End Sub
 

File đính kèm

Chào anh chị, tình hình là tôi đang gặp trường hợp data có dấu mũ lũy thừa, khi lấy bằng công thức như vlookup thì kết quả đưa về bị mất dấu lũy thừa, anh chị có kinh nghiệm có cách nào hỗ trợ tôi với. Cám ơn mọi người rất nhiều ạ.
Nếu là mũ lũy thừa 2, hay 3 thì nên dùng cách gõ Alt+0178, hay Alt+0179 để có mũ 2 hay 3 dạng symbol khi đó sẽ dùng Vlookup tốt
 
Web KT

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

Back
Top Bottom