G3=IFERROR(INDEX($D$2:$D$1000,AGGREGATE(15,6,ROW($D$1:$D$1000)/($A$2:$A$1000=G$2),ROW(A1))),)
Cảm ơn bạn nhé, cách làm này thật tuyệtBạn thử công thức này.
Mã:G3=IFERROR(INDEX($D$2:$D$1000,AGGREGATE(15,6,ROW($D$1:$D$1000)/($A$2:$A$1000=G$2),ROW(A1))),)
Cách làm này của bạn cũng rất hay, cảm ơn bạn.Với bài dạng này, mình hướng dẫn một cách đơn giản ai cũng làm được, mai mốt gặp trường hợp khác vẫn ứng dụng được mà không xài bất kỳ hàm nào.
B1: Ô G3 bạn gõ chữ D2 sau đó kéo xuống 16 dòng
Ô H3 bạn gõ chữ D18 sau đó kéo xuống 16 dòng
(kéo xong bạn sẽ có kết quả như hình 1)
B2: Bạn bôi đen vùng dữ liệu như hình ở mí phía dưới, kéo sang phải
Thành công thì sẽ như hình 2.
Bước 3: xem hình số 3
bạn nhấn Ctrl + H
Find what: D
Replace with: =D
Vậy là xong yêu cầu của bài này, nếu thích thì copy và paste giá trị còn không thì để vậy, nếu cột D có thay đổi thì những dữ liệu này cũng tự động thay đổi.
Ưu điểm của cách này là linh hoạt, dễ sử dụng, người mới học cũng làm được
Bạn thử công thức này.
Mã:G3=IFERROR(INDEX($D$2:$D$1000,AGGREGATE(15,6,ROW($D$1:$D$1000)/($A$2:$A$1000=G$2),ROW(A1))),)
Bạn có thể chỉ mình tham khảo không?VBA được hơm bạn......................... ..........................
Đã dùng power query thì sao không dùng luôn mà phải chuyển hướng:Các Pro cho mình hỏi, dùng công thức nào để chuyển dữ liệu dạng dòng sang cột như File này được?
View attachment 277820
let
Source = Excel.CurrentWorkbook(){[Name="_001"]}[Content],
DelCol = Table.RemoveColumns(Source,{"(220314Y006-1-FG00-136-001)"}),
PivotCol = Table.Pivot(DelCol, List.Distinct(DelCol[#"(061-361)"]), "(061-361)", "FAI 161", List.Sum)
in
PivotCol
Thử code này coi sao nàoBạn có thể chỉ mình tham khảo không?
Sub ABC()
Dim i&, iRow&, j&
With Sheets("Data")
iRow = .Range("A" & Rows.Count).End(3).Row
For i = 2 To iRow Step 16
j = j + 1
.Cells(2, j + 6).Value = .Cells(i, 1).Value
.Cells(3, j + 6).Resize(16).Value = .Cells(i, 4).Resize(16).Value
Next
End With
End Sub