Lọc danh sách cột trong bảng theo điều kiện (híc lại cơ khổ rồi)

Liên hệ QC

Cô Bé Dễ Thương

Thành viên thường trực
Tham gia
30/9/16
Bài viết
223
Được thích
48
Giới tính
Nữ
-Em có 1 bảng tính , ở bảng tính này các giá trị trong cột được xếp vào chung môt cột do nó thỏa mãn điều kiện giống nhau.
-Giờ em chỉ dựa vào điều kiện củ thể để lôi cả cột đó ra ngoài giống như một danh sách
Chi tiết file đính kèm
Em cảm ơn nhiều!File làm việc của em bảng to 40 cột 820 hàng.Còn file dưới là ví dụ để xin 1 hàm áp dụng!
P/s:Giỏi Excel thường là giàu Ụ còn đâu là chưa thích đó thôi
 

File đính kèm

  • lọc danh sach cot theo điều kiện.xlsx
    14.3 KB · Đọc: 20
Lần chỉnh sửa cuối:
-Em có 1 bảng tính , ở bảng tính này các giá trị trong cột được xếp vào chung môt cột do nó thỏa mãn điều kiện giống nhau.
-Giờ em chỉ dựa vào điều kiện củ thể để lôi cả cột đó ra ngoài giống như một danh sách
Chi tiết file đính kèm
Em cảm ơn nhiều!File làm việc của em bảng to 40 cột 820 hàng.Còn file dưới là ví dụ để xin 1 hàm áp dụng!
Thử:
PHP:
K4=IFERROR(OFFSET($A$3,SMALL(IF(OFFSET($A$4:$A$10,,MATCH($K$3,$B$3:$E$3,0))<>"",ROW($1:$7)),ROW($A1)),MATCH($K$3,$B$3:$E$3,0)),"")
nhấn Ctrl+Shift+Enter, rồi fill xuống.

Chúc bạn ngày vui.
p/s: sao giống như bị "truyền nhiễm", hình như có phong trào thích chưng "các em" làm avatar quá! Hài VN giờ khoái giả làm "bóng", chẳng lẽ vậy mới là thời thượng sao?
 
-Em có 1 bảng tính , ở bảng tính này các giá trị trong cột được xếp vào chung môt cột do nó thỏa mãn điều kiện giống nhau.
-Giờ em chỉ dựa vào điều kiện củ thể để lôi cả cột đó ra ngoài giống như một danh sách
Chi tiết file đính kèm
Em cảm ơn nhiều!File làm việc của em bảng to 40 cột 820 hàng.Còn file dưới là ví dụ để xin 1 hàm áp dụng!
Gửi bạn 1 cách đơn giản:
 

File đính kèm

  • lọc danh sach cot theo điều kiện.xlsx
    15 KB · Đọc: 11
Thử:
PHP:
K4=IFERROR(OFFSET($A$3,SMALL(IF(OFFSET($A$4:$A$10,,MATCH($K$3,$B$3:$E$3,0))<>"",ROW($1:$7)),ROW($A1)),MATCH($K$3,$B$3:$E$3,0)),"")
nhấn Ctrl+Shift+Enter, rồi fill xuống.

Chúc bạn ngày vui.
p/s: sao giống như bị "truyền nhiễm", hình như có phong trào thích chưng "các em" làm avatar quá! Hài VN giờ khoái giả làm "bóng", chẳng lẽ vậy mới là thời thượng sao?
Cảm ơn anh nhiều!Được hàm này em coi này của anh nữa coi như công việc em được hoàn thành rồi.
Chúc anh nhiều sức khỏe!
p/s:Tại Thớt em ế quá lên làm cái avata,mà em lại thích diễn viên này lên he he...
 
Lần chỉnh sửa cuối:
Thử:
PHP:
K4=IFERROR(OFFSET($A$3,SMALL(IF(OFFSET($A$4:$A$10,,MATCH($K$3,$B$3:$E$3,0))<>"",ROW($1:$7)),ROW($A1)),MATCH($K$3,$B$3:$E$3,0)),"")
nhấn Ctrl+Shift+Enter, rồi fill xuống.

Chúc bạn ngày vui.
p/s: sao giống như bị "truyền nhiễm", hình như có phong trào thích chưng "các em" làm avatar quá! Hài VN giờ khoái giả làm "bóng", chẳng lẽ vậy mới là thời thượng sao?
Giống em :p
Cái P/s của anh màu vàng đọc nhức mắt @@
 
