tách dữ liệu như nào ?? help

Liên hệ QC

kientruchatang

Thành viên mới
Tham gia
17/11/06
Bài viết
2
Được thích
0
mong anh em giúp tôi ! nội dung tôi nêu trong file
 

File đính kèm

G19 =LEFT(F19,1)*1 kéo fill xuống
H19 =RIGHT(F19,1)*1 cũng kéo fill xuống
ANH TUẤN
 
bác anhtuan1066 ơi, cho em hỏi chút!
tại sao khi sử dụng công thức Left và Right của các bác tại G19 =LEFT(F19,1)*1, H19 =RIGHT(F19,1)*1 lại có thêm *1 ở đằng sau công thức, điều đó có ý nghĩa gì vậy?
 
Thật ra ko nhân với 1 cũng ko sao.. nhưng lúc ấy kết quả sẽ là TEXT chứ ko phải NUMBER... tôi vì phòng ngừa nên nhân với 1 vậy mà.. mục đích là convert luôn cho nó thành number, đề phòng khi bạn muốn SUM hay cái gì đó liên quan đến tính toán thì có khi không làm dc...
Bạn cứ thử đi, nếu ko nhân 1 thì tất cả kết quả này sẽ ko SUM dc..
ANH TUẤN
 
cảm ơn bác anhtuan1066, em đã thử lại theo cách bác hướng dẫn và thấy đúng như vậy.

Thanks
 
thangtctk đã viết:
bác anhtuan1066 ơi, cho em hỏi chút!
tại sao khi sử dụng công thức Left và Right của các bác tại G19 =LEFT(F19,1)*1, H19 =RIGHT(F19,1)*1 lại có thêm *1 ở đằng sau công thức, điều đó có ý nghĩa gì vậy?

Hoặc có thể dùng :
G19 =Value(LEFT(F19,1))
H19 =Value(RIGHT(F19,1))

Thân!
 
Anh cho tôi hỏi ?
trong trường hợp trên ta dùng hàm left vaf right để tách dữ liệu
VD : 2-3 thành 2 và 3
những nếu dữ liệu gồm : 2-3-4-5 mà muốn tách các thành phần ra thành 2 ,3 ,4, 5
thì làm thế nào ??
xin cám ơn anh !
 
Nếu muốn dùng công thức, dài lắm
Dùng VBA, tìm trên 4R
Dùng Text To column, cũng xem trên 4R, đơn giản hơn.
 
Nhanh nhất là TEXT TO COLUMN cho trường hợp này.. 100 số cũng tách ra dc tất
ANH TUẤN
 
Thêm 1 cách nữa cho vui. Dữ liệu nhập ở cột A, bắt đầu từ ô A6. Có gì góp ý nhé!
Sub tach_chuoi()
Dim i As Integer, j As Integer, a As Integer
Dim chuoi As String, chuoitach As String, chuoinguyen As String
i = 6
Do While Cells(i, 1) <> ""
a = 2
chuoinguyen = Trim(Cells(i, 1))
For j = 1 To Len(chuoinguyen)
chuoi = Mid(chuoinguyen, j, 1)
If chuoi <> "-" And chuoi <> " " And chuoi <> "+" And chuoi <> "/" And chuoi <> "_" And chuoi <> "&" Then
chuoitach = chuoitach & chuoi
Else
Cells(i, a) = chuoitach
chuoitach = ""
a = a + 1
End If
Next
Cells(i, a) = chuoitach
chuoitach = ""
i = i + 1
Loop
End Sub
 
Có một vấn đề là nếu giữa các dấu phân cách "/","_","-","&" mà có thêm dấu cách là giữa 2 ô ký tự sẽ có 1 ô trống.
 
tách dữ liệu

kientruchatang đã viết:
Anh cho tôi hỏi ?
trong trường hợp trên ta dùng hàm left vaf right để tách dữ liệu
VD : 2-3 thành 2 và 3
những nếu dữ liệu gồm : 2-3-4-5 mà muốn tách các thành phần ra thành 2 ,3 ,4, 5
thì làm thế nào ??
xin cám ơn anh !

Bạn nhấn Alt+F11 . Chọn Insert\Module . Copy đoạn code này vào module1.save và thoát khỏi Microsoft visual basic.tại trang bảng tính excel,bạn dùng công thức TACH(Ô CẦN TÁCH,VỊ TRÍ) Enter

Function TACH(CHU As String, J As Integer)
Dim i As Integer: Dim strText() As String
Select Case Len(CHU)
Case 0: TACH = ""
Case Else
For i = 1 To 47
CHU = Replace(CHU, Chr(i), Space(1))
Next i
For i = 58 To 253
CHU = Replace(CHU, Chr(i), Space(1))
Next i
CHU = Trim(CHU)
strText = Split(CHU, Space(1))
J = J - 1
TACH = strText(J) * 1
End Select
End Function
 
bạn có thể dùng hàm left để tách số bên trái vd =left(F19,1). ham right để tách số bên phải vd = right(F19,1)
 
Nguyên văn bởi Tunguyen
Có một vấn đề là nếu giữa các dấu phân cách "/","_","-","&" mà có thêm dấu cách là giữa 2 ô ký tự sẽ có 1 ô trống.
Cám ơn bạn. Mình đã khắc phục lỗi trên như sau:
Sub tach_chuoi()
Dim i As Integer, j As Integer, a As Integer
Dim chuoi As String, chuoitach As String, chuoinguyen As String
i = 6

Do While Cells(i, 1) <> ""
a = 2
chuoinguyen = Trim(Cells(i, 1))
For j = 1 To Len(chuoinguyen)
chuoi = Mid(chuoinguyen, j, 1)
If chuoi <> "-" And chuoi <> " " And chuoi <> "+" And chuoi <> "/" And chuoi <> "_" And chuoi <> "&" Then
chuoitach = chuoitach & chuoi
Else
If chuoitach <> "" Then
Cells(i, a) = chuoitach
chuoitach = ""
a = a + 1
End If
End If
Next
Cells(i, a) = chuoitach
chuoitach = ""
i = i + 1
Loop
End Sub
 
Web KT

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

Back
Top Bottom