bigbabol89
Thành viên thường trực




- Tham gia
- 15/10/12
- Bài viết
- 225
- Được thích
- 34
Kết quả của bạn D bị thiếu sao ấy nhỉ?Em chào các anh, chị
Em nhờ các anh chị giúp nội dung như sau ( chi tiết em gửi ở file đính kèm ạ )
View attachment 269307
Rất hi vọng sớm nhận được sự giúp đỡ từ các anh, chị ạ
Em cám ơn các anh chị !
File thật của bạn cấu trúc như này àDạ, đúng kết quả bạn D bị thiếu rồi.
Sheet kết quả cột D,E,F để trống thôi ạ. Ngoài ra, dữ liệu của em có nhiều cột nữa ạ
Em gửi lại file đính kèm ạ
View attachment 269319
Bạn xem file.Dạ, đúng kết quả bạn D bị thiếu rồi.
Sheet kết quả cột D,E,F để trống thôi ạ. Ngoài ra, dữ liệu của em có nhiều cột nữa ạ
Em gửi lại file đính kèm ạ
View attachment 269319
Dạ, anh xem giúp em mẫu kết quả ở bảng mô phỏng bên sheet 1 ạ.File thật của bạn cấu trúc như này à
Kết quả ở sheet1 và cấu trúc kết quả ở sheet 2 của bạn sao không giống nhau nhỉ
Thực sự thì công thức của anh vượt quá tầm hiểu biết của em @.@Bạn xem file.
--
Ký tên: XV
Tối qua em mở bằng điện thoại có thấy anh gửi code rồi, nhưng nay mở ra thấy .... em không hiểu là bị gì nữa ạ.................
Mình test lại. Thấy nó ra kết quả không chính xác.Tối qua em mở bằng điện thoại có thấy anh gửi code rồi, nhưng nay mở ra thấy .... em không hiểu là bị gì nữa ạ.
Bạn xem thử file này rồi tùy chỉnh lại theo bảng dữ liệu thật của bạn.Anh có thể giúp em sử dụng VBA được không ạ.
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
CT = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Amount", Int64.Type}, {"No.", type text}, {"Loại bỏ no.", type text},{"Diễn giải", type text}}),
Ad1 = Table.AddColumn(CT, "Tách thành", each List.Count(Text.Split([#"No."],","))-(try List.Count(Text.Split([#"Loại bỏ no."],",")) otherwise 0), type number),
Ad2 = Table.AddColumn(Ad1, "AmountNew", each [Amount]/[Tách thành], type number),
Split = Table.ExpandListColumn(Table.TransformColumns(Ad2, {{"No.", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "No."),
Ad3 = Table.AddColumn(Split, "Custom", each try Text.PositionOf([#"Loại bỏ no."],Text.Trim([#"No."])) otherwise -1),
Filter = Table.SelectRows(Ad3, each ([Custom] = -1)),
Del = Table.RemoveColumns(Filter,{"Amount","Custom"}),
Reordered = Table.ReorderColumns(Del,{"Name", "AmountNew", "No.", "Loại bỏ no.", "Tách thành", "Diễn giải"})
in
Reordered
Dạ, em cám ơn anh. Code chạy rất tốt ạ, em đang mò thêm để khớp với dữ liệu của em ạ.Bạn xem thử file này rồi tùy chỉnh lại theo bảng dữ liệu thật của bạn.
Power Query em không có kiến thức về nó nên em cũng chưa biết làm như nào ạ. Em cám ơn anh ạBạn thử dùng Power Quyery
Mã:let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], CT = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Amount", Int64.Type}, {"No.", type text}, {"Loại bỏ no.", type text},{"Diễn giải", type text}}), Ad1 = Table.AddColumn(CT, "Tách thành", each List.Count(Text.Split([#"No."],","))-(try List.Count(Text.Split([#"Loại bỏ no."],",")) otherwise 0), type number), Ad2 = Table.AddColumn(Ad1, "AmountNew", each [Amount]/[Tách thành], type number), Split = Table.ExpandListColumn(Table.TransformColumns(Ad2, {{"No.", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "No."), Ad3 = Table.AddColumn(Split, "Custom", each try Text.PositionOf([#"Loại bỏ no."],Text.Trim([#"No."])) otherwise -1), Filter = Table.SelectRows(Ad3, each ([Custom] = -1)), Del = Table.RemoveColumns(Filter,{"Amount","Custom"}), Reordered = Table.ReorderColumns(Del,{"Name", "AmountNew", "No.", "Loại bỏ no.", "Tách thành", "Diễn giải"}) in Reordered