Ngày 24/6, Máy mài cầm tay D100, Ngô Việt Hoài cũng mượn 2 cái (Sheet1), sao bên Sheet2 không thấy vậy bạn?Hic em diễn đạt không rõ hay cách bố trí file của em chưa hợp lý mà không có ai giúp em hết vậy?
Có lẽ dùng Công thức quá phức tạp nên mọi người "né" thôi.Hic em diễn đạt không rõ hay cách bố trí file của em chưa hợp lý mà không có ai giúp em hết vậy?
Ngày 24/6, Máy mài cầm tay D100, Ngô Việt Hoài cũng mượn 2 cái (Sheet1), sao bên Sheet2 không thấy vậy bạn?
[/QUOT
Mình để 1 dòng mẫu ấy bạn, nếu bên sheet1 có thì lấy hết qua sheet2
Mình để 1 dòng mẫu thôi ấy bạn, nếu bên sheet1 có thì đưa hết qua sheet2 bạn à. Bạn giúp mình với cảm ơn bạn nhiềuNgày 24/6, Máy mài cầm tay D100, Ngô Việt Hoài cũng mượn 2 cái (Sheet1), sao bên Sheet2 không thấy vậy bạn?
Dùng VBA cũng được bác ạ chủ yếu ra kết quả đúng là được, bác giúp con với cảm ơn bácCó lẽ dùng Công thức quá phức tạp nên mọi người "né" thôi.
Dùng VBA thì nhanh hơn là suy nghĩ phối hợp các hàm.
Bạn xem file này.Dùng VBA cũng được bác ạ chủ yếu ra kết quả đúng là được, bác giúp con với cảm ơn bác
Đúng y rồi bác, cảm ơn bác rất nhiềuBạn xem file này.
Bác Ba ơi cho con hỏi chút giả sử từ sheet2 sắp theo hàng giờ mình chuyển ngược lại theo cột như sheet1 được không bác, bác vui lòng giúp con 1 lần nữa, con cảm ơn bác nhiềuBạn xem file này.
Tôi không làm được.Bác Ba ơi cho con hỏi chút giả sử từ sheet2 sắp theo hàng giờ mình chuyển ngược lại theo cột như sheet1 được không bác, bác vui lòng giúp con 1 lần nữa, con cảm ơn bác nhiều
Thầy ấy lười viết đó.Bác giúp giùm con đi mà, nếu có gì không phải mong bác lượng thứ
Thử dùng PowerQuery
View attachment 242162
Thử dùng PowerQuery
View attachment 242162
Chạy codeBạn ơi giờ mình muốn làm ngược lại là từ sheet2 mình chuyển ngược lại như sheet1 thì làm như thế nào vậy bạn?
Option Explicit
Sub XYZ()
Dim sArr(), tArr(), Res(), Dic As Object, iKey$
Dim sRow&, eRow&, i&, iR&, j&, c&, jC&, tCol&, tmp
With Sheets("Sheet1")
j = .Cells(2, 16383).End(xlToLeft).Column
eRow = .Range("A" & Rows.Count).End(xlUp).Row
If j > 6 Then .Range("G2", .Cells(eRow, j)).Clear
Res = .Range("A2", .Cells(eRow, 1200)).Value
tArr = .Range("D3:F3").Value
End With
With Sheets("Sheet2")
sArr = .Range("A5:G" & .Range("A" & Rows.Count).End(xlUp).Row).Value
End With
Set Dic = CreateObject("scripting.dictionary")
sRow = UBound(Res)
For i = 4 To sRow
Dic.Item(Res(i, 2)) = i
Next i
c = 1
sRow = UBound(sArr)
For i = 1 To sRow
iR = Dic.Item(sArr(i, 2))
iKey = sArr(i, 2) & sArr(i, 4)
If tmp <> sArr(i, 4) Then
c = c + 3
tmp = sArr(i, 4)
jC = c
Dic.Item(iKey) = c
tCol = c
Else
If Dic.exists(iKey) = False Then
Dic.Item(iKey) = jC
tCol = jC
Else
tCol = Dic.Item(iKey) + 3
Dic.Item(iKey) = tCol
If c < tCol Then c = tCol
End If
End If
If tCol > UBound(Res, 2) Then
ReDim Preserve Res(1 To sRow, 1 To tCol + 30)
End If
For j = 0 To 2
Res(1, tCol + j) = tmp
Res(2, tCol + j) = tArr(1, j + 1)
Res(iR, tCol + j) = sArr(i, j + 5)
Next j
Next i
With Sheets("Sheet1")
.Range("A2:A" & eRow).Resize(, c + 2) = Res
.Range("F2:F" & eRow).Copy
.Range("G2", .Cells(eRow, c + 2)).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End With
End Sub
DIỄN ĐÀN GIẢI PHÁP EXCEL