xử lý chuỗi số thường thành một dãy gồm nhiều phân số!!!

Liên hệ QC

hayashi01

Thành viên mới
Tham gia
20/10/15
Bài viết
2
Được thích
0
Hi mọi người.
Mình có 1 vấn đề xin được giúp. Mình tìm trên google và giaiphapexcel nhưng hiện chưa thấy.
Ví dụ:
Mình nhập 1 chuỗi số sau: 11 3, 32 C1
Sau khi enter ô sẽ hiện là: 11[SUP]3[/SUP] 32[SUP]c1
[/SUP]Mong mọi người giúp đỡ.
Thanks mọi người.
 
Hi mọi người.
Mình có 1 vấn đề xin được giúp. Mình tìm trên google và giaiphapexcel nhưng hiện chưa thấy.
Ví dụ:
Mình nhập 1 chuỗi số sau: 11 3, 32 C1
Sau khi enter ô sẽ hiện là: 11[SUP]3[/SUP] 32[SUP]c1
[/SUP]Mong mọi người giúp đỡ.
Thanks mọi người.
Hỏi lại bạn 1 chút 2 con số trong ví dụ của bạn(Phần tô đậm) có dạng phân số hay lũy thừa?
 
Hi mọi người.
Mình có 1 vấn đề xin được giúp. Mình tìm trên google và giaiphapexcel nhưng hiện chưa thấy.
Ví dụ:
Mình nhập 1 chuỗi số sau: 11 3, 32 C1
Sau khi enter ô sẽ hiện là: 11[SUP]3[/SUP] 32[SUP]c1
[/SUP]Mong mọi người giúp đỡ.
Thanks mọi người.
Bạn gửi file đính kèm với dữ liệu và kết quả giả định mới tính được
 
Hỏi lại bạn 1 chút 2 con số trong ví dụ của bạn(Phần tô đậm) có dạng phân số hay lũy thừa?

Phân số hay luỹ thừa thì có gì quan trọng?
Nó chỉ là tách chuỗi theo dấu phẩy. Mỗi chuõi con có 2 phần, cách nhau bởi dấu cách. Hiển thị phần trước bình thường, phần sau kênh lên superscript.
 
Hi mọi người.
Mình có 1 vấn đề xin được giúp. Mình tìm trên google và giaiphapexcel nhưng hiện chưa thấy.
Ví dụ:
Mình nhập 1 chuỗi số sau: 11 3, 32 C1
Sau khi enter ô sẽ hiện là: 11[SUP]3[/SUP] 32[SUP]c1
[/SUP]Mong mọi người giúp đỡ.
Thanks mọi người.
Bạn tham khảo Code dưới đây:
PHP:
Sub LUYTHUA()
    Dim Cll As Range
    Set Vung = Sheets(1).Range("A1:B1001")
    For Each Cll In Vung
        If Len(Trim(Cll.Value)) > 1 Then
            Cll.Characters(Start:=4, Length:=2).Font.Superscript = True
        End If
    Next
    Set Vung = Nothing
End Sub
 
Lần chỉnh sửa cuối:
Chủ thớt nói là "tìm trên google và giaiphapexcel nhưng hiện chưa thấy". Cho nên tôi chỉ dẫn cách phân tích vấn đề ra rồi dùng từ khoá mà tìm. Đâu cần phải làm giùm.
 
Bạn tham khảo Code dưới đây:
PHP:
Sub LUYTHUA()
    Dim Cll As Range
    Set Vung = Sheets(1).Range("A1:B10")
    For Each Cll In Vung
        If Len(Trim(Cll.Value)) > 1 Then
            Cll.Characters(Start:=4, Length:=2).Font.Superscript = True
        End If
    Next
    Set Vung = Nothing
End Sub
Em thử code này trên File nếu số mũ có 1 hoặc 2 kí tự thì ok còn nếu có nhiều hơn 2 kí tự thì không được anh ạ! Mong anh và các bạn giúp đỡ!
 
