ThuyNguyenHN
Thành viên hoạt động



- Tham gia
- 24/6/09
- Bài viết
- 159
- Được thích
- 12



Chào các anh chị
Em có bài toán như trong file đính kèm, mong nhận được sự giúp đỡ của các bạn!



bạn kiệm lời quá, nên đọc không hiểu gì, hơn nữa A1...A2, M1, ON1, BN1, OG1, BG1 là cái gì, là ký tự y vậy hay sao? mỗi sheet có 1 dòng duy nhất hay hơn,
"A1, B1, M1, ON1, BN1, OG1, BG1 không xuất hiện trong mảng A1:G1 của sheet B" - là đồng thời không xuất hiện, hay là tất cả, hay là chỉ 1 trong số các ký hiệu đó , có cần xuất hiện đúng trình tự đúng số ô đó không?
còn nhiều vấn đề, cần cụ thể thì may ra có thành viên nào đó hiểu giúp được
Chào các anh chị
Em có bài toán như trong file đính kèm, mong nhận được sự giúp đỡ của các bạn!
C5=IF(SUMPRODUCT(COUNTIF(A!A1:G1,B!A1:G1))=COUNTA(A!A1:G1),C4,"CHECK")
Cảm ơn Giosdoong
A1,A1, ...., BG1 hay A2, B2, ..., BG2 là các chuỗi nằm trong sheet A và Sheet B anh a.
Mỗi sheet đó có thể có nhiều hàng, em chỉ vd 1 hàng có dữ liệu như vậy ạ.
Chỉ cần 1 trong số đó xuất hiện thì ô đỏ để trống, k cần xuất hiện theo thứ tự mà cứ có xuất hiện 1 trong số đó là trống ạ
Cảm ơn Giosdoong
A1,A1, ...., BG1 hay A2, B2, ..., BG2 là các chuỗi nằm trong sheet A và Sheet B anh a.
Mỗi sheet đó có thể có nhiều hàng, em chỉ vd 1 hàng có dữ liệu như vậy ạ.
Chỉ cần 1 trong số đó xuất hiện thì ô đỏ để trống, k cần xuất hiện theo thứ tự mà cứ có xuất hiện 1 trong số đó là trống ạ
c5=IF(SUMPRODUCT(COUNTIF(OFFSET(A!$A$1,MATCH(C4,A!A1:A30,0)-1,0,1,7),OFFSET(B!$A$1,MATCH(B5,B!A1:A30,0)-1,0,1,7)))=7,C4,"CHECK")



rồi có nhiều Sheet A B không (tức là còn Sheet C D E không?), các chuỗi đó có khoảng trống không
nhiều dòng thì bạn nên đưa lên nhiều dòng lên
Sheet kết quả có nhiều dòng / cột không?
túm lại, nên đưa lại file gần thực tế nhất lên



Mã:c5=IF(SUMPRODUCT(COUNTIF(OFFSET(A!$A$1,MATCH(C4,A!A1:A30,0)-1,0,1,7),OFFSET(B!$A$1,MATCH(B5,B!A1:A30,0)-1,0,1,7)))=7,C4,"CHECK")
File chỉ có 3 sheet như vậy thôi anh,
các chuối k có khoảng trắng
Trong sheet A và sheet B chỉ có dữ liệu từ cột A đến cột G



vì vẫn kiệm lợi và không có file mới, nên tạm dùng công thức này đi
=IF(MAX(INDEX(COUNTIF(B!$B$1:$G$1,A!$B$1:$G$1),)),C$4,"")
vẫn có thể sai, nếu sheet A, B nhiều dòng
Công thức này không được.
Em có file dữ liệu đây, sheet A và sheet B có nhiều dòng,
=IF(MAX(INDEX(COUNTIF(OFFSET(B!$B$1:$G$1,MATCH(CHECK!$B5, B!$A$1:$A$10,0)-1,0),OFFSET(A!$B$1:$G$1,MATCH(CHECK!C$4,A!$A$1:$A$10,0)-1,0) ),)), C$4,"")



