so sánh 2 sheet trong excel

  • Thread starter quachthanhhuyen
  • Ngày gửi
Q

quachthanhhuyen

Guest
16/11/15
4
0
1
39
E có 2 sheet quản lý tài sản: CHƯƠNG TRÌNH VÀ THỰC TẾ, e muốn tìm sự giống và khác nhau, giữa 2 sheet.
Tìm tài sản giống nhau giữa 2 sheet và tài sản có trong sheet Chương trình, không có trong sheet Thực tế và ngược lại (tên tài sản, đơn vị, nguyên giá phải giống nhau). Khi so sánh thì không được lặp lại (vd: STT 50 trong sheet Chương trình giống STT 15 trong sheet Thực tế, 2 STT 15 và 50 đã bằng nhau, thì các lượt so sánh tiếp theo không được lặp lại).
Mỗi sheet của e tới 9.000 dòng, e đã dùng thử VLOOKUP, COUNTIF, ... nhưng không ra. E nghĩ là phải viết VBA, nhưng e không biết viết như thế nào. Mong mọi người giúp e. Cám ơn mọi người nhiều ạ.
 

Đính kèm

  • Vi du.xls
    54.5 KB · Lượt xem: 90
Khóa học Quản trị dòng tiền
K

Kin7

Cao cấp
8/5/15
5,196
987
113
Về so sánh có trong sheet này, và ko có trong sheet kia thì đơn giản.
Còn cái này: Khi so sánh thì không được lặp lạ
thì ko hiểu.
 
  • Like
Reactions: Lặng
Q

quachthanhhuyen

Guest
16/11/15
4
0
1
39
Dạ, vì thực tế là 1 Đơn vị có rất nhiều tài sản giống nhau ạ,
Ví dụ: Thực tế Chi nhánh B có 10 cái máy lạnh, nhưng trong Chương trình có 15 cái máy lạnh lận => chi nhánh B đang thiếu 5 cái máy lạnh.
Việc của e là tìm ra tài sản nào thiếu nữa ạ.
Vì e có nhờ người làm thử SQL nó ra kết quả em chóng mặt quá ạ. Nó cho kết quả cái máy lạnh thứ 1 bên Thực tế giống với 15 cái máy lạnh bên Chương trình, rồi quay lại cái máy lạnh thứ 2 giống với 15 cái ghế....như vậy cho đến hết 1o cái.
Kết quả là file gốc của e 9.000 dòng, sau khi so sánh thành 88.000 dòng, không biết cái nào thừa thiếu luôn.
 

Đính kèm

  • VD2.xls
    19.5 KB · Lượt xem: 63
K

Kin7

Cao cấp
8/5/15
5,196
987
113
Dạ, vì thực tế là 1 Đơn vị có rất nhiều tài sản giống nhau ạ,
Ví dụ: Thực tế Chi nhánh B có 10 cái máy lạnh, nhưng trong Chương trình có 15 cái máy lạnh lận => chi nhánh B đang thiếu 5 cái máy lạnh.
Việc của e là tìm ra tài sản nào thiếu nữa ạ.
Vì e có nhờ người làm thử SQL nó ra kết quả em chóng mặt quá ạ. Nó cho kết quả cái máy lạnh thứ 1 bên Thực tế giống với 15 cái máy lạnh bên Chương trình, rồi quay lại cái máy lạnh thứ 2 giống với 15 cái ghế....như vậy cho đến hết 1o cái.
Kết quả là file gốc của e 9.000 dòng, sau khi so sánh thành 88.000 dòng, không biết cái nào thừa thiếu luôn.
Bạn nên nghiên cứu kỹ điều bạn muốn làm.
Rồi lên đây nói 1 cách rõ và sáng ý nhất có thể.
Đọc điều bạn giải thích mình thấy rối mù lên.
Nếu như bạn nói. Thì chỉ cần lọc ra danh sách duy nhất của từng sheet. Rồi dùng countif để đếm.
Là ra được Thực tế có bao nhiêu cái máy lạnh. Chương trình có bao nhiêu cái. Của chi nhánh B luôn thì dùng Countifs.
Thấy có vẻ đơn giản nhỉ.
Nên dùng cái mình thạo. Và tin tưởng vào kết quả nó đưa ra.
Dùng SQL mà ko hiểu thì hơn mua bò vẽ bóng.
 
H

haibg93

Guest
12/9/14
4
2
3
31
Bên chị không theo dõi tài sản ccdc theo series a, theo y chi thi neu co thực tế có 3 cái bàn mà trong hệ thống có 1 cái thì nó 2 cái nó sẽ báo ở bên thực tế bên hệ thống ko có đúng không. Em đã viết code vba, sau khi chạy cột G ở thực tế và F ở chương trình show các cái chưa có ở bên tương ứng chạy module 1 nha.
Sub sosanh()
Dim i, j, a, b As Long
a = Worksheets("THUC TE1").Range("A" & Rows.Count).End(xlUp).Row
b = Worksheets("CHUONGTRINH1").Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To a Step 1
For j = 1 To b Step 1
If StrComp(Worksheets("THUC TE1").Cells(i, 7), Worksheets("CHUONGTRINH1").Cells(j, 6), vbTextCompare) = 0 Then
Worksheets("THUC TE1").Cells(i, 7).ClearContents
Worksheets("CHUONGTRINH1").Cells(j, 6).ClearContents
End If
Next j
Next i
End Sub
 

