Xin giúp đỡ về trích lọc dữ liệu (1 người xem)

  • Thread starter Thread starter kbw1
  • Ngày gửi Ngày gửi

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

kbw1

Thành viên tích cực
Tham gia
8/11/13
Bài viết
880
Được thích
231
Hiện tại mình đang gặp 1 vấn đề sau. Trong 1 năm mình phát sinh bán rất nhiều mã vs mỗi lần bán giá bán lại khác nhau.
Mình muốn làm sao để gõ 1 mã, nó sẽ tự động hiển thị tất cả các lần phát sinh trong năm đấy cho mình.
Mọi ng có cách nào đơn giản ko chỉ mình vs. Mình ko thạo VBA nên ko muốn dùng.
Ngày trước có học cách lọc dữ liệu kiểu này, giờ mình ko nhớ nổi.
Mong mọi ng giúp đỡ mình nhé.
Mình gửi file đính kèm. Mọi ng xem hộ mình nhé.
 

File đính kèm

Mình ko dùng filter được.
Vì mình cần đứng ở sheet khác, lọc ra, để copy.
Nếu dùng filter phải quay về sheet dữ liệu gốc, như vậy rất mất thời gian.
 
Ctr+F3 mà xem Name, trong Name có công thức. nghiên cứu từng công thức .........chứ chẳng biết hướng dẫn dư lào cả.--=0--=0--=0--=0--=0
Bạn có thể hướng dẫn mình từ bước đầu đến cuối ko.
Bộ khung ấy.
Mình đang nghiên cứu công thức của bạn. Giờ bạn nói đến đặt name mình xem lại từ đầu.
Mình nghiên cứu vấn đề này lâu rồi. Cảm ơn bạn nhiều.
 
Hoặc mình có thể ko cần dùng đặt name có được ko?
Và tại sao bạn đặt name.
Trả lời giúp mình được ko?
 
Hoặc mình có thể ko cần dùng đặt name có được ko?
Và tại sao bạn đặt name.
Trả lời giúp mình được ko?

cách 1: vẫn dùng cthuc mảng
Mã:
B2=IFERROR(INDEX(Sheet1!$B$2:$B$13,SMALL(IF(Sheet1!$A$2:$A$13=$A$2,ROW(Sheet1!$A$2:$A$13)-1),ROW(1:1))),"")
nhớ nhấn Ctrl shift enter dể kết thúc

cách 2: mượn cột phụ
Mã:
C2=IF(ROW(1:1)>COUNTIF(Sheet1!$A$2:$A$13,$A$2),"",MATCH($A$2,OFFSET(Sheet1!$A$2:$A$13,C1,),0)+C1)

Mã:
B2=IF(C2<>"",INDEX(Sheet1!$B$2:$B$13,C2),"")
 
cách 1: vẫn dùng cthuc mảng
Mã:
B2=IFERROR(INDEX(Sheet1!$B$2:$B$13,SMALL(IF(Sheet1!$A$2:$A$13=$A$2,ROW(Sheet1!$A$2:$A$13)-1),ROW(1:1))),"")
nhớ nhấn Ctrl shift enter dể kết thúc

cách 2: mượn cột phụ
Mã:
C2=IF(ROW(1:1)>COUNTIF(Sheet1!$A$2:$A$13,$A$2),"",MATCH($A$2,OFFSET(Sheet1!$A$2:$A$13,C1,),0)+C1)

Mã:
B2=IF(C2<>"",INDEX(Sheet1!$B$2:$B$13,C2),"")
Mình đang ngâm cứu hướng dẫn của bạn kia vẫn chưa hiểu.
Cảm ơn bạn. Lát mình sẽ ngâm cứu tiếp.
 
Bạn có thể trả lời giúp mình công thức:=offset($A$2;;;counta($a$2:$a$1000)) ý nghĩa là gì ko bạn.
 
Và công thức này nữa bạn: =IF(NAME=Sheet2!$A$2;ROW(NAME)-2;"")
Bạn có thể giải thích cho mình chỗ Row (name)-2 là gì. Tại sao lại là -2 vậy?
 
Bạn có thể giải thích cho mình chỗ Row (name)-2 là gì.
không phải bạn bị bí chỗ này, cái chính là quy trình của công thức này chạy ra sao thôi.
Bạn nên tìm hiểu quy trình chạy công thức sau đó tự nhiên bạn sẽ hiểu mọi thứ
 