Gửi bạn 1 cách đơn giản:
Cảm ơn dazkangel nhiều nhiều
Em rất thích chỉ xài hàm trong tính toán và phân tích. Làm cho file năng cũng vẫn thích, nặng thì chia nhỏ ra nhiều file cũng đc.
VBA chỉ mong nghiên cứu được các lấy dữ liệu từ nhiều file về 1 file tổng .Và chuyển dữ liệu từ 1 file tổng về các file chi tiết. Có đc 2 loại code này cộng với các hàm (do anh chị em viết cho) thì những người không biết gì về VBA và excel hoàn toàn áp dụng được hết.Sự kết hợp này thực sự giải quyết được công việc ngay lập tức cho dù rất rất gà.
Em đánh giá rất rất cao các hàm tính toán phức tạp (những hàm được ace hỗ trợ) và 2 loại code vba (em chưa xin được) trên! Vì nó giúp được nhiều người và dễ dàng áp dụng.
Nếu http://www.giaiphapexcel.com/dienda...lấy-dữ-liệu-nhiều-file-excel-với-nhau.126094/ mà em hiểu được thì ngon biết mấy :mad:
 
Lần chỉnh sửa cuối:
Cảm ơn dazkangel nhiều nhiều
Em rất thích chỉ xài hàm trong tính toán và phân tích. Làm cho file năng cũng vẫn thích, nặng thì chia nhỏ ra nhiều file cũng đc.
VBA chỉ mong nghiên cứu được các lấy dữ liệu từ nhiều file về 1 file tổng .Và chuyển dữ liệu từ 1 file tổng về các file chi tiết. Có đc 2 loại code này cộng với các hàm (do anh chị em viết cho) thì những người không biết gì về VBA và excel hoàn toàn áp dụng được hết.Sự kết hợp này thực sự giải quyết được công việc ngay lập tức cho dù rất rất gà.
Em đánh giá rất rất cao các hàm tính toán phức tạp (những hàm được ace hỗ trợ) và 2 loại code vba (em chưa xin được) trên! Vì nó giúp được nhiều người và dễ dàng áp dụng.
Nếu http://www.giaiphapexcel.com/diendan/threads/xin-giúp-đỡ-vba-nhập-dữ-liệu-và-lấy-dữ-liệu-nhiều-file-excel-với-nhau.126094/ mà em hiểu được thì ngon biết mấy :mad:
haha VBA thì chịu khó học không đưa file lên nhờ các anh chị cho cái mã, nhưng cũng phải hiếu 1 tý mới tự gán vào dữ liệu của mình được,
 
...............Em rất thích chỉ xài hàm trong tính toán và phân tích. Làm cho file năng cũng vẫn thích, nặng thì chia nhỏ ra nhiều file cũng đc. VBA chỉ mong nghiên cứu được các lấy dữ liệu từ nhiều file về 1 file tổng. Và chuyển dữ liệu từ 1 file tổng về các file chi tiết. ..........
Có rất nhiều cách thực hiện công thức để ra kết quả, tùy theo khả năng và thói quen sử dụng của mình để tiếp thu dần những kiến thức mới mẻ. Cho nên, cũng đừng quá ỷ lại vào tác nhân ngoài, chính tự thân mình phải phấn đấu tự giải quyết vấn đề của mình, thì lúc đó mới tiến bộ. Dĩ nhiên, nếu chưa biết thì phải nhờ trợ giúp, nhưng bản thân cũng phải phân tích: Tại sao người làm được! mình lại không? Lý do gì người ta sử dụng hàm này? Có thể thay bằng cách (hàm) khác được không? Đó mới là cách học được hoan nghênh tại diễn đàn này. Chứ lấy những gì của người, rồi không biết tại sao nó vận hành được, thì sau này gặp sự thay đổi khác sẽ bị bế tắc. Ngay cả học VBA cũng vậy.

Ví dụ: sau khi đã tìm hiểu xong các dạng hàm trên, tìm thêm cách khác để làm thêm, rồi so sánh: cái hay chỗ nào, cái dở chỗ nào...v.v.
Cung cấp thêm cho bạn 1 cách giải khác chẳng hạn để bạn tự phân tích:
Mã:
K4=IFERROR(HLOOKUP($K$3,$B$3:$E$10,MATCH(ROW(A1),INDEX(COUNTIF(OFFSET($A$4,,MATCH($K$3,$B$3:$E$3,0),ROW($1:$7)),"<>"),),)+1,0),"")
Chỉ Enter, rồi fill xuống.

Chúc bạn học tập vui với GPE.
/-*+//-*+//-*+/
 
