Dùng công thức lọc dữ liệu không trùng nhau (1 người xem)

Liên hệ QC

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

yeuthamhangxom

Thành viên tiêu biểu
Tham gia
26/10/07
Bài viết
517
Được thích
419
Nghề nghiệp
Nhân viên văn phòng
Gửi các thành viên GPE.
Em có bài toán nhờ các anh chị giúp đỡ.
Tại sheet 1 có tập hợp các loại hoa quả và số lượng tương ứng. Chú ý: Có khoảng trống giữa các hàng
Yêu cầu như sau.
Dùng công thức lọc ra những loại quả duy nhất sang sheet 2 và số lượng tổng hợp tương ứng của từng loại quả.
Mong các thành viên giúp đỡ.
Cảm ơn các bạn
Mình đã tìm trên diễn đàn rồi nhưng vẫn chưa làm được
 

File đính kèm

Gửi các thành viên GPE.
Em có bài toán nhờ các anh chị giúp đỡ.
Tại sheet 1 có tập hợp các loại hoa quả và số lượng tương ứng. Chú ý: Có khoảng trống giữa các hàng
Yêu cầu như sau.
Dùng công thức lọc ra những loại quả duy nhất sang sheet 2 và số lượng tổng hợp tương ứng của từng loại quả.
Mong các thành viên giúp đỡ.
Cảm ơn các bạn
Mình đã tìm trên diễn đàn rồi nhưng vẫn chưa làm được
Nếu là công thức thì dạng bài này trên GPE đã có nhiều rồi. Tuy nhiên với bài này, nếu là tôi thì tôi sẽ dùng Consolidate cho nó lẹ ---> Cái rẹt có ngay kết quả (lại nhẹ máy vì chẳng tốn công thức nào)
 
Nếu là công thức thì dạng bài này trên GPE đã có nhiều rồi. Tuy nhiên với bài này, nếu là tôi thì tôi sẽ dùng Consolidate cho nó lẹ ---> Cái rẹt có ngay kết quả (lại nhẹ máy vì chẳng tốn công thức nào)
Nhưng yêu cầu là dùng công thức cơ thầy ạ. Em cũng tìm trên diễn đàn rồi mà làm theo mãi không được. mong thầy giúp đỡ.
 
Nhưng yêu cầu là dùng công thức cơ thầy ạ. Em cũng tìm trên diễn đàn rồi mà làm theo mãi không được. mong thầy giúp đỡ.
Hic...
Đặt 2 name
PHP:
Ten =OFFSET(Sheet1!$A$2,,,MATCH("ÿ",Sheet1!$A$2:$A$1000),)
VT =IF(Ten="","",IF(MATCH(Ten,Ten,0)=ROW(INDIRECT("1:"&ROWS(Ten))),MATCH(Ten,Ten,0),""))
Tại sheet2, gõ công thức này vào cell A2:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(ROWS($1:1),VT,Ten))
Gõ công thức này vào B2
PHP:
=IF($A2="","",SUMIF(Ten,$A2,OFFSET(Ten,,1)))
Vậy thôi
 

File đính kèm

Lần chỉnh sửa cuối:

File đính kèm

Đúng là ndu... thuộc lòng, tôi đang loay hoay kiếm lại bài cũ của ndu cho bạn yeuthamhangxom thì ndu đã trả lời rồi.
Thôi thì cũng đưa lên cho bõ công.
Ấy... không hẳn là thuộc lòng đâu nha!
File của tôi có 2 món mới đấy
Thứ nhất: Dùng LOOKUP thay INDEX, ngắn gọn hơn (vì khỏi dùng hàm SMALL)
Thứ hai: Dùng MATCH("ÿ",....) thay cho MATCH(Rept("z",255)....) ---> Cũng ngắn gọn hơn
Ẹc... Ẹc...
 