Đính kèm

  • Vi du.xls
    62.5 KB · Lượt xem: 79
Sửa lần cuối:
Espresso

Espresso

Trung cấp
30/10/15
108
34
28
74
Vẫn chưa rõ . VD:

Tại STT 50 và 15 đại khái :

A 50 1
A 15 1
A 50 1

Vậy count như thế nào ???

Nếu 2 cái A ở 50 thì count là 1 ??? Trong 3 cái count là 2 ( vì trong 50 unique là + count trong 15) . Đúng không ???

Bàn hội trường Chi Nhánh B có 3 cái, vậy count như thế nào ??? (nếu unique thì bằng 1 )

Làm table ví dụ như trên để dễ hiều .
 
K

Kin7

Cao cấp
8/5/15
5,196
987
113
Vẫn chưa rõ . VD:

Tại STT 50 và 15 đại khái :

A 50 1
A 15 1
A 50 1

Vậy count như thế nào ???

Nếu 2 cái A ở 50 thì count là 1 ??? Trong 3 cái count là 2 ( vì trong 50 unique là + count trong 15) . Đúng không ???

Bàn hội trường Chi Nhánh B có 3 cái, vậy count như thế nào ??? (nếu unique thì bằng 1 )

Làm table ví dụ như trên để dễ hiều .
2 cái A50 Count là 1?
 
Espresso

Espresso

Trung cấp
30/10/15
108
34
28
74
2 cái còn quá it, sơ sơ
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn hội trường Chi Nhánh B
Bàn hội trường Chi Nhánh B
Bàn hội trường Chi Nhánh B
Bàn họp lớn 2 Verneer xoan đào Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B

Bởi thế mới phải hỏi , muốn theo kiểu nào .

2 cái A50 Count là 1? thì lấy đau ra phân phối Chi Nhánh kha'c??? . Nếu chỉ là bài toán đố thì OK .
Trăm cái cũng thành 1 --> Unique , đâu cần tính, vi filter unique (Advanced Filter)
.
 
Sửa lần cuối:
K

Kin7

Cao cấp
8/5/15
5,196
987
113
2 cái còn quá it, sơ sơ
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn làm việc ( gồm bàn phụ VT, hộc 3 ngăn, đế để CPU ) Chi Nhánh A
Bàn hội trường Chi Nhánh B
Bàn hội trường Chi Nhánh B
Bàn hội trường Chi Nhánh B
Bàn họp lớn 2 Verneer xoan đào Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B
Bàn Inox tròn Chi Nhánh B


Bởi thế mới phải hỏi , muốn theo kiểu nào .
Chủ thớt ko diễn đạt ý muốn của mình nên ko hiểu được.
 
Q

quachthanhhuyen

Guest
16/11/15
4
0
1
39
Bên chị không theo dõi tài sản ccdc theo series a, theo y chi thi neu co thực tế có 3 cái bàn mà trong hệ thống có 1 cái thì nó 2 cái nó sẽ báo ở bên thực tế bên hệ thống ko có đúng không. Em đã viết code vba, sau khi chạy cột G ở thực tế và F ở chương trình show các cái chưa có ở bên tương ứng chạy module 1 nha.
Sub sosanh()
Dim i, j, a, b As Long
a = Worksheets("THUC TE1").Range("A" & Rows.Count).End(xlUp).Row
b = Worksheets("CHUONGTRINH1").Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To a Step 1
For j = 1 To b Step 1
If StrComp(Worksheets("THUC TE1").Cells(i, 7), Worksheets("CHUONGTRINH1").Cells(j, 6), vbTextCompare) = 0 Then
Worksheets("THUC TE1").Cells(i, 7).ClearContents
Worksheets("CHUONGTRINH1").Cells(j, 6).ClearContents
End If
Next j
Next i
End Sub
C cũng mới nhận công việc kế toán quản lý tài sản này được 1 tuần, mà những người đi trước ko theo dõi seri e ah, nếu có theo dõi thì chắc VLOOKUP đã ra rồi e. C đang thử đoạn sub e viết. Cám ơn e đã giúp.
 
Q

quachthanhhuyen