Có rất nhiều cách thực hiện công thức để ra kết quả, tùy theo khả năng và thói quen sử dụng của mình để tiếp thu dần những kiến thức mới mẻ. Cho nên, cũng đừng quá ỷ lại vào tác nhân ngoài, chính tự thân mình phải phấn đấu tự giải quyết vấn đề của mình, thì lúc đó mới tiến bộ. Dĩ nhiên, nếu chưa biết thì phải nhờ trợ giúp, nhưng bản thân cũng phải phân tích: Tại sao người làm được! mình lại không? Lý do gì người ta sử dụng hàm này? Có thể thay bằng cách (hàm) khác được không? Đó mới là cách học được hoan nghênh tại diễn đàn này. Chứ lấy những gì của người, rồi không biết tại sao nó vận hành được, thì sau này gặp sự thay đổi khác sẽ bị bế tắc. Ngay cả học VBA cũng vậy.

Ví dụ: sau khi đã tìm hiểu xong các dạng hàm trên, tìm thêm cách khác để làm thêm, rồi so sánh: cái hay chỗ nào, cái dở chỗ nào...v.v.
Cung cấp thêm cho bạn 1 cách giải khác chẳng hạn để bạn tự phân tích:
Mã:
K4=IFERROR(HLOOKUP($K$3,$B$3:$E$10,MATCH(ROW(A1),INDEX(COUNTIF(OFFSET($A$4,,MATCH($K$3,$B$3:$E$3,0),ROW($1:$7)),"<>"),),)+1,0),"")
Chỉ Enter, rồi fill xuống.

Chúc bạn học tập vui với GPE.
/-*+//-*+//-*+/
Phải tích lũy và có sự kiên trì.Nhưng vẫn phải có sản phẩm nuôn :p, khổ thế bác ạ!Đừng buồn em nhé!Em mỗi tội là học môn này muộn quá chứ không lười đâu!
iem xin :D
 
Phải tích lũy và có sự kiên trì.Nhưng vẫn phải có sản phẩm nuôn :p, khổ thế bác ạ!Đừng buồn em nhé!Em mỗi tội là học môn này muộn quá chứ không lười đâu!
iem xin :D
Không! tôi không hề nghĩ bạn lười một khi bạn đã tìm đến diễn đàn này.

Những gì ghi trên, chẳng qua muốn nhắn nhủ và gửi gắm thiện cảm đến những anh em có chí tiến thủ: "Cái khó nhất trong học tập, chính là sự tự rèn luyện lấy bản thân mình".

Chúc bạn ngày thiệt vui.
/-*+//-*+//-*+/
 
Không! tôi không hề nghĩ bạn lười một khi bạn đã tìm đến diễn đàn này.

Những gì ghi trên, chẳng qua muốn nhắn nhủ và gửi gắm thiện cảm đến những anh em có chí tiến thủ: "Cái khó nhất trong học tập, chính là sự tự rèn luyện lấy bản thân mình".

Chúc bạn ngày thiệt vui.
/-*+//-*+//-*+/
Không!
Em biết là nhắn nhủ.Ý em nói diễn đàn thật sự giúp ích được cho rất nhiều người!Thực tế là nhờ mọi người em có sản phẩm nuôn và nuôn:)
 
Lần chỉnh sửa cuối:
Có rất nhiều cách thực hiện công thức để ra kết quả, tùy theo khả năng và thói quen sử dụng của mình để tiếp thu dần những kiến thức mới mẻ. Cho nên, cũng đừng quá ỷ lại vào tác nhân ngoài, chính tự thân mình phải phấn đấu tự giải quyết vấn đề của mình, thì lúc đó mới tiến bộ. Dĩ nhiên, nếu chưa biết thì phải nhờ trợ giúp, nhưng bản thân cũng phải phân tích: Tại sao người làm được! mình lại không? Lý do gì người ta sử dụng hàm này? Có thể thay bằng cách (hàm) khác được không? Đó mới là cách học được hoan nghênh tại diễn đàn này. Chứ lấy những gì của người, rồi không biết tại sao nó vận hành được, thì sau này gặp sự thay đổi khác sẽ bị bế tắc. Ngay cả học VBA cũng vậy.

Ví dụ: sau khi đã tìm hiểu xong các dạng hàm trên, tìm thêm cách khác để làm thêm, rồi so sánh: cái hay chỗ nào, cái dở chỗ nào...v.v.
Cung cấp thêm cho bạn 1 cách giải khác chẳng hạn để bạn tự phân tích:
Mã:
K4=IFERROR(HLOOKUP($K$3,$B$3:$E$10,MATCH(ROW(A1),INDEX(COUNTIF(OFFSET($A$4,,MATCH($K$3,$B$3:$E$3,0),ROW($1:$7)),"<>"),),)+1,0),"")
Chỉ Enter, rồi fill xuống.