Hic...
Đặt 2 name
PHP:
Ten =OFFSET(Sheet1!$A$2,,,MATCH("ÿ",Sheet1!$A$2:$A$1000),)
VT =IF(Ten="","",IF(MATCH(Ten,Ten,0)=ROW(INDIRECT("1:"&ROWS(Ten))),MATCH(Ten,Ten,0),""))
Tại sheet2, gõ công thức này vào cell A2:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(ROWS($1:1),VT,Ten))
Gõ công thức này vào B2
PHP:
=IF($A2="","",SUMIF(Ten,$A2,OFFSET(Ten,,1)))
Vậy thôi
Thầy vui lòng xem lại giúp. Khi em thêm 1 loại quả mới nó không tự động cập nhật sang sheet2 loại quả đó mà tự động thêm loại quả cũ là "mít"
Thầy xem lại giúp em.
 
Thầy vui lòng xem lại giúp. Khi em thêm 1 loại quả mới nó không tự động cập nhật sang sheet2 loại quả đó mà tự động thêm loại quả cũ là "mít"
Thầy xem lại giúp em.
Ha... hà....
Lâu lâu làm lại công thức cũng sai tét tè lè
Sửa công thức lại thành:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(SMALL(VT,ROWS($1:1)),VT,Ten))
Cuối cùng vẫn phải có hàm SMALL
(File ở bài #4 đã được sửa lại rồi đấy)
 
Lần chỉnh sửa cuối:
Ha... hà....
Lâu lâu làm lại công thức cũng sai tét tè lè
Sửa công thức lại thành:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(SMALL(VT,ROWS($1:1)),VT,Ten))
Cuối cùng vẫn phải có hàm SMALL
(File ở bài #4 đã được sửa lại rồi đấy)
Đã đúng ý tưởng của em rồi ạ.
Cảm ơn thầy.
 
Có cách nào để kiểm tra tốc độ của Lookup trong bài này nếu thay thế nó bằng Index không hả thày?
 
Ha... hà....
Lâu lâu làm lại công thức cũng sai tét tè lè
Sửa công thức lại thành:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(SMALL(VT,ROWS($1:1)),VT,Ten))
Cuối cùng vẫn phải có hàm SMALL
(File ở bài #4 đã được sửa lại rồi đấy)

Em chào thầy,

Cũng với kiểu bài như vậy em thêm 1 nhóm "cha" là bao gồm những thông tin con trên. Thầy có thể hướng dẫn em cách lọc ra kết quả như trong file đính kèm được không?

Cho em hỏi chữ "y" có dấu 2 chấm ở trên đầu có nghĩa là như thế nào và làm sao gõ được kí tự đó khi làm công thức?

Cám ơn thầy.
 

File đính kèm

Nhìn các bác mà hoa cả mắt hehe bao giờ cho mình thành thạo hết nhỉ --=0 thank bác ndu và cho em hỏi một chút cái công thức ở bên cột số lượng em xin góp ý kiến ko biết có hay ko: đặt tên cho cột số lượng=SL và dùng công thức =Sumif(ten,A2,SL) em thấy công thức này đơn giản chỉ mất công đặt thêm tên miền thôi ak |||||
 
Lần chỉnh sửa cuối:
Các bác ơi cách đặt 2 name như thế nào nhỉ, giúp em với
 
Các thầy ởi em muốn sử dụng công thức lọc dữ liệu không trùng nhau, em đọc diễn đàn nhưng em không biết đặt 2 name như thầy ndu96081631 hướng dẫn ở trên như thế nào. các thầy hướng dẫn giúp em với ạ. Thanks các thầy trước nhe
 
Ấy... không hẳn là thuộc lòng đâu nha!
File của tôi có 2 món mới đấy
Thứ nhất: Dùng LOOKUP thay INDEX, ngắn gọn hơn (vì khỏi dùng hàm SMALL)
Thứ hai: Dùng MATCH("ÿ",....) thay cho MATCH(Rept("z",255)....) ---> Cũng ngắn gọn hơn
Ẹc... Ẹc...


cho e hỏi cách gõ "ÿ" như thế nào vậy thầy
 
Các thầy ởi em muốn sử dụng công thức lọc dữ liệu không trùng nhau, em đọc diễn đàn nhưng em không biết đặt 2 name như thầy ndu96081631 hướng dẫn ở trên như thế nào. các thầy hướng dẫn giúp em với ạ. Thanks các thầy trước nhe

Để tạo cũng như quản lý NAME bạn nhấn tổ hợp phím Ctrl+F3
 
Mình gà excel mong bạn ndu chỉ giúp hiểu về công thức của bạn.
Như mình chưa biết tạo 2 name để mục đích gì, ÿ có tác dụng gì
 
Lần chỉnh sửa cuối:
Hic...
Đặt 2 name
PHP:
Ten =OFFSET(Sheet1!$A$2,,,MATCH("ÿ",Sheet1!$A$2:$A$1000),)
VT =IF(Ten="","",IF(MATCH(Ten,Ten,0)=ROW(INDIRECT("1:"&ROWS(Ten))),MATCH(Ten,Ten,0),""))
Tại sheet2, gõ công thức này vào cell A2:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(ROWS($1:1),VT,Ten))
Gõ công thức này vào B2
PHP:
=IF($A2="","",SUMIF(Ten,$A2,OFFSET(Ten,,1)))
Vậy thôi