Guest
16/11/15
4
0
1
39
Bạn nên nghiên cứu kỹ điều bạn muốn làm.
Rồi lên đây nói 1 cách rõ và sáng ý nhất có thể.
Đọc điều bạn giải thích mình thấy rối mù lên.
Nếu như bạn nói. Thì chỉ cần lọc ra danh sách duy nhất của từng sheet. Rồi dùng countif để đếm.
Là ra được Thực tế có bao nhiêu cái máy lạnh. Chương trình có bao nhiêu cái. Của chi nhánh B luôn thì dùng Countifs.
Thấy có vẻ đơn giản nhỉ.
Nên dùng cái mình thạo. Và tin tưởng vào kết quả nó đưa ra.
Dùng SQL mà ko hiểu thì hơn mua bò vẽ bóng.
Dạ, cám ơn bạn đã góp ý, mình là dân kế toán cũng ko rành lắm về tin học nên nói chắc bạn khó hiểu, mình đã thử VLOOKUP, COUNTIF...ko được mới mong người giúp đỡ.
Sơ lược như sau:
Tổng Công ty mình quản lý 20 chi nhánh
.Khi được cấp tài sản thì chi nhánh sẽ nhập Tăng tài sản, khi thanh lý hoặc điều chuyển cho chi nhánh khác thì nhập Giảm tài sản. các chi nhánh đôi khi quên không nhập Tăng/Giảm tài sản => dẫn đến chênh lệch số liệu kế toán trên Chương trình so với THực tế.
Mình có 2 sheet quản lý tài sản : CHƯƠNG TRÌNH ( kết xuất dữ liệu từ chương trình quản lý tài sản) và THỰC TẾ (theo dõi thực tế tại cơ quan).
Nhiệm vụ của e là kiểm tra tài sản nào Thực tế có mà Chương trình không có , Chương trình có mà Thực tế không có => lọc ra
tài sản giống nhau là tài sản có cùng giá, cùng đơn vị quản lý.
Không biết e diễn đạt vậy được chưa, mong mọi người chỉ bảo.
 

Đính kèm

  • VD3.xlsx
    112.7 KB · Lượt xem: 67
K

Kin7

Cao cấp
8/5/15
5,196
987
113
Dạ, cám ơn bạn đã góp ý, mình là dân kế toán cũng ko rành lắm về tin học nên nói chắc bạn khó hiểu, mình đã thử VLOOKUP, COUNTIF...ko được mới mong người giúp đỡ.
Sơ lược như sau:
Tổng Công ty mình quản lý 20 chi nhánh
.Khi được cấp tài sản thì chi nhánh sẽ nhập Tăng tài sản, khi thanh lý hoặc điều chuyển cho chi nhánh khác thì nhập Giảm tài sản. các chi nhánh đôi khi quên không nhập Tăng/Giảm tài sản => dẫn đến chênh lệch số liệu kế toán trên Chương trình so với THực tế.
Mình có 2 sheet quản lý tài sản : CHƯƠNG TRÌNH ( kết xuất dữ liệu từ chương trình quản lý tài sản) và THỰC TẾ (theo dõi thực tế tại cơ quan).
Nhiệm vụ của e là kiểm tra tài sản nào Thực tế có mà Chương trình không có , Chương trình có mà Thực tế không có => lọc ra
tài sản giống nhau là tài sản có cùng giá, cùng đơn vị quản lý.
Không biết e diễn đạt vậy được chưa, mong mọi người chỉ bảo.
Bạn cần mọi người giúp ở file nào?
Mình thấy comment nào bạn cũng đính kèm file.
cái vấn đề Thực tế có mà Chương trình không có , Chương trình có mà Thực tế không có => lọc ra đơn giản thôi.
 
Espresso

Espresso

Trung cấp
30/10/15
108
34
28
74
Thử như Method này xem sao (VD3)

1- Vì trong trang ChuongTrinh có nhiều cái Duplicate nên ta cần phải lọc (chưa có viết phần SUM)

2- Tạm thời lọc trước để ướm thử

3- Copy rồI Paste Header ở row = 1150

STT Ma TS Ten TS Don Vi

4- Paste công thức này vào A1151
=INDEX($A$2:$E$1147, MATCH(0, COUNTIFS($C$1150:$C1150, $C$2:$C$1147, $D$1150:$D1150, $D$2:$D$1147), 0), COLUMN(A1))

Ctrl+Shift+Enter

5- Kéo sang bên phải đến cột Đơn Vị
6- Drag từ A1151 đến D1151 để highlite
7- Kéo xuống 20 dòng , Sơ sơ thôi để ta kiểm chứng bộ Filter
8- Nhận diện : Máy vi tính xách tay Dell Vostro 5470 --> có 4 cái
Vậy Filter sẽ không count và nhảy đến 8 (STT) là món hàng khác

Sẽ viết SUM Số Lượng) sau . Có bản Filter sạch sẽ mớI dễ kiể soát .
Trường hợp món hàng trong CT mà không có trong Thuc Te , chắc không gì khó đau

I'll try my best
 
  • Like
Reactions: quachthanhhuyen
H

haibg93

Guest
12/9/14
4
2
3
31
Hình như chị không thử code em viết à? kết quả chạy đây. nhưng nhiều TS 2 bên dien giai ten khac nhau se ko tim duoc
 

Đính kèm

  • VD3.xlsx
    136.1 KB · Lượt xem: 65
Espresso

Espresso

Trung cấp
30/10/15
108
34
28
74
Đã chỉ lọc rồi

Giờ thì công thức thức chính cho đúng ý " Hiện ra Có trong Thuc Te mà không có trong Chương trình danh sách

Tại ô G2 của ThucTe

G2 =IF(COUNTIF(ChuongTrinh!$C$2:$C$1147,B2),"",B2)

Có cần gì mà phải Frequency, rồi dài lê thê, lại dùng SQL ???
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA