Trích xuất dữ liệu (1 người xem)

Người dùng đang xem chủ đề này

gplantopia

Thành viên mới
Tham gia
5/12/14
Bài viết
20
Được thích
0
Hi all

[TABLE="width: 612"]
[TR]
[TD]Tôi muốn trích xuất dữ liệu từ "Rawdata"
[/TD]
[/TR]
[TR]
[TD]Dùng data validation cho Store sau đó sẽ list ra 2 danh mục hàng hóa có amount lớn nhất tại mỗi store
[/TD]
[/TR]
[TR]
[TD]Mong mọi người chỉ giúp.
[/TD]
[/TR]
[/TABLE]
 

File đính kèm

Bạn nào biết về cái này thì support tôi với.
 
Bạn tải lại file này nha.
 
Mạng bị chập. Đi 1 phát mấy bài
 

File đính kèm

Thanks bạn Giangleloi

Theo cách của bạn chỉ áp dụng được cho file đã sorting theo thứ tự rồi, file của mình data rất lớn, và mình không muốn phải sorting mới áp dụng công thức được, mà muốn automatically link ra sheet summury.

Bạn suy nghĩ giúp mình tiếp nhé
 
Hi all

[TABLE="width: 612"]
[TR]
[TD]Tôi muốn trích xuất dữ liệu từ "Rawdata"[/TD]
[/TR]
[TR]
[TD]Dùng data validation cho Store sau đó sẽ list ra 2 danh mục hàng hóa có amount lớn nhất tại mỗi store[/TD]
[/TR]
[TR]
[TD]Mong mọi người chỉ giúp.[/TD]
[/TR]
[/TABLE]
Có một vài kết quả ví dụ có lẽ sẽ nhanh hơn
 
Bạn nào biết về cái này thì support tôi với.
PHP:
Sub Copy()
Dim Sarr, Arr, i As Long, k As Long
With Sheets("Rawdata")
Sarr = .Range(.[A3], .[A65000].End(xlUp)).Resize(, 3).Value2
End With
ReDim Arr(1 To UBound(Sarr, 1), 1 To 3)
With Sheet2
For i = 1 To UBound(Sarr, 1)
    If Sarr(i, 1) = .[B2] Then
        k = k + 1
        Arr(k, 1) = Sarr(i, 2)
        Arr(k, 2) = Sarr(i, 1)
         Arr(k, 3) = Sarr(i, 3)
    End If
Next
.[A4:C65000].ClearContents
.[A4].Resize(k, 3).Value = Arr
End With
        
End Sub
Đoạn này tam thời giúp bạn lọc sang sheet2 nhanh hơn, muốn lấy 2 giá trị lớn nhất bạn nêu ví dụ cụ thể xem sao, store 2 lấy Mobile và
tivi hả bạn
 
@comet_1701

Store 1: Chip & Pin

Store 2: TV & Mobile

File của mình store đã được sorting từ trước, nay mình muốn sheet summury sẽ interface ra kết quả Tương ứng cho những sản phẩm như trên khi mình filer Store1/2 trong data

validation bất kể việc data trong "rawdata" để theo kiểu gì.

Thêm nữa mình muốn kết quả có thể auto link khi dữ liệu trong "Rawdata" thay đổi

Bạn xử lý bằng câu lệnh giúp mình, mình không biết về Macro.
 
Thanks bạn Giangleloi

Theo cách của bạn chỉ áp dụng được cho file đã sorting theo thứ tự rồi, file của mình data rất lớn, và mình không muốn phải sorting mới áp dụng công thức được, mà muốn automatically link ra sheet summury.

Bạn suy nghĩ giúp mình tiếp nhé

Muốn không sort thì cũng được mình mới làm cho bạn xong. Nhưng đọc lại mới thấy mỗi Store cần 2 mặt hàng lớn nhất. Để mình xem lại. Bạn có thể xài VBA theo các bác trên giúp đỡ cũng được kìa
 
^
Mình muốn làm bằng lệnh trước, để có thể áp dụng cho những trường hợp tương tự được

VBA mình chưa từng đọc qua nên không dám áp dụng

Bạn có thể up phần bạn làm lên được không, 2 mặt hàng lớn nhất mình có thể làm được.
 