không phải bạn bị bí chỗ này, cái chính là quy trình của công thức này chạy ra sao thôi.
Bạn nên tìm hiểu quy trình chạy công thức sau đó tự nhiên bạn sẽ hiểu mọi thứ
Mình vừa thú vị, vừa đau đầu. Ko hiểu sao lại thế bạn ạ.
 
không phải bạn bị bí chỗ này, cái chính là quy trình của công thức này chạy ra sao thôi.
Bạn nên tìm hiểu quy trình chạy công thức sau đó tự nhiên bạn sẽ hiểu mọi thứ
Bạn có thể hướng dẫn mình ko.
mình ko hiểu chỗ đấy. Tìm mãi mà ko hiểu.
 
Mình vừa thú vị, vừa đau đầu. Ko hiểu sao lại thế bạn ạ.
không hiểu thì từ từ rồi sẽ hiểu, tay ngang vào mà gặp những công thức hóc búa không hiểu là bình thường, không phải 1 mình bạn không hiểu những loại công thức này mà có rất nhiều nhiều người không hiểu đó bạn, bạn cứ từ từ xem đi, xem cho kỹ
bài này muốn học được thì phải biết kết quả của hàm offset trả về như thế nào
từ đó bạn sẽ xác định vùng dữ liệu Name
sau đó tìm hiểu hàm row
thì tự động bạn sẽ biết row(name) sẽ trả về cái gì
Chung quy câu hỏi của bạn kết quả trả về là số dòng của những thằng đúng đk
 
không hiểu thì từ từ rồi sẽ hiểu, tay ngang vào mà gặp những công thức hóc búa không hiểu là bình thường, không phải 1 mình bạn không hiểu những loại công thức này mà có rất nhiều nhiều người không hiểu đó bạn, bạn cứ từ từ xem đi, xem cho kỹ
bài này muốn học được thì phải biết kết quả của hàm offset trả về như thế nào
từ đó bạn sẽ xác định vùng dữ liệu Name
sau đó tìm hiểu hàm row
thì tự động bạn sẽ biết row(name) sẽ trả về cái gì
Chung quy câu hỏi của bạn kết quả trả về là số dòng của những thằng đúng đk
Cảm ơn bạn. Mình hiểu name ở đây là gì rồi. Nhưng hàm name chạy ra =2 mà - 2 bằng 0.
Mình nghiên cứu nhiều lắm. Giờ mình cần 1 sự chỉ hướng tiếp theo để đi.
Mình tịt rồi bạn ạ.
 
Tại sao lại là -2, ..............hay -1 , hay trừ 3,......hay trừ n.
Với công thức tôi làm ở trên, có thể tôi chỉnh lại chỗ ấy = -1 or -3 or -4 .... or -n cũng được (thì công thức bên ngoài sheet tôi lại chỉnh cell cho tương ứng cái mới là -1 -> -n chứ không phải -2 như ban đầu).

Bạn phải tìm đọc hàm Offset và hiểu về nó rồi thì sẽ hiểu tại sao chỗ ấy lại -2 hay -n.
còn bảo tôi giải thích cho bạn hiểu thì bó tay........vì tôi học excel theo kiểu núi rừng ấy. đụng gì học ấy.....nên không thể giải thích như người học bài bản trường lớp được.--=0--=0--=0--=0--=0
Bạn cứ giải thích cho mình đi bạn.
Tại sao lại là - bạn.
 
Bạn cứ giải thích cho mình đi bạn.
Tại sao lại là - bạn.
bạn tìm hiểu hàm offset đi rồi bạn muốn trừ hay cộng gì gì đó là tùy bạn, tôi có thể giải thích cho bạn là tại sao -2,-1..., nhưng tôi giải thích mà bạn cũng chả hiểu cách áp dụng của hàm Offset thì giống như nước đổ đầu vịt, nên tôi sẽ không tham gia trả lời vấn đề này
 
bạn tìm hiểu hàm offset đi rồi bạn muốn trừ hay cộng gì gì đó là tùy bạn, tôi có thể giải thích cho bạn là tại sao -2,-1..., nhưng tôi giải thích mà bạn cũng chả hiểu cách áp dụng của hàm Offset thì giống như nước đổ đầu vịt, nên tôi sẽ không tham gia trả lời vấn đề này
Mình tìm hiểu hàm offset rồi bạn.
Nhưng công nhận hàm này khó hiểu.
Nhưng mình đang hiểu rồi.
Hàm OFFset là hàm tham chiếu. Offset(cái đầu tiên là địa chỉ để tham chiếu (gọi nó là mốc đi), cái thứ 2 là hàng kể từ mốc đi lên hoặc xuống, cái thừ 3 là cột kể từ mốc sang trái, hoặc phải, cái thứ 4 là độ cao, thứ 5 là cột).
hi vọng bạn giúp đỡ mình.
 
bạn tìm hiểu hàm offset đi rồi bạn muốn trừ hay cộng gì gì đó là tùy bạn, tôi có thể giải thích cho bạn là tại sao -2,-1..., nhưng tôi giải thích mà bạn cũng chả hiểu cách áp dụng của hàm Offset thì giống như nước đổ đầu vịt, nên tôi sẽ không tham gia trả lời vấn đề này
Mình tìm hiểu vấn đề này 1 cách nghiêm túc nhất có thể đấy bạn.
 
Có ai có thể hướng dẫn mình về hàm offset ko.
Mình đọc nhiều nhưng ko hiểu.
Bắt đầu ko hiểu từ đoạn hàng, cột (chiều cao, chiều rộng).
 
Có ai có thể hướng dẫn mình về hàm offset ko.
Mình đọc nhiều nhưng ko hiểu.
Bắt đầu ko hiểu từ đoạn hàng, cột (chiều cao, chiều rộng).

bạn đọc chi tiết ở đây
http://www.giaiphapexcel.com/forum/showthread.php?7188-Hàm-Offset-và-Validation

bạn có thể hiểu môn na là vậy
offset tiếng việt có nghĩa là dời đi, dịch chuyển đi
bạn hãy mởi một file excel ra
tại cell A4 hay gõ "toi la ai"
sau đó tại một cell nào đó hãy gõ cthuc nay
Mã:
=OFFSET(A1,3,)
bạn sẽ thấy kết quả
tương tư như vậy bạn hãy làm cho cột
tại D1 hãy gõ "ai la toi"
Mã:
=OFFSET(A1,,3)
===========
để thử với chiều rộng và cao bạn phải dùng name mới thấy
nhấn Ctrl F3==> chon new đặt name là "cao"
gõ thuc nay vào
Mã:
=OFFSET($A$1,,,3)
rồi tại cửa sổ name manger bạn hãy nhấp vào mũi tên tại ô "refer to:" bạn sẽ thấy được vùng tham chiếu của bạn là từ A1:A3
tương như như vậy bạn hãy thử với name "rong"
Mã:
=OFFSET($A$1,,3)
============
túm lại là
offset(tham chiếu của bạn, số dòng nó dời đi, số cot no dời đi,chiều cao(hay so dong) mà nó sẻ mởi rông ra,chiều rộng (hay so cột) mà nó sẻ mởi rông ra)
 
bạn đọc chi tiết ở đây
http://www.giaiphapexcel.com/forum/showthread.php?7188-Hàm-Offset-và-Validation

bạn có thể hiểu môn na là vậy
offset tiếng việt có nghĩa là dời đi, dịch chuyển đi
bạn hãy mởi một file excel ra
tại cell A4 hay gõ "toi la ai"
sau đó tại một cell nào đó hãy gõ cthuc nay
Mã:
=OFFSET(A1,3,)
bạn sẽ thấy kết quả
tương tư như vậy bạn hãy làm cho cột
tại D1 hãy gõ "ai la toi"
Mã:
=OFFSET(A1,,3)
===========
để thử với chiều rộng và cao bạn phải dùng name mới thấy
nhấn Ctrl F3==> chon new đặt name là "cao"
gõ thuc nay vào
Mã:
=OFFSET($A$1,,,3)
rồi tại cửa sổ name manger bạn hãy nhấp vào mũi tên tại ô "refer to:" bạn sẽ thấy được vùng tham chiếu của bạn là từ A1:A3
tương như như vậy bạn hãy thử với name "rong"
Mã:
=OFFSET($A$1,,3)
============
túm lại là
offset(tham chiếu của bạn, số dòng nó dời đi, số cot no dời đi,chiều cao(hay so dong) mà nó sẻ mởi rông ra,chiều rộng (hay so cột) mà nó sẻ mởi rông ra)
Cảm ơn bạn!
Bạn nói mình đã hiểu ra thêm rồi.
Nhưng khi gặp bài tính tổng đơn giản mà có đủ cả hàng, cột, cao, rộng thì kết quả ra mình ko xác định được vùng nó tính tổng bạn ạ.
 
