PDA

View Full Version : Lọc dữ liệu từ 1 sheet tổng hợp sang các sheet khác



M.A.N
17-03-09, 01:27 PM
Em có gửi kèm file mong mọi người giúp.

Trong đó sheet 1 là là list hàng em nhận hàng ngày sắp xếp rất lủng củng.

a)Em muốn tổng hợp về số lượng trong sheet 2 nhưng không thể copy dc công thức vì nó báo độ dài của mỗi ngày khác nhau. :(

b) Ở sheet 3 em muốn khi nhập 1 loại tên bao bì vào ô F3 (màu xanh) thì nó sẽ hiện chi tiết tất cả về loại hàng đó vào bảng.


Em mới lớp 10 mong các bác giúp đỡ :D

Hai Lúa Miền Tây
17-03-09, 04:01 PM
Bạn phải sắp xếp lại dữ liệu nguồn nhé, không được trộn vùng dữ liệu, vì nếu như vậy khi lấy dữ liệu rất khó.
Câu 1 mình thật sự không hiểu ý bạn muốn gì,
Câu 2 bạn tham khảo trong file đính kèm nhé
Thân

M.A.N
17-03-09, 06:29 PM
Cám ơn anh nhiều. Câu 1 ý em chỉ là tổng hợp số lượng từng loại trong từng ngày (To, nhỏ) Nhưng chắc vì trộn dữ liệu ngày nên không copy dc công thức phải dùng sum thủ công :(

Còn câu 2 anh làm hay quá ^^

ChanhTQ@
18-03-09, 06:00 AM
Hướng dẫn sử dụng:
Macro này để tổng hợp theo câu I của bạn;
Trong macro, mình đã đổi tên Sheet1 & sheet2 tương ứng thành 'S2' & 'S3', bạn cần chuyển đi hay chuyển lại tên chúng cho phù hợp
(Nếu thấy khó mình sẽ đưa file lên, khi có iêu cầu.)


Option Explicit
Sub TongHop()
Dim Clls As Range, Sh As Worksheet
Dim eRw As Long, Jj As Long: Dim GPE As Byte, bMR As Byte

Sheets("S2").Select: eRw = [c65500].End(xlUp).Row
Jj = 4: Set Sh = Sheets("S3")
Sh.Range("A5:F" & eRw).Clear
Do
Set Clls = Cells(Jj + 1 + bMR, "A").MergeArea
Jj = Jj + bMR: bMR = Clls.Rows.Count
With Sh.[b65500].End(xlUp)
.Offset(1, -1) = Clls.Cells().Value
.Offset(1) = Application.WorksheetFunction.Sum(Clls.Offset(, 3).Resize(bMR))
For GPE = 1 To 3
.Offset(1, GPE) = WorksheetFunction.Sum(Clls.Offset(, GPE + 3).Resize(bMR))
Next GPE
End With
If Clls.End(xlDown).Row >= 65500 Then
Exit Do
End If
Loop
Sh.Select: Set Sh = Nothing
End Sub

M.A.N
18-03-09, 01:03 PM
Nếu em cho thêm cột đơn giá (to, nhỏ) và giá thành đồng thời cho thêm các hàng Tổng sau mỗi ngày thì có filter dc ko?

EM đưa lại file data mong các anh làm giúp. Em không thạo lắm mong các anh giúp đỡ vì làm giúp gia đình :D

Em rất thích cách làm trong file của anh domfootwear nhưng em không làm theo được. Mà dùng luôn thì khi update dữ liệu ở data thì sheet CHI TIẾT lại không update. :(

Mong anh giúp hoàn thiện. Nếu có thể thêm cho em phần tính tiền ( Bằng giá nhân số lượng)

Giá HÀ NỘI khác, giá Sài Gòn khác. Giá To khác giá nhỏ khác.

Cám ơn anh trước.

ChanhTQ@
18-03-09, 02:56 PM
Mong anh giúp hoàn thiện. Nếu có thể thêm cho em phần tính tiền ( Bằng giá nhân số lượng)
Giá HÀ NỘI khác, giá Sài Gòn khác. Giá To khác giá nhỏ khác. File này mình thấy bạn chỉ bỏ trộn các ô thôi, Có thấy đơn giá, thành tiền ghi vô đâu đâu;

Còn macro của mình làm với ô trộn của bạn được rồi;

Bạn dùng chức năng [table.]. . [/table.] giả lập đơn giá cái đi, Nếu việc gởi file đối với bạn là khó khăn!


Nhờ MOD/SMOD ngang qua đây gộp chung các bài giúp, xin cảm ơn.

M.A.N
19-03-09, 12:45 AM
Em xin gửi lại file xin các bác xem giùm và giúp em cho trót /-*+/

Em mong giúp em tạo ra ra các sheet "A", "B", "CHI TIẾT" từ sheet data gốc. Sheet dât là em nhập bằng tay thủ công hoàn toàn :( Nên muốn các sheet còn lại tự động tổng hợp và cho kết quả mình mong muốn. Cụ thể:

* Sheet A,B em muốn cho ra chi tiết cụ thể về số lượng nhập (chi tiết: lớn, bé, HN, SG và tổng số), số lượng xuất (chỉ cần tổng số) và số lượng còn dư (tức tổng số Nhập - Tổng xuất)

* Sheet "CHI TIẾT" là quan trọng nhất: Em muốn lọc ra 1 hoặc một vài tên hàng và hiện kết quả chi tiết về số lượng nhập (chi tiết), xuất (tổng số) và số lượng còn dư

Em rất mong và rất cần giúp đỡ. Xin cảm ơn trước. :)

(Em rất mơ hồ nên mong anh nào giúp hãy chỉ em càng chi tiết càng tốt chứ xem file của anh doofootwear trên kia mặc dù rất thích nhưng không biết ảnh làm thế nào để làm theo :(

ChanhTQ@
19-03-09, 06:26 AM
Em xin gửi lại file xin các bác xem giùm và giúp em cho trót
Em mong giúp em tạo ra ra các sheet "A", "B", "CHI TIẾT" từ sheet data gốc. Sheet dât là em nhập bằng tay thủ công hoàn toàn :( Nên muốn các sheet còn lại tự động tổng hợp và cho kết quả mình mong muốn. Cụ thể:
* Sheet A,B em muốn cho ra chi tiết cụ thể về số lượng nhập (chi tiết: lớn, bé, HN, SG và tổng số), số lượng xuất (chỉ cần tổng số) và số lượng còn dư (tức tổng số Nhập - Tổng xuất) . . .
(Em rất mơ hồ nên mong anh nào giúp hãy chỉ em càng chi tiết càng tốt :(Không những bạn mơ hồ mà làm mình cũng mơ hồ theo luôn đó, File mới nhất bạn đưa lên có trang tính Data; Bạn muốn tạo ra tại trang 'A' bảng tổng hợp như sau phải không?

A|B|C|D|E|F
|Xuất|
|Hà|nội|Sài|gòn|
Ngày|To|Nhỏ|To|Nhỏ|Cộng
2/3/2009|26|0|0|11|37


{* Thông cảm chữ 'Xuất' ở đây không trộn như trong trang tính 'Sheet2' của bạn được.
* Đáng lẻ bạn chứ không phải tôi đưa mẫu lên & hỏi bạn!
* Hỏi bạn lần cuối, trên trang mình đưa ra, đúng bạn cần cột [Cộng] như vậy, phải không?}
Và chúng ta từng bước một thông, hiểu nhau & thực hiện xong bước này mới qua bước khác.
Mình sẽ cùng bạn trước tiên xong cái 'A' cái đã; Bạn đồng ý không?
Bỡi bạn bỏ trộn ô trong trang 'Data', nên chúng ta lại quay về điểm xuất phát đó, bạn thấy tác động do hành vi bạn đem lại chưa đó?!

Hai Lúa Miền Tây
19-03-09, 09:14 AM
Mà dùng luôn thì khi update dữ liệu ở data thì sheet CHI TIẾT lại không update. :(


Bạn nên thao khảo cách sử dụng PivotTale ở đây: http://www.giaiphapexcel.com/forum/showthread.php?t=508


Khi dùng PivotTable nó có chức năng update dữ liệu mỗi khi bạn muốn: Khi nhập liệu ở sheet data bạn muốn dữ liệu update qua PivotTable thì bạn vào bảng đó rồi bấm vào nút "!" thì nó sẽ tự động tính toán và update dữ liệu cho bạn
Thân

M.A.N
19-03-09, 09:33 AM
ChanhTQ:

* Tại bảng A em muốn đưa thông tin chi tiết về số lượng hàng nhập, xuất của người nhận (người xuất) A trong đó nhận thì cần chit tiết hàng (to nhỏ, HN, SG ) như bảng tổng hợp anh đưa còn phần xuất thì chỉ cần tổng số xuất (không cần chi tiết to, nhỏ, HN, SG) và phần dư còn lại của từng tên hàng (Bằng tổng số nhập trừ tổng xuất)


* Hỏi bạn lần cuối, trên trang mình đưa ra, đúng bạn cần cột [Cộng] như vậy, phải không?}

Đúng là như vậy đó. Và chỉ cần cột đó thôi. Không cần chi tiết chỉ cần cột tên và cột tổng đó thôi. Anh bỏ 4 cột BCDE và thay bằng cột "TÊN" là được

PS: Phần trộn là do em thấy anh doofootwear làm và nghĩ là cần thiết. Sẽ rút kinh nghiệm ^^

Doofootwear: Cám ơn anh. EM sẽ tìm hiểu dần. Nếu được xin anh chỉ em biết cách xem những thao tác anh đã làm trên file đó

ChanhTQ@
19-03-09, 12:03 PM
Chú ý khi dùng:
Mình đã đổi tên Sheet2 => S3;
Sau mỗi lần chạy macro s3![F4] sẽ tự đổi màu.


Option Explicit
Sub HangNhap()
Dim eRw As Long, jJ As Long, bW As Byte
Dim bRng As Range, Rng As Range
Dim Sh As Worksheet: Dim tDat As Date

Sheets("Data").Select: eRw = [a65500].End(xlUp).Row
Set Sh = Sheets("S3"): Sh.Range("A5:F" & eRw).Clear

With Sh.[f4].Interior
If .ColorIndex < 34 Or .ColorIndex > 41 Then
.ColorIndex = 34
Else
.ColorIndex = .ColorIndex + 1
End If
End With
For jJ = 5 To eRw
With Cells(jJ, "A")
If .Value <> tDat And bRng Is Nothing Then
Set bRng = .Offset()
tDat = .Value
ElseIf .Value <> tDat And Not bRng Is Nothing Then
Set Rng = Range(bRng, .Offset())
With Sh.[b65500].End(xlUp).Offset(1)
.Offset(, -1) = tDat
.Value = Application.WorksheetFunction.Sum(Rng.Offset(, 3))
For bW = 1 To 3
.Offset(, bW) = WorksheetFunction.Sum(Rng.Offset(, bW + 3))
Next bW
.Offset(, bW) = WorksheetFunction.Sum(Range(.Offset(), .Offset(, 3)))
End With
Set bRng = Nothing: Set Rng = Nothing
End If
End With
Next jJ
End Sub

M.A.N
19-03-09, 01:17 PM
ChanhTQ: Nó toàn báo lỗi macro. Với cả nếu chạy chỉ để lấy cái tổng đó thôi thì dùng công thức cũng dc mà :( Hình như anh chưa hiểu ý.
Doof: Cám ơn file của anh. Rất chi tiết.

Hai Lúa Miền Tây
19-03-09, 02:42 PM
Nếu bạn muốn sum theo người nhận, giao thôi thì dùng cách trong file đính kèm nhé, Nếu bạn muốn thêm danh mục nào thì cứ việc kéo vào Pivottable nhe
Thân

M.A.N
20-03-09, 02:24 AM
To: Domfoowear
File của anh dùng rất tốt và khoa học. Phần tồn kho có đôi khi bị lỗi nhưng cái đó dễ làm :D

Anh có thể edit thêm 1 chút để có thể xem tổng hợp của 2 hoặc 3 hay 1 nhóm tên hàng không? Ngoài ra em đưa file lên có thêm phần dữ liệu về giá cả và thanh toán. Anh add thêm vào dùm em nhé /-*+/

Em vẫn đang loay hoay sắp xếp cái Pivottable chưa thể làm tốt được mà để càng lâu dữ liệu càng nhiều thì ... :D

Cám ơn anh trước.



EDIT: Bài dưới của anh rất hoàn thiện và đúng ý em. Chân thành cảm ơn anh.:)

Hai Lúa Miền Tây
20-03-09, 11:21 AM
Mình cũng chưa hiểu ý bạn lắm,
Bạn xem trong file đính kèm xem coi có đúng không nhé
Thân

M.A.N
21-03-09, 01:56 PM
Hí hí hí em làm đc như của anh Domfootwear rồi--=0
Đến sheet thứ 9 mới dc /-*+/
Hơi bị hay dc đấy :D

Hai Lúa Miền Tây
21-03-09, 02:04 PM
Cái này là do khi lúc mình chọn dữ liệu nguồn cho PivotTable là: data!$A$4:$G$160 nên khi update nó chỉ update dữ liệu từ $A$4:$G$160 trong sheet data, để cho nó update toàn bộ thì bạn sửa lại vùng chọn dữ liệu nguồn nhe : data!$A$4:$G$65536
Bạn xem trong file đính kèm nhe
Thân

thu_love
21-03-09, 04:33 PM
Các anh ơi
em có một vấn đề tương tự như trên
Em làm báo cáo hằng ngày nên phải kết xuất dữ liệu từ phần mềm ra excel
nhưng files excel kết ra lại rất nhiều dòng và cột
em muốn lọc và tổng hợp theo ngày bán hàng, và theo thu ngân, theo loại giao dịch
dưới dạng list, lọc với nhiều điều kiện
Chi tiết em đã ghi rõ trong files đính kèm nha

Các anh giúp em với

Hai Lúa Miền Tây
21-03-09, 04:47 PM
Bạn dùng PivotTable nhe
Bạn tham khảo trong file đính kèm xem coi đúng ý chưa nhe
Thân

thu_love
21-03-09, 04:56 PM
Đúng ý em rồi anh a
Em chỉ có một yêu cầu nhỏ là: anh có thể cho nó về excel 2007 được không ah
Vì sheet GD Ban của em rất nhiều dòng
vượt quá số dòng của excel 2003 (trong khi đó excel có tới hơn 1 triệu dòng liền)

Cảm ơn anh rất nhiều

(em bổ xong thêm danh sách mã thu ngân nữa anh sửa lại cho em nhé)

em sử dụng tính năng convert trong excel 2007 có được không anh

M.A.N
22-03-09, 11:18 AM
, để cho nó update toàn bộ thì bạn sửa lại vùng chọn dữ liệu nguồn nhe : data!$A$4:$G$65536


Mặc dù em cũng đã có thể làm file mới nhưng em vẫn chưa tìm thấy chỗ để edit dữ liệu nguồn của PivotTable. Anh chỉ giùm em xem nó ở chỗ nào hay không thể thay mà phải làm mới chọn lại

Và em có 1 thắc mắc nữa mong anh giúp đỡ là: Trong bảng data có cột ví dụ là cột A với các giá trị lần lượt là aaaaaaaaaabbbaaaaaa..... Tức là phần lớn các giá trị của cell trong cột bằng a chỉ có một vài dòng đặc biệt là b,c,d...thì có cách nào làm cho exel tự hiểu rằng nếu ô cell nào đó là trống thì ô đó có giá trị bằng ô trên nó không (Không hiện giá trị lên vì nó rối :D)

Hai Lúa Miền Tây
23-03-09, 08:20 AM
Đúng ý em rồi anh a
Em chỉ có một yêu cầu nhỏ là: anh có thể cho nó về excel 2007 được không ah
Vì sheet GD Ban của em rất nhiều dòng
vượt quá số dòng của excel 2003 (trong khi đó excel có tới hơn 1 triệu dòng liền)

Cảm ơn anh rất nhiều

(em bổ xong thêm danh sách mã thu ngân nữa anh sửa lại cho em nhé)

em sử dụng tính năng convert trong excel 2007 có được không anh
Bạn xem lại trong file đính kèm xem coi có đúng ý chưa nhe
Nếu bạn chuyển từ Excel 2007--> Về phiên bản trước đó vẫn được nhưng có nhiều tính năng của phiên bản trước đó không thể sử dụng được, ví dụ nếu bạn chuyển file đính kèm thành phiên bản 2003 thì công thức IFERROR sẽ không hiểu vì phiên bản này không có hàm IFERROR mà phải là IF(ISERROR(GIATRI),..,..) và PivotTable không thể sử dụng được
Thân

Hai Lúa Miền Tây
23-03-09, 08:32 AM
Mặc dù em cũng đã có thể làm file mới nhưng em vẫn chưa tìm thấy chỗ để edit dữ liệu nguồn của PivotTable. Anh chỉ giùm em xem nó ở chỗ nào hay không thể thay mà phải làm mới chọn lại

Và em có 1 thắc mắc nữa mong anh giúp đỡ là: Trong bảng data có cột ví dụ là cột A với các giá trị lần lượt là aaaaaaaaaabbbaaaaaa..... Tức là phần lớn các giá trị của cell trong cột bằng a chỉ có một vài dòng đặc biệt là b,c,d...thì có cách nào làm cho exel tự hiểu rằng nếu ô cell nào đó là trống thì ô đó có giá trị bằng ô trên nó không (Không hiện giá trị lên vì nó rối :D)
Nếu bạn sd phiên bản 2007 thì vào gờ Options cho5n change Data Source rồi chọn khối vùng dữ liệu cuối cùng là ok
PivotTable sẽ không hiểu nều như bạn để trống ô trong sheet data
Thân

M.A.N
25-03-09, 07:23 PM
Em dùng EXL 2003 nên không tìm thấy phần ý.

Anh có thể nói rõ hơn về ý dưới đây trong bài viết của bác PTM không? Em chưa hiểu làm như thế nào.

1. Đặt vùng dữ liệu nguồn của Pivot table vừa với vùng dữ liệu của "Data". Nếu bạm muốn thêm dữ liệu vào "data" mà không phải sửa nguồn DL, thì hãy tạo 1 name động cho "data" và dùng cái name này làm Data source cho Pivot table. Cụ thể là đặt 1 name Data với công thức:

=OFFSET(data!$A$4;0;0;COUNTA(data!$A$4:$A$65000);1 8)

tienphat323
17-07-11, 08:38 PM
em co một word book gôm nhiêu sheet
nhờ anh chị giup em làm sao khi điền ngày vào ô E3 (NHẬP XUẤT TRONG TUẦN) thi tự đông cập nhật số lượng nhập và xuất của mã hàng đó được không ạ
Hiện tại em đang dùng công thức sumproduct nhưng em co nhiều sheet lắm. làm không xuể!$@!!

thu_love
16-10-12, 05:38 PM
Các anh ơi, các anh chỉ em cách làm với trường hợp muốn tạo PivotTale nhưng không có cách nào làm được.
Em muốn lọc theo người bán hàng: để chọn được người bán, và list ra được tên khách hàng, số điện thoại khách hàng, loại hàng mà khách hàng mua và số tiền.
Nhưng vì lệch dòng nên em không biết cách làm để hiện cả tên hàng.

Nếu thêm được điều kiện lọc với số tiền mua thì hay quá: ví dụ lọc theo nhân viên bán, lọc theo ngày bán, lọc chia ra từ 6 triệu trở lên ...


Em cảm ơn nhiều ạ.

quanghai1969
19-10-12, 09:26 PM
Các anh ơi, các anh chỉ em cách làm với trường hợp muốn tạo PivotTale nhưng không có cách nào làm được.
Em muốn lọc theo người bán hàng: để chọn được người bán, và list ra được tên khách hàng, số điện thoại khách hàng, loại hàng mà khách hàng mua và số tiền.
Nhưng vì lệch dòng nên em không biết cách làm để hiện cả tên hàng.

Nếu thêm được điều kiện lọc với số tiền mua thì hay quá: ví dụ lọc theo nhân viên bán, lọc theo ngày bán, lọc chia ra từ 6 triệu trở lên ...


Em cảm ơn nhiều ạ.

Mình có ý tưởng tạm thế này bạn xem coi có ứng dụng được hay không
Nhâp tên NV vào E2 và số tiền vào F2, qua sheet LOC xem kết quả thế nào, có gì thì tính tiếp

HGIANGLE111
31-10-12, 01:30 PM
Minh đọc file demo từ bài viết của anh MAN từ anh hai lúa viết hay, nhưng anh hai lúa có thể chỉ cho mình cách làm được không.Cám ơn anh nhiều.

Hai Lúa Miền Tây
31-10-12, 02:14 PM
Minh đọc file demo từ bài viết của anh MAN từ anh hai lúa viết hay, nhưng anh hai lúa có thể chỉ cho mình cách làm được không.Cám ơn anh nhiều.

Bạn vào trang sau tải bài về xem nhé, hoặc google với từ khóa PivotTable.
http://www.giaiphapexcel.com/forum/content.php?47-Qu%C3%A0-t%E1%BA%B7ng-th%C3%A0nh-vi%C3%AAn-nh%C3%A2n-d%E1%BB%8Bp-SN4-Pivot-Table-2003

ngocquan1990
07-10-13, 11:21 AM
tình hình là em đang làm một file điện nước trong KTX, mỗi khi làm thì phải ghi ra giấy từng phòng một, bjo em muốn tính tổng tiền điện của sheet 1 thì sẽ hiển thị qua sheet 2 từng phòng 1

ngocquan1990
07-10-13, 02:08 PM
các đại ca giúp em với

dntnthaihien
31-10-13, 03:21 PM
Chỉ cần xài lệnh VLookup là được mà bạn ơi