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 ạ.
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 ạ
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
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 ạ.