sheet B chưa nhiều dòng?
Sheet CHECK chưa nhiều dòng, nhiều cột?
(nên chuẩn bị dữ liệu chu đáo giống file thật nhất, đỡ làm mất thời gian, mệt người)
---------------------------------------------------
tạm coi như dữ liệu của sheet A có tối đa 10 dòng
dữ liệu của sheet B có tối đa 10 dòng
(nếu hơn 10 dòng thì sửa trong công thức
công thức
PHP:=IF(MAX(INDEX(COUNTIF(OFFSET(B!$B$1:$G$1,MATCH(CHECK!$B5, B!$A$1:$A$10,0)-1,0),OFFSET(A!$B$1:$G$1,MATCH(CHECK!C$4,A!$A$1:$A$10,0)-1,0) ),)), C$4,"")
công thức này đúng cho cả sheet Check nhiều dòng nhiều cột



tôi viết nhầm chút, đổi lại vị trí 2 cái cuối công thức
thành:
PHP:=IF(MAX(INDEX(COUNTIF(OFFSET(B!$B$1:$G$1,MATCH(CHECK!$B5, B!$A$1:$A$10,0)-1,0),OFFSET(A!$B$1:$G$1,MATCH(CHECK!C$4,A!$A$1:$A$10,0)-1,0) ),)),"", C$4)



tôi viết nhầm chút, đổi lại vị trí 2 cái cuối công thức
thành:
PHP:=IF(MAX(INDEX(COUNTIF(OFFSET(B!$B$1:$G$1,MATCH(CHECK!$B5, B!$A$1:$A$10,0)-1,0),OFFSET(A!$B$1:$G$1,MATCH(CHECK!C$4,A!$A$1:$A$10,0)-1,0) ),)),"", C$4)
Anh Gió Đông ơi!
Anh có thể giải thích thêm cho em về công thức này với ạ! Em tìm mãi mà vẫn chưa hiểu được rõ anh a!



bạn chất nó là countif thôi, giữa 2 vùng, nếu chứa thì sẽ trả về giá trị "", trái lại thì trả giá trị C$4 - giống nguyên lý công thức bài #9 mở rộng ra cho nhiều dòng
muốn hiểu các công thức bạn nên:
+ bấm F2, bôi đen (chọn) từng đoạn công thức (theo hàm chẳng hạn , theo nguyên lý từ trong ra ngoài) và bấm F9 -_> có kết quả của đoạn đó ---> cứ vậy sẽ hiểu
+ hiểu về hoạt động của các hàm .. thì cái này phải tìm đọc về hàm đó
+ cuối, giải thích công thức mà bạn chưa hiểu 2 điều trên thì khó lắm, ..., còn khi hiểu và thực hiện 2 điều trên thì đã hiểu công thức khỏi giải thích
vậy nhé, cứ thử xem



bản chất nó là countif thôi, giữa 2 vùng, nếu chứa thì sẽ trả về giá trị "", trái lại thì trả giá trị C$4 - giống nguyên lý công thức bài #9 mở rộng ra cho nhiều dòng
muốn hiểu các công thức bạn nên:
+ bấm F2, bôi đen (chọn) từng đoạn công thức (theo hàm chẳng hạn , theo nguyên lý từ trong ra ngoài) và bấm F9 -_> có kết quả của đoạn đó ---> cứ vậy sẽ hiểu
+ hiểu về hoạt động của các hàm .. thì cái này phải tìm đọc về hàm đó
+ cuối, giải thích công thức mà bạn chưa hiểu 2 điều trên thì khó lắm, ..., còn khi hiểu và thực hiện 2 điều trên thì đã hiểu công thức khỏi giải thích
vậy nhé, cứ thử xem
Chào anh Gió Đông
Em tìm hiểu từ hôm qua đến nay đã hiểu được phần công thức Match, Offset và Countif nhưng vẫn chưa hiểu được tại sao lại dùng hàm INDEX và MAX ở đây.
Anh chỉ giúp em với ạ!
cảm ơn anh!