Chúc bạn học tập vui với GPE.
/-*+//-*+//-*+/
Vì người ta là người tài anh ơi huhu
 
Có rất nhiều cách thực hiện công thức để ra kết quả, tùy theo khả năng và thói quen sử dụng của mình để tiếp thu dần những kiến thức mới mẻ. Cho nên, cũng đừng quá ỷ lại vào tác nhân ngoài, chính tự thân mình phải phấn đấu tự giải quyết vấn đề của mình, thì lúc đó mới tiến bộ. Dĩ nhiên, nếu chưa biết thì phải nhờ trợ giúp, nhưng bản thân cũng phải phân tích: Tại sao người làm được! mình lại không? Lý do gì người ta sử dụng hàm này? Có thể thay bằng cách (hàm) khác được không? Đó mới là cách học được hoan nghênh tại diễn đàn này. Chứ lấy những gì của người, rồi không biết tại sao nó vận hành được, thì sau này gặp sự thay đổi khác sẽ bị bế tắc. Ngay cả học VBA cũng vậy.

Ví dụ: sau khi đã tìm hiểu xong các dạng hàm trên, tìm thêm cách khác để làm thêm, rồi so sánh: cái hay chỗ nào, cái dở chỗ nào...v.v.
Cung cấp thêm cho bạn 1 cách giải khác chẳng hạn để bạn tự phân tích:
Mã:
K4=IFERROR(HLOOKUP($K$3,$B$3:$E$10,MATCH(ROW(A1),INDEX(COUNTIF(OFFSET($A$4,,MATCH($K$3,$B$3:$E$3,0),ROW($1:$7)),"<>"),),)+1,0),"")
Chỉ Enter, rồi fill xuống.

Chúc bạn học tập vui với GPE.
/-*+//-*+//-*+/
Em gặp 1 vấn đề lớn nữa.
Giả sử khi trong bảng có 2 hay nhiều hơn 2 cột có chỉ số màu đỏ là bằng nhau vậy các anh chị xem có thể dùng hàm đúng cho cả các trưởng hợp :không có chỉ số cột nào bằng nhau và trường hợp có >=2 chỉ số màu đỏ bằng nhau.nếu giá trị đó em gọi ra để lấy danh sách.
Em mò nãy giờ mà không được.Chữa đau em với các bác!
"file đính kèm minh họa"
 

File đính kèm

  • lọc danh sach cot theo điều kiện.xlsx
    15.3 KB · Đọc: 9
Em gặp 1 vấn đề lớn nữa.
Giả sử khi trong bảng có 2 hay nhiều hơn 2 cột có chỉ số màu đỏ là bằng nhau vậy các anh chị xem có thể dùng hàm đúng cho cả các trưởng hợp :không có chỉ số cột nào bằng nhau và trường hợp có >=2 chỉ số màu đỏ bằng nhau.nếu giá trị đó em gọi ra để lấy danh sách.
Em mò nãy giờ mà không được.Chữa đau em với các bác!
"file đính kèm minh họa"
Đặt name "Vung":
PHP:
Vung=SMALL(IF((Sheet1!$B$4:$E$10<>"")*(Sheet1!$B$3:$E$3=Sheet1!$M$3),COLUMN(Sheet1!$A$1:$D$1)*100+ROW(Sheet1!$1:$7)),ROW(Sheet1!$A1))
Tạo công thức:
PHP:
M4=IFERROR(OFFSET($A$3,MOD(Vung,100),INT(Vung/100)),"")
Enter rồi fill xuống.

Chúc bạn ngày vui.
 

File đính kèm

  • LocDieuKien.xlsb
    13.9 KB · Đọc: 9
