-
Chuyển công thức ở chuỗi text lớn hơn 255 ký tự thành hàm trong Excel
ducvudut > 13-05-23, 12:12 PM
Em có sử dụng hàm Eval để tính tổng chuỗi text nhưng do chuỗi dài hơn 255 ký tự nên bị lỗi. Cho e hỏi có cách khắc phục lỗi này không ạ -
RE: Chuyển công thức ở chuỗi text lớn hơn 255 ký tự thành hàm trong Excel
Noname > 15-05-23, 08:58 AM
Trường hợp của bạn mình cũng đang gặp. Xử lý bằng cách tách chuỗi của mình thành 2 dòng. Rồi cộng eval cho 2 dòng đó. Như vậy về mặt kiểm tra cũng dễ dàng hơn
Bạn cũng có thể dùng hàm thay thế eval, tính được nhiều hơn 255 ký tự như bên dưới:
Phát biểu
=tong(chuỗi của bạn)
Mã PHP:Public Function tong(intDigit As String) As Double
Dim strNaming As String
strNaming = Trim(intDigit)
Dim s1, s2 As String
Dim C, L, l1 As Integer
L = Len(strNaming)
s1 = Left(strNaming, L)
s2 = Right(s1, 1)
s3 = s2
Dim i, giatri, duynhat
i = 1
giatri = 0
duynhat = 0
For i = 1 To L
L = L - 1
s1 = Left(strNaming, L)
s2 = Right(s1, 1)
If s2 = "*" Or s2 = "/" Or s2 = "-" Or s2 = "(" Or s2 = ")" Then
duynhat = 1
Exit For
End If
Next
If duynhat = 0 Then
L = Len(strNaming)
s1 = Left(strNaming, L)
s2 = Right(s1, 1)
s3 = s2
For i = 1 To L
L = L - 1
s1 = Left(strNaming, L)
s2 = Right(s1, 1)
If s2 <> "+" Then
s3 = s2 & s3
End If
If s2 = "+" Then
giatri = giatri + Val(s3)
s3 = ""
End If
Next
giatri = giatri + Val(s3)
Else
L = Len(strNaming)
s1 = Left(strNaming, L)
s2 = Right(s1, 1)
s3 = s2
For i = 1 To L
L = L - 1
s1 = Left(strNaming, L)
s2 = Right(s1, 1)
s3 = s2 & s3
Select Case s2
Case "+"
giatri = giatri + Val(s3)
Case "/"
giatri = giatri / Val(s3)
Case "-"
giatri = giatri - Val(s3)
Case "*"
giatri = giatri * Val(s3)
Case "("
Case ")"
End Select
Next
End If
tong = giatri
End Function