Em thử code này trên File nếu số mũ có 1 hoặc 2 kí tự thì ok còn nếu có nhiều hơn 2 kí tự thì không được anh ạ! Mong anh và các bạn giúp đỡ!
Đến giờ chẳng có file đính kèm nên chả hiểu chủ topic và bạn muốn hỏi gì nữa vì chả biết cơ sở dữ liệu thật như thế nào. 11 3, 32 C1 với chuỗi ban đầu thế này thì tất nhiên là bài #5 cũng chưa đúng được vì hiện tại tác giả làm đoán theo yêu cầu nên tách làm hai chuỗi con.Diễn đàn nước ngoài thấy có diễn đàn có được gửi file đính kèm đâu (hoặc phải có đủ số bài viết) nhưng hỏ hỏi đúng yêu cầu. Chỉ 5-6 lần trả lời là ok. Ở diễn dàn mình, có topic dài gần 30 trả lời mà còn chưa biết hết chủ topic muốn hỏi cài gì. Tôi muốn nói như vậy là để chúng ta phải học hỏi người nước ngoài rất nhiều vì họ hỏi vào đúng cái cần hỏi và Yêu cầu và nhu cầu của họ giống nhau
 
Em thử code này trên File nếu số mũ có 1 hoặc 2 kí tự thì ok còn nếu có nhiều hơn 2 kí tự thì không được anh ạ! Mong anh và các bạn giúp đỡ!
Bạn muốn số mũ là bao nhiêu cũng được tuốt
Cách làm rất đơn giản là thay đổi cái số 2 dưới đây bằng bất cứ số nào bạn muốn
Length:= 2

 
Lần chỉnh sửa cuối:
Bạn muốn số mũ là bao nhiêu cũng được tuốt
Cách làm rất đơn giản là thay đổi cái số 2 dưới đây bằng bất cứ số nào bạn muốn
Length:= 2

Tôi đã mô tả thuật toán theo kiểu tách từng cụm

Hi
Mình nhập 1 chuỗi số sau: 11 3, 32 C1
Sau khi enter ô sẽ hiện là: 11[SUP]3[/SUP] 32[SUP]c1
[/SUP]Thanks

11 3, 32 C1 dùng hàm Split tach theo dấu phẩy thì được "11 3" và "32 C1" (mảng 2 phần tử)
Với mõi vế trên, dùng Split theo dấu cách thì được "11" + "3" và "32" + "C1"
Ráp lại, cái phần sau superscript
Hết

(tôi mách thuật toán cho bạn thôi. Chứ bản thân tôi không hứng giao thiệp bằng tiếng Tây tiếng U lắm)
 
Hi mọi người.
Mình có 1 vấn đề xin được giúp. Mình tìm trên google và giaiphapexcel nhưng hiện chưa thấy.
Ví dụ:
Mình nhập 1 chuỗi số sau: 11 3, 32 C1
Sau khi enter ô sẽ hiện là: 11[SUP]3[/SUP] 32[SUP]c1
[/SUP]Mong mọi người giúp đỡ.
Thanks mọi người.

Góp đoạn code
Mã:
Public Sub DinhDang()
Dim DL As Range, Tam, r As Long, c As Long, i
Set DL = Sheet1.Range("A1").CurrentRegion

For r = 1 To DL.Rows.Count
DL(r, 1) = Application.Trim(Replace(DL(r, 1), ",", ""))
Tam = Split(DL(r, 1))
i = 0
For c = 0 To UBound(Tam) - 1
i = i + Len(Tam(c)) + 1
If c Mod 2 = 0 Then
DL(r, 1).Characters(i + 1, Len(Tam(c + 1))).Font.Superscript = True
End If
Next c
Next r

End Sub
 

File đính kèm

  • Book11.xls
    27.5 KB · Đọc: 4
Web KT
Back
Top Bottom