Hình như dùng offset ng ta ko dùng đồng thời 4 cái là ròng, cột, cao, rộng đâu bạn nhỉ.
Chỉ dùng tối thiểu là 2 thôi đúng ko.
 
Những cái này mình đọc hết rồi bạn ạ.
Tìm trên google cũng hết rồi.
Ko tự hiểu được.
Có bạn nào nói cho mình được ko.
Mình nghĩ cái offset này giống tọa độ quá.
 
Xin giải thích thêm từ trả lời của anh Let'Gâu'Gâu vì thấy bạn ấy cố tình phải hiểu bẳng được cái hàm offset này


ACE ở diễn đàn này nói thật là.........quá nhiệt tình. Ở topic này........cũng như mọi topic khác.
Bạn chủ top này ấy, cái gì chưa biết thì từ từ sẽ biết..........vọc diết, xem diết, đọc diết.......rồi sẽ từ từ ngộ ra. Người ta nói "dục tốc bất đạt" là vậy đó. nên đừng có nôn nóng......từ từ rồi tự nhiên sẽ hiểu.
Mình cũng cảm ơn bạn nhiều nhé.
Mình bắt đầu hiểu hiểu ra.
Ý là mốc từ B1 chuyển sang D3. Từ D3 (mở ra độ cao tức là hàng; 3 hàng kéo xuống dưới là 5), mở rộng ra là cột ở đây là 1, tức là cột 1 chính là cột D3 nhưng giới hạn từ D3 xuống đến D5. Mình nghĩ là khả năng ko vượt qua D5 được.
Nếu mình muốn nó mở ra sau D6,7 thì mình sẽ mở hàng ra nữa đúng ko các bạn.
Nếu chia công thức ra mình hiểu. Nhưng gộp vào như vậy mình ko hiểu được.
Mình muốn hỏi thêm chút nữa.
Trong công thức Offset các chỉ tiêu như hàng, cột, độ cao, độ rộng giá trị bằng không =0, hoặc ko điền gì thì sẽ hiểu là thế nào vậy?
 
Mình cần dùng công thức này. Mình cũng ko có nhiều thời gian để làm 1 việc ấy. Nên phải tranh thủ.
Cả tối qua đến muộn mình vẫn xem công thức này.
Có thể mình ko đủ khả năng sử dụng linh hoạt nó.
Nhưng ít nhất mình muốn dùng nó để làm được file như hôm nọ bạn hpkhuong đã giúp mình. Có thể chỉ dùng công thức này làm 1 file đấy thôi cũng được.
Vì hiện tại excel chưa có chức năng tương tự để mình click và lọc.
 
Diễn đàn rất nhiều điều bổ ích, không nên hỏi quá nhiều mà hãy vọc thêm và tư duy thêm thì sẽ tự hiểu ra vấn đề.
 
Diễn đàn rất nhiều điều bổ ích, không nên hỏi quá nhiều mà hãy vọc thêm và tư duy thêm thì sẽ tự hiểu ra vấn đề.
Mình nghĩ quan trọng ko phải là hỏi nhiều hay hỏi ít.
Quan trọng là biết hỏi hay ko biết hỏi. Có đi tiếp hay dừng lại.
Nhờ mấy câu hỏi thêm, mấy câu trả lời thêm của các bạn đã giúp mình mà mình đã hiểu ra 1 số cái rồi.
 
Sau 1 thời gian mình đã hiểu sơ sơ về cách dùng hàm OFFSET. Dạng bài này cũng gặp khá nhiều trên 4rum.
Nhưng đến giờ mình lại bắt đầu ko hiểu hàm row. Chính xác thì ko hiểu cách mọi ng dùng trong công thức có tác dụng gì. Vì mình đọc hàm row cũng thấy dễ hiểu. Nhưng ko hiểu khi cho vào công thức OFFSET có tác dụng ntn.
(Ví dụ như hàm Index, đọc hướng dẫn thì hiểu ngay công dụng, nhưng chẳng nhẽ lại chỉ ra cột vs dòng như trong hướng dẫn. Mình đã tìm hiểu cách dùng hàm Index ms biết hướng dẫn chỉ là cơ bản. Để có thể đem dùng được (kết hợp linh hoạt) cần có sự nâng cao hơn, linh hoạt hơn vd kết hợp vs hàm Match).
Giờ vs hàm Row này cũng vậy.
Các bạn giúp mình vs. Chỉ cho mình hiểu công dụng của hàm ROW vs.
Cảm ơn mọi người!
 
