Lấy dữ liệu có điều kiện (2 người xem)

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

katylove83

Thành viên hoạt động
Tham gia
22/2/13
Bài viết
166
Được thích
9
chào các anh chị, em có bài này em muốn từ dữ liệu thô lấy từ 1 file khác và xử lý để có được kết quả mong muốn như trong file đính kèm

các anh chị xem giúp nên viết code hoặc công thức thể nào nhé
 

File đính kèm

chào các anh chị, em có bài này em muốn từ dữ liệu thô lấy từ 1 file khác và xử lý để có được kết quả mong muốn như trong file đính kèm

các anh chị xem giúp nên viết code hoặc công thức thể nào nhé
Bạn nói rõ hơn chút đi. Người khác đâu hiểu bạn nghĩ gì! Nên nói thật rõ ràng càng cụ thể càng tốt!
 
Upvote 0
Bạn nói rõ hơn chút đi. Người khác đâu hiểu bạn nghĩ gì! Nên nói thật rõ ràng càng cụ thể càng tốt!

có nghĩa là :
tại ô F6 có dữ liệu là "333 ty" và mình muốn lấy 333 bổ vào cột B tại ô B12, b13 vì mã 333 này là của 2 dòng này
tiếp theo tại ô F22 là "667 fd" và mình muốn lấy 667 bổ vào cột B tại ô B28, b29 vì mã 667 này là của 2 dòng này
tiếp theo tại F38 cũng như vậy
còn tại côt C 2 chữ cái đó thì được lấy từ cột E tương ứng với dòng đó

em giải thích vậy có được chưa anh, nếu chưa hiểu thì anh hỏi lại em nhé

cám ơn
 
Upvote 0
có nghĩa là :
tại ô F6 có dữ liệu là "333 ty" và mình muốn lấy 333 bổ vào cột B tại ô B12, b13 vì mã 333 này là của 2 dòng này
tiếp theo tại ô F22 là "667 fd" và mình muốn lấy 667 bổ vào cột B tại ô B28, b29 vì mã 667 này là của 2 dòng này
tiếp theo tại F38 cũng như vậy
còn tại côt C 2 chữ cái đó thì được lấy từ cột E tương ứng với dòng đó

em giải thích vậy có được chưa anh, nếu chưa hiểu thì anh hỏi lại em nhé

cám ơn
Nếu cấu trúc dữ liệu, dòng cột như trong file thì thử code này, nếu không giống như trong file thì "tèo".
[GPECODE=vb]Public Sub GPE()
Dim VBR As Object, sArr(), dArr(), I As Long, Tem As Variant
Set VBR = CreateObject("VBScript.RegExp")
sArr = Range([D5], [D65536].End(xlUp)).Resize(, 3).Value
ReDim dArr(1 To UBound(sArr, 1), 1 To 2)
With VBR
.Global = True
.Pattern = "\D"
For I = 1 To UBound(sArr, 1)
If sArr(I, 2) = "n TK:" Then Tem = .Replace(sArr(I, 3), "")
If IsDate(sArr(I, 1)) Then
dArr(I, 1) = Tem
dArr(I, 2) = sArr(I, 2)
End If
Next I
End With
[B5].Resize(I - 1, 2) = dArr
Set VBR = Nothing
End Sub[/GPECODE]
 

File đính kèm

Upvote 0
có nghĩa là :
tại ô F6 có dữ liệu là "333 ty" và mình muốn lấy 333 bổ vào cột B tại ô B12, b13 vì mã 333 này là của 2 dòng này
tiếp theo tại ô F22 là "667 fd" và mình muốn lấy 667 bổ vào cột B tại ô B28, b29 vì mã 667 này là của 2 dòng này
tiếp theo tại F38 cũng như vậy
còn tại côt C 2 chữ cái đó thì được lấy từ cột E tương ứng với dòng đó

em giải thích vậy có được chưa anh, nếu chưa hiểu thì anh hỏi lại em nhé

cám ơn

Dùng hàm với 1 cột phụ là A
A5=IF(E5="n TK:",F5,A4) => Kéo xuống
B5=IFERROR(--LEFT(IF(N(D5),A5,""),SEARCH(" ",IF(N(D5),A5,""))),"") => Kéo xuống
C5=IF(N(B5),E5,"") => Kéo xuống
 
Upvote 0
Nếu cấu trúc dữ liệu, dòng cột như trong file thì thử code này, nếu không giống như trong file thì "tèo".
[GPECODE=vb]Public Sub GPE()
Dim VBR As Object, sArr(), dArr(), I As Long, Tem As Variant
Set VBR = CreateObject("VBScript.RegExp")
sArr = Range([D5], [D65536].End(xlUp)).Resize(, 3).Value
ReDim dArr(1 To UBound(sArr, 1), 1 To 2)
With VBR
.Global = True
.Pattern = "\D"
For I = 1 To UBound(sArr, 1)
If sArr(I, 2) = "n TK:" Then Tem = .Replace(sArr(I, 3), "")
If IsDate(sArr(I, 1)) Then
dArr(I, 1) = Tem
dArr(I, 2) = sArr(I, 2)
End If
Next I
End With
[B5].Resize(I - 1, 2) = dArr
Set VBR = Nothing
End Sub[/GPECODE]
code ok luôn anh ơi, cám ơn anh ba tê
 
Upvote 0
CẦN LẤY DỮ LIỆU CÓ ĐIỀU KIỆN!
MÌNH LÀ THÀNH VIÊN MỚI, MÌNH CẦN SỬ LÝ MỘT FILE CẦN LẤY SỐ THỨ TỰ CUẢ MỘT NHÀ CUNG CẤP SANG SHEET CÔNG NỢ, MONG ANH CHỊ EM GIÚP ĐỠ! CHÂN THÀNH CẢM ƠN!
Cụ thể như sau ạ: Tại cột A của sheet (CN.NgocAnh) lấy số thứ tự ở cột A sheet (TD.HĐ&LC) nếu Cột Y của Sheet (TD.HĐ&LC) là "Công ty TNHH Thép Ngọc Anh"
 

File đính kèm

Upvote 0

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

Back
Top Bottom