Đặt name "Vung":
PHP:
Vung=SMALL(IF((Sheet1!$B$4:$E$10<>"")*(Sheet1!$B$3:$E$3=Sheet1!$M$3),COLUMN(Sheet1!$A$1:$D$1)*100+ROW(Sheet1!$1:$7)),ROW(Sheet1!$A1))
Tạo công thức:
PHP:
M4=IFERROR(OFFSET($A$3,MOD(Vung,100),INT(Vung/100)),"")
Enter rồi fill xuống.
Chúc bạn ngày vui.
cảm ơn anh nhiều. ngưỡng mộ
Thật sự em cảm thây may mắn vì nhận được sự trợ giúp nhiệt tình.
Hàm này thuộc dạng kinh điển.Hàm hãi quá em không hiểu lấy đâu ra 100 :(
Anh ơi! Nếu bảng của em là 820 dòng + 1 dòng chỉ số đỏ và 40 cột thì chỗ này Vung = ...,COLUMN(Sheet1!$A$1:$D$1)*100+.... vẫn *100 hay nhân với bao nhiêu vậy anh quocgiacan !
 
Lần chỉnh sửa cuối:
Hàm này thuộc dạng kinh điển.Hàm hãi quá em không hiểu lấy đâu ra 100 :(
Anh ơi! Nếu bảng của em là 820 dòng + 1 dòng chỉ số đỏ và 40 cột thì chỗ này Vung = ...,COLUMN(Sheet1!$A$1:$D$1)*100+.... vẫn *100 hay nhân với bao nhiêu vậy anh quocgiacan !
Lần sau nhớ đánh thêm trang nối tiếp chứ đừng sửa đi sửa lại nha bạn.

Số 100 chẳng qua là canh theo số dòng và cột của bạn: Tức lấy số cột nhân 100 + số dòng của từng cột.
  • Bạn có 820 dòng và 40 cột thì có thể nhân (hoặc chia) với 1000 là được
  • Nhưng nếu vậy nên dùng VBA, vì lúc đó mảng nhân lên là 820x40 con số quá lớn cho công thức mảng, sẽ làm máy bị trì trệ, có thể đứng máy luôn.
Chúc bạn ngày vui.
 
Lần sau nhớ đánh thêm trang nối tiếp chứ đừng sửa đi sửa lại nha bạn.

Số 100 chẳng qua là canh theo số dòng và cột của bạn: Tức lấy số cột nhân 100 + số dòng của từng cột.
  • Bạn có 820 dòng và 40 cột thì có thể nhân (hoặc chia) với 1000 là được
  • Nhưng nếu vậy nên dùng VBA, vì lúc đó mảng nhân lên là 820x40 con số quá lớn cho công thức mảng, sẽ làm máy bị trì trệ, có thể đứng máy luôn.
Chúc bạn ngày vui.
Vâng!Mừng quá cuống anh ạ.
Do em không biết VBA, trước mắt em xài hàm nếu nặng quá em lại tách ra file nữa.Chỉ có pate dữ liệu đầu vào và lấy ra kết quả phải copy nhiều lần.Có hàm cho ra kết quả mong muốn lên không thấy nhọc gì anh ạ.
 
Lần sau nhớ đánh thêm trang nối tiếp chứ đừng sửa đi sửa lại nha bạn.

Số 100 chẳng qua là canh theo số dòng và cột của bạn: Tức lấy số cột nhân 100 + số dòng của từng cột.
  • Bạn có 820 dòng và 40 cột thì có thể nhân (hoặc chia) với 1000 là được
  • Nhưng nếu vậy nên dùng VBA, vì lúc đó mảng nhân lên là 820x40 con số quá lớn cho công thức mảng, sẽ làm máy bị trì trệ, có thể đứng máy luôn.
Chúc bạn ngày vui.
Em áp dụng được rồi.Em thấy không nặng gì chạy vẫn ngon mặc dù trong sheet của em còn 3 cái bảng to hơn nữa mà toàn công thức.Chắc được dùng công thức xịn lên nó nhẹ anh ạ!
 
Em gặp 1 vấn đề lớn nữa.
Giả sử khi trong bảng có 2 hay nhiều hơn 2 cột có chỉ số màu đỏ là bằng nhau vậy các anh chị xem có thể dùng hàm đúng cho cả các trưởng hợp :không có chỉ số cột nào bằng nhau và trường hợp có >=2 chỉ số màu đỏ bằng nhau.nếu giá trị đó em gọi ra để lấy danh sách.
Em mò nãy giờ mà không được.Chữa đau em với các bác!
"file đính kèm minh họa"
Cách khác chỉnh lại CT của anh @huuthang_bd :
PHP:
M4=IFERROR(INDIRECT("R"&MID(REPT("C"&TEXT(SMALL(IF(($B$4:$E$10<>"")*($B$3:$E$3=$M$3),COLUMN($B$3:$E$3)*1000+ROW($A$4:$A$10)),ROW(A1)),"000000"),2),5,7),0),"")
Bấm Ctrl+Shift+Enter rồi fill xuống!!!
 
Web KT

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

Back
Top Bottom