Xin được hỏi thầy NDU: trong name Ten: Ten =OFFSET(Sheet1!$A$2,,,MATCH("ÿ",Sheet1!$A$2:$A$1000),). Phần được gạch chân trong hàm Match là kí tự gì vậy ạ?
 
Cũng Liên quan đến trích lọc dữ liệu duy nhất (không trùng), nhờ thầy và các Pro giúp em với.
Tình hình là mình có một data muốn dùng công thức để tự động trích lọc nó ra một danh sách gồm các SP không trùng nhau (tức là nếu trùng thì chỉ lấy 1 thôi)
mình có gửi kèm file đính kèm
Nhờ các Pro giúp đở với a. Cảm ơn nhiều
 

File đính kèm

Cũng Liên quan đến trích lọc dữ liệu duy nhất (không trùng), nhờ thầy và các Pro giúp em với.
Tình hình là mình có một data muốn dùng công thức để tự động trích lọc nó ra một danh sách gồm các SP không trùng nhau (tức là nếu trùng thì chỉ lấy 1 thôi)
mình có gửi kèm file đính kèm
Nhờ các Pro giúp đở với a. Cảm ơn nhiều
Dữ liệu lộn xộn vậy lấy khó thấy mồ
 
Cũng Liên quan đến trích lọc dữ liệu duy nhất (không trùng), nhờ thầy và các Pro giúp em với.
Tình hình là mình có một data muốn dùng công thức để tự động trích lọc nó ra một danh sách gồm các SP không trùng nhau (tức là nếu trùng thì chỉ lấy 1 thôi)
mình có gửi kèm file đính kèm
Nhờ các Pro giúp đở với a. Cảm ơn nhiều

chơi vba đi, làm cthuc chắc là phe lắm..................
 
VBA thi minh khong biet chinh khi co thay doi.

Rieng tinh huong 2 trong File co khả thi khong vay Pro

lâu rồi (từ ngày xài vba) tôi bỏ dần mấy cthuc khủng..............bi giờ quên nhiều nên phải đi lòng vòng..........bạn xem thử xài được ko
 

File đính kèm

Hic...
Đặt 2 name
PHP:
Ten =OFFSET(Sheet1!$A$2,,,MATCH("ÿ",Sheet1!$A$2:$A$1000),)
VT =IF(Ten="","",IF(MATCH(Ten,Ten,0)=ROW(INDIRECT("1:"&ROWS(Ten))),MATCH(Ten,Ten,0),""))
Tại sheet2, gõ công thức này vào cell A2:
PHP:
=IF(ROWS($1:1)>COUNT(VT),"",LOOKUP(ROWS($1:1),VT,Ten))
Gõ công thức này vào B2
PHP:
=IF($A2="","",SUMIF(Ten,$A2,OFFSET(Ten,,1)))
Vậy thôi

Thầy cho em hỏi, em dùng công thức Ten =OFFSET(Sheet1!$A$2,,,MATCH("ÿ",Sheet1!$A$2:$A$1000),) ở sheet 1 thì dò tìm được cả chữ và số, ở sheet 2 cũng dùng công thức đó chỉ có đổi sheet tham chiếu thì không cho dò tìm dạng số, mà chỉ có thể dò dữ liệu dạng ký tự. Lỗi này là sao vậy thầy

 
chào mọi người mình cũng chưa hiểu lắm về cách sử dụng hàm match kết hợp với ÿ có ý nghĩa ntn trong công thức
 