^
Mình muốn làm bằng lệnh trước, để có thể áp dụng cho những trường hợp tương tự được
VBA mình chưa từng đọc qua nên không dám áp dụng
Bạn có thể up phần bạn làm lên được không, 2 mặt hàng lớn nhất mình có thể làm được.
Thử cách này xem sao.
 

File đính kèm

^
Mình muốn làm bằng lệnh trước, để có thể áp dụng cho những trường hợp tương tự được

VBA mình chưa từng đọc qua nên không dám áp dụng

Bạn có thể up phần bạn làm lên được không, 2 mặt hàng lớn nhất mình có thể làm được.

Muốn công thức Excel thì xem file này, Tất cả công thức trong Name, thay đổi tùy thích "cho những trường hợp tương tự" nhé.
Chú ý là dữ liệu chỉ trong khoảng 10.000 dòng thôi nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Mã:
=INDEX(Rawdata!$B$3:$B$12,MATCH(LARGE(IF(Rawdata!$A$3:$A$12=Sheet2!$B$2,Rawdata!$C$3:$C$12,""),[COLOR=#ff0000]ROWS($1:1))[/COLOR],IF(Rawdata!$A$3:$A$12=Sheet2!$B$2,Rawdata!$C$3:$C$12,""),0))
Đoạn màu đỏ nên sửa một chút được ko anh, thì bạn chỉ cần copy công thức xuống được luôn để ra hai giá trị lớn nhất trong vùng
 
@Ba Tê

Anh có thể giải thích giúp em ý nghĩa của tập lệnh trong "Hic'" được không.

=IF(ROWS(Sheet2!$1:8)>COUNT(IF(MATCH(Store,Store,0)=ROW(Store)-2,ROW(Store)-2,"")),"",INDEX(Store,SMALL(IF(MATCH(Store,Store,0)=ROW(Store)-2,ROW(Store)-2,""),ROWS(Sheet2!$1:8)),))
 
Lần chỉnh sửa cuối:
@Ba Tê

Anh có thể giải thích giúp em ý nghĩa của tập lệnh trong "Hic'" được không.

=IF(ROWS(Sheet2!$1:8)>COUNT(IF(MATCH(Store,Store,0)=ROW(Store)-2,ROW(Store)-2,"")),"",INDEX(Store,SMALL(IF(MATCH(Store,Store,0)=ROW(Store)-2,ROW(Store)-2,""),ROWS(Sheet2!$1:8)),))

Trên thanh Formula bạn tô đen ở từng đoạn không hiểu bấm F9 rồi tự thay đổi số bên bảng dữ liệu sẽ tự hiểu nhanh hơn ấy.
 
@giangleloi

Hi bạn

Bạn chỉ giúp mình ý nghĩa của "ROW(Store)-1" nằm trong hộp tên GPE có ý nghĩa như thế nào với
 
@giangleloi

Hi bạn

Bạn chỉ giúp mình ý nghĩa của "ROW(Store)-1" nằm trong hộp tên GPE có ý nghĩa như thế nào với

Theo mình biết hàm Row sẽ cho ra kết quả giá trị 1 mảng. Ví dụ Row(1:3)=> {1;2;3}. Còn trừ 1 ở đây theo mình hiểu là để cho khớp dòng với cái Num tìm được ở IF phía trước. Muốn chi tiết bạn chờ thầy BaTê giải thích thêm vậy.
 
@giangleloi

Hi bạn

................................

góp thêm một cách
lọc ra cửa hàng duy nhấy
Mã:
L2=IFERROR(INDEX(Store,MATCH(0,COUNTIF($L$1:L1,Store),0)),"")
- - --> nhấn Ctrl shift enter nha

cột C
Mã:
C4=IF(COUNTIF(Store,$B$2)>=ROW(1:1),LARGE(IF(Store=$B$2,OFFSET(Store,,2)),ROW(1:1)),"")
---> nhấn Ctrl shift enter nha

cột B
Mã:
B4=IF(COUNTIF(Store,$B$2)>=ROW(1:1),LOOKUP(2,1/(Store=$B$2)/(OFFSET(Store,,2)=C4),OFFSET(Store,,1)),"")
 

Bài viết mới nhất

Back
Top Bottom