Với bài này bạn gõ đoạn Query như sau:Gửi bởi KhoiSMC
Lưu ý là phải đặt tên name trước nhé.
SELECT * FROM DATA1
UNION ALL
SELECT * FROM DATA2
Với bài này bạn gõ đoạn Query như sau:Gửi bởi KhoiSMC
Lưu ý là phải đặt tên name trước nhé.
SELECT * FROM DATA1
UNION ALL
SELECT * FROM DATA2
Oi, được rồi bạn ạ, tớ cám ơn bạn nhiều nhé. Hóa ra excel cũng thực hiện được các cấu trúc query như access nhỉ.Gửi bởi Hai Lúa Miền Tây
Hay thật đấy.
Và đây là file kết quả theo hướng dẫn của bác Hai Lúa Miền Tây.
Thanks
Khoi
Bạn ơi cho mình hỏi nếu privot từ 2 file khác nhau thì gõ Query thế nào vậy bạn?
Gửi bạn Hai lú Miền Tây.
Mình có 1 file excel gồm 2 sheet, mình đã làm theo cách của bạn nhưng file excel của mình đến 70 mấy ngàn dòng khi mình làm đến bước click vào excel file và mình chọn file bấm ok nhưng nó báo là ko tìm thấy như file mình gửi. Bạn giúp mình với cám ơn bạn
Gửi anh Hai Lúa Miền Tây: trường hợp không phải là 02 sheet mà là nhiều sheet thì câu lệnh viết trong SQL sẽ như thế nào nhỉ, nhờ anh hỗ trợ giúp minh.
Cảm ơn anh nhiều
Các bạn cho mình hỏi, mình có 2 bảng dữ liệu như file đính kèm.
1. Khi mình pivot riêng lẻ thì lọc được điều kiện ngày thanh toán, sau đó là code thanh toán như 2 bảng pivot ở sheet1.
2. Tuy nhiên khi consol lại như bảng bên dưới thì Điều kiện (row) lúc này chỉ được chọn 1 trong 2. Tức là chỉ xem được số tiền thanh toán theo ngày or số tiền trả theo code.
Các bạn có thể hướng dẫn giúp mình làm sao có thể consol data mà vẫn lọc được 2 điều kiện như từng bảng rời ko ạ ?
Many thanks
Đã VBA rồi thì không cần SQL xem đây.Chỉ cần vậy thôi(VBA+PIVOTtable)[IMG]images/smilies/a01.gif[/IMG]Gửi bởi Cá ngừ F1
Mã nguồn PHP:
Option ExplicitSub Getdata_fromsheets()Dim sh As Object, Data As Range, T As DoubleT = TimerApplication.ScreenUpdating = FalseSheets("Temp").Range("3:65000").ClearContentsSheets("PVT").Range("3:65000").ClearContentsFor Each sh In ThisWorkbook.Sheets If sh.name <> "PVT" Then sh.Range("A4").CurrentRegion.Offset(1).copy Sheets("Temp").Range("A65536").End(3).Offset(1).PasteSpecial (12) Application.CutCopyMode = FalseEnd IfNextCall PIVOT_ADDApplication.ScreenUpdating = TrueSheets("PVT").Range("A1") = Timer - TEnd SubSub PIVOT_ADD()Dim PVT As PivotTable, PVT_Data As RangeSet PVT_Data = Sheets("Temp").Range("A2").CurrentRegionActiveWorkbook.PivotCaches.Create(xlDatabase, PVT_Data).CreatePivotTable (Sheets("PVT").Range("C12")), "Pivot" Set PVT = ActiveSheet.PivotTables("Pivot") With PVT With .PivotFields("S") .Orientation = xlRowField .Position = 1 End With With .PivotFields("Paid Date") .Orientation = xlPageField .Position = 1 End With .AddDataField PVT.PivotFields("OUT"), ".OUT", xlSum .PivotFields(".OUT").NumberFormat = "#,##0" .TableStyle2 = "OPTION1" .RowAxisLayout xlTabularRow End With ActiveWorkbook.RefreshAll End Sub
Không ổn a Thương ơi.
Như em nói mỗi Name có trên dưới 100k bản ghi, mà 12 name thì hơn cả triệu dòng
theo em hiểu thủ tục get data của Anh là copy dữ liệu về 1 sheet.
1 sheet cũng chỉ có hơn triệu dòng vậy giải pháp này chắc phá sản rồi.
nếu dữ liệu nhiều hơn số dòng của 1 sheet thì lúc đó tôi sẽ cho code chạy từ sheet 1--10 để cho pvt rút gọn dữ liệu, sau đó lấy kết quả ở pvt gán ngược lại sheets nguồn của PVT,Gửi bởi Cá ngừ F1
còn 2 sheet còn lại cứ gom nối vào là xong.
với các này thjif đảm bảo bạn có 36 sheet cũng chẳng sao nhé[IMG]images/smilies/a01.gif[/IMG]
Bạn hướng dẫn cách làm được ko ạ?Gửi bởi Lê Duy Thương