thêm 1 cách không cần dùng name
công thức cho A3
Mã:
=IFERROR(INDEX(Sheet1!$A$2:$A$101,MATCH(TRUE,INDEX(ISERROR(MATCH(Sheet1!$A$2:A$101,$A$1:A2,0)),0),0)),"")
công thức cho B3
Mã:
=IF($A3="","",SUMIF(Sheet1!$A$2:$A$102,$A3,Sheet1!$B$2:$B$102))
 

File đính kèm

...
Nhờ các Pro giúp đở với a...
Tiếng Việt viết còn sai tè lè (đở), viết tiếng nước nào làm sao biết (Pro).
---------------------------------------------------
"Chết tuốt", sao lại xem bài từ "năm nẵm chiều chôi".
 
Lần chỉnh sửa cuối:
Tiếng Việt viết còn sai tè lè (đở), viết tiếng nước nào làm sao biết (Pro).
---------------------------------------------------
"Chết tuốt", sao lại xem bài từ "năm nẵm chiều chôi".
Anh đang xem "Lệ Quyên" ca bài "Nhật ký đời tôi" nè!? (Ngược thời gian, trở về quá khứ....).

Làm tò mò, thấy chủ thớt đưa bài cũng hay hay, nên làm công thức được tình huống 1, còn tình huống 2 chờ rảnh chút sẽ thử sức sau.

Chúc anh ngày vui.
 
.......Tình hình là mình có một data muốn dùng công thức để tự động trích lọc nó ra một danh sách gồm các SP không trùng nhau (tức là nếu trùng thì chỉ lấy 1 thôi).......
Sẳn có bạn hiền vừa "đi ngang", thấy bài có hai "tình huống" (lời của "namhoai") vui vui muốn giải thử, mặc dầu bài hơi "năm nẵm chiều trôi" (ý anh Ba Tê :)), trong đó tình huống 2 phải xử lý từ mảng 2 chiều làm sao để đưa nó về mảng 1 chiều.
Giải "tình huống 1":
PHP:
I6=IFERROR(OFFSET($B$6,,MATCH(ROW()-5,MATCH(ROW($1:$3),SMALL(IFERROR(MATCH(IF($C$7:$E$10="x",$C$6:$E$6),$C$6:$E$6,),""),ROW($1:$50)),0),0)),"")
J6=IFERROR(OFFSET($B$6,SMALL(IFERROR(IF(OFFSET($B$7:$B$10,,MATCH(LOOKUP(2,1/($I$6:$I6<>""),$I$6:$I6),$C$6:$E$6,))="x",ROW($1:$10)),""),ROW()-LOOKUP(2,1/($I$6:$I6<>""),ROW($1:$10))-4),),"")
Ctrl+Shift+Enter, fill xuống. Thay đổi các "x" trong vùng C7:E10, công thức biến đổi theo.

Giải tình huống 2:
PHP:
C33=IFERROR(INDEX(T(OFFSET($A$25,INT((ROW($1:$50)-1)/6)+1,MOD((ROW($1:$50)-1),6)+1)),MATCH(0,COUNTIF($C$32:$C32,T(OFFSET($A$25,INT((ROW($1:$50)-1)/6)+1,MOD((ROW($1:$50)-1),6)+1))),0)),"")
Ctrl+Shift+Enter, fill xuống.

Chúc anh em ngày thiệt vui. /-*+//-*+//-*+/
 

File đính kèm

thêm 1 cách không cần dùng name
công thức cho A3
Mã:
=IFERROR(INDEX(Sheet1!$A$2:$A$101,MATCH(TRUE,INDEX(ISERROR(MATCH(Sheet1!$A$2:A$101,$A$1:A2,0)),0),0)),"")
công thức cho B3
Mã:
=IF($A3="","",SUMIF(Sheet1!$A$2:$A$102,$A3,Sheet1!$B$2:$B$102))
Vui lòng cho hỏi trường hợp giống như vậy nhưng chỉ tính theo từng tháng. Qua tháng sau thì liệt kê lại từ đầu thì dùng như thế nào ạ
 

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

Back
Top Bottom