Mình có tìm được file này. Hình như yêu cầu cũng như file của mình.
Công thức có vẻ đơn giản hơn.
Nhưng mình lại ko hiểu đoạn cuối của công thức này =IF(MONTH(date)=Sheet1!$D$2,ROW(INDIRECT("1:"&ROWS(date))),"").
 

File đính kèm

Thấy bạn đã có 5 trang hỏi đáp rất nhiều vấn đề. Chỉ lưu ý bạn về những công thức bạn dùng trong bài #43. Khi bạn chưa thành thạo mảng thì khoan hãy dùng nó bởi sẽ có thể lạc vào ma trận mà chưa biết đường ra, bạn hãy tận dụng những công thức đơn giản với cột phụ để làm sau đó chuyển qua mảng, dần dần sẽ thành thạo và áp dụng linh hoạt ngay ấy mà

Ví dụ bài #43 bạn dùng cột C làm cột phụ. Tại C2 bạn gõ
Mã:
=IF(MONTH(B2)=$D$2,ROW(1:1),"")

Tại F2 bạn gõ
Mã:
=INDEX(data,SMALL($C$2:$C$124,ROW(1:1)))

Vậy là xong. Chúc bạn có nhiều khám phá mới.
 
Thấy bạn đã có 5 trang hỏi đáp rất nhiều vấn đề. Chỉ lưu ý bạn về những công thức bạn dùng trong bài #43. Khi bạn chưa thành thạo mảng thì khoan hãy dùng nó bởi sẽ có thể lạc vào ma trận mà chưa biết đường ra, bạn hãy tận dụng những công thức đơn giản với cột phụ để làm sau đó chuyển qua mảng, dần dần sẽ thành thạo và áp dụng linh hoạt ngay ấy mà

Ví dụ bài #43 bạn dùng cột C làm cột phụ. Tại C2 bạn gõ
Mã:
=IF(MONTH(B2)=$D$2,ROW(1:1),"")

Tại F2 bạn gõ
Mã:
=INDEX(data,SMALL($C$2:$C$124,ROW(1:1)))

Vậy là xong. Chúc bạn có nhiều khám phá mới.
Có lẽ trước khi tìm hiểu mấy cái này, mình phải hiểu về mảng trước.
 
Gửi các Thầy cô và Anh Chị
Em có bảng tính là bảng tổng hợp công nợ hàng ngày của từng khách hàng từng nhân viên
Giờ em muốn từ bảng tính này sẽ tự động trích lọc sang các sheet mang tên nhân viên để quản lý
Em đã làm nhưng không đúng như ý muốn
Xin được mọi người giúp đỡ
Trong file của em có
sheet Tong cong no: sẽ được cập nhật hàng ngày phía dưới
shheet Trường, Phiêu: là những la sheet em mong muốn nhưng phải có công thức để khi em cập nhật ở sheet Tong cong no thì sheet này sẻ cũng tự động nhảy theo
shheet Trường, Phiêu: là những sheet em làm nhưng không ra két quả( vi không cập nhật thêm khi sheet Tong cong no cập nhật mới
Xin cảm ơn
 
Lần chỉnh sửa cuối:
Cảm ơn anh Gâu gâu với anh khương, em hiểu hàm Offset luôn rồi :)
 
Em Cảm ơn anh ạ, đúng ý em là như vậy, nhưng em cần tách mỗi nhân viên từng sheet để mỗi nhân viên sẽ tự coi công nợ của KH mình và quản lý ạ, vậy có tách được không anh ạ?
 
Về trích lọc dữ liệu này mình ms tìm được 1 cách làm là dùng Index và Match.
Mình thấy cách này khá nhẹ nhàng, hay, đơn giản, dễ hiểu, dễ làm, dễ nhớ.
Tại sao mọi ng ko dùng cách này nhỉ.
 

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

Back
Top Bottom