Tìm những giá trị đáp ứng điều kiện!

Liên hệ QC

HuyAnhN

Thành viên mới
Tham gia
2/10/08
Bài viết
18
Được thích
0
Nhờ các bác giúp em với ạ. Đề bài như sau.
Em có 5 sheet dữ liệu (number) tương ứng: ngày 27,28,29,30,31
Lọc ra những giá trị(number) xuất hiện trong cả 5 sheet.

Mong các bác giúp đỡ.
 
Nhờ các bác giúp em với ạ. Đề bài như sau.
Em có 5 sheet dữ liệu (number) tương ứng: ngày 27,28,29,30,31
Lọc ra những giá trị(number) xuất hiện trong cả 5 sheet.

Mong các bác giúp đỡ.
Có biết giá trị trong các sheet đó là như thế nào? nằm cell nào? Lọc ra là đếm hay cộng lại?
Gửi file lên đi bạn.
 
Nhờ các bác giúp em với ạ. Đề bài như sau.
Em có 5 sheet dữ liệu (number) tương ứng: ngày 27,28,29,30,31
Lọc ra những giá trị(number) xuất hiện trong cả 5 sheet.

Mong các bác giúp đỡ.
+_+ =_= =_+ ^^ *_* ?_? @_@

Bạn up file lên cho cụ thể :
Mình cũng lọc xong rồi --> có tất cả 65536x255 giá trị là số --> nhưng Lọc xong những giá trị là số rồi thì để nó vào đâu ô nào ,hay là cho vào file txt __--__
 
File lớn quá ko up được em xin up lại
 

File đính kèm

  • Loc(1).xlsx
    15.4 KB · Đọc: 9
Bác cho em xin cả 2 cách (CT + Code VBA) với ạ
Code cao siêu xin chờ các cao thủ, mình chỉ làm được code cỡ này thôi: Đưa công thức vào, sau đó sử dụng AdvancedFilter để lọc kết quả, cuối cùng là xóa các đối tượng phụ.
[GPECODE=vb]Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
[A1].CurrentRegion.Clear
With Sheet5
.[B1] = "GPE"
.Range("B2:B" & .[A65536].End(xlUp).Row).FormulaR1C1 = _
"=COUNTIF('27'!C[-1],RC[-1])*COUNTIF('28'!C[-1],RC[-1])*COUNTIF('29'!C[-1],RC[-1])*COUNTIF('30'!C[-1],RC[-1])*COUNTIF(C[-1],RC[-1])"
.[D1] = "GPE"
.[D2] = ">0"
.[A1].CurrentRegion.AdvancedFilter 2, .[D1:D2], [A1]
.[B:D].Clear
End With
[B:B].Clear
[A1] = "Result"
Application.ScreenUpdating = True
End Sub[/GPECODE]
Thiệt tình là không biết bao nhiêu lần muốn nghiên cứu Array và Dictionary rồi, thậm chí để sẵn link trong chữ ký rồi, nhưng mà đến giờ vẫn sợ, chưa dám nghiên cứu.
 

File đính kèm

  • Loc.rar
    20.7 KB · Đọc: 8
Bác cho em xin cả 2 cách (CT + Code VBA) với ạ

Không biết có cách ngắn không, thôi thì cứ thử tí.
------------
Đặt 2 Name
Vung27 =OFFSET('27'!$A$2;0;0;COUNT('27'!$A:$A))

ArrIndex =IF(COUNTIF(OFFSET('28'!$A$2;0;0;COUNT('28'!$A:$A));Vung27)*
COUNTIF(OFFSET('29'!$A$2;0;0;COUNT('29'!$A:$A));Vung27)*
COUNTIF(OFFSET('30'!$A$2;0;0;COUNT('30'!$A:$A));Vung27)*
COUNTIF(OFFSET('31'!$A$2;0;0;COUNT('31'!$A:$A));Vung27)>0;
ROW(INDIRECT("1:"&ROWS(Vung27)));"")


Nếu các cột A có thể có dòng trống thì (tôi tin là với dữ liệu thực của bạn thì số 1E+306 là đủ):
Vung27 =OFFSET('27'!$A$2;0;0;MATCH(1E+306;'27'!$A:$A)-1)

ArrIndex =IF(COUNTIF(OFFSET('28'!$A$2;0;0;MATCH(1E+306;'28'!$A:$A)-1);Vung27)*COUNTIF(OFFSET('29'!$A$2;0;0;MATCH(1E+306;'29'!$A:$A)-1);Vung27)*COUNTIF(OFFSET('30'!$A$2;0;0;MATCH(1E+306;'30'!$A:$A)-1);Vung27)*COUNTIF(OFFSET('31'!$A$2;0;0;MATCH(1E+306;'31'!$A:$A)-1);Vung27)>0;ROW(INDIRECT("1:"&ROWS(Vung27)));"")

Công thức cho ô bất kỳ, kết thúc bằng CTRL + SHIFT + ENTER:
=INDEX(Vung27;SMALL(ArrIndex;ROWS($1:1)))
Kéo xuống tới khi gặp #NUM!
 
Bác cho em xin cả 2 cách (CT + Code VBA) với ạ

Thử vầy xem:
1> Đặt name:
Mã:
pos =IF(COUNTIF('28'!$A$2:$A$1000,'27'!$A$2:$A$1000)*COUNTIF('29'!$A$2:$A$1000,'27'!$A$2:$A$1000)*COUNTIF('30'!$A$2:$A$1000,'27'!$A$2:$A$1000)*COUNTIF('31'!$A$2:$A$1000,'27'!$A$2:$A$1000), ROW('Ket Qua'!$1:$999),"")
2> Công thức tại sheet Ket Qua:
Mã:
=IF(ROWS($1:1)>COUNT(pos),"",INDEX('27'!$A$2:$A$1000,SMALL(pos, ROWS($1:1))))
Kéo fill xuống
 

File đính kèm

  • Loc(1).xlsx
    15.9 KB · Đọc: 9
Web KT
Back
Top Bottom