Xin hỏi công thức mình sai chổ nào?

Liên hệ QC

nguyenhongphong

Thành viên hoạt động
Tham gia
12/3/08
Bài viết
126
Được thích
13
Mình đang tập tành name động. Mình sử dụng bài Lọc danh sách k/h của Thầy Boyxin.
Với các name và công thức như sau:
PHP:
DATA=OFFSET(Sheet1!$A$2:$C$2,,,COUNT(Sheet1!$A201:$A3),)
LOC2=IF(OFFSET(DATA,,2,,1)=Sheet1!$J$4,ROW(INDIRECT("1:"&ROWS(DATA))),"")
J7=IF(COUNT(LOC2)<ROWS($1:1),"",INDEX(DATA,SMALL(LOC2,ROWS($1:1)),COLUMN()))
Nhờ các bạn hướng dẫn rõ giúp mình chỗ sai ?

Cám ơn các bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Mình đang tập tành name động. Mình sử dụng bài Lọc danh sách k/h của Thầy Boyxin.
Với các name và công thức như sau:
PHP:
DATA=OFFSET(Sheet1!$A$2:$C$2,,,COUNT(Sheet1!$A201:$A3),)
LOC2=IF(OFFSET(DATA,,2,,1)=Sheet1!$J$4,ROW(INDIRECT("1:"&ROWS(DATA))),"")
J7=IF(COUNT(LOC2)<ROWS($1:1),"",INDEX(DATA,SMALL(LOC2,ROWS($1:1)),COLUMN()))
Nhờ các bạn hướng dẫn rõ giúp mình chỗ sai ?

Cám ơn các bạn.
Trong công thức DÂT của Bạn nhé: Hàm COUNT là hàm đếm số nhé. Phải dùng COUNTA mới đúng. Bạn sửa lại như vầy nè:
Mã:
 DATA=OFFSET(Sheet1!$A$2:$C$2,,,[COLOR=Red]COUNTA(Sheet1!$A$2:$A$1000)[/COLOR],)
LOC2=IF(OFFSET(DATA,,2,,1)=Sheet1!$J$4,ROW(INDIRECT("1:"&ROWS(DATA))),"")
J6=IF(COUNT(LOC2)<ROWS($1:1),"",INDEX(DATA,SMALL(LOC2,ROWS($1:1)),COLUMN([COLOR=Red]A1[/COLOR])))
 

File đính kèm

Trong công thức DÂT của Bạn nhé: Hàm COUNT là hàm đếm số nhé. Phải dùng COUNTA mới đúng. Bạn sửa lại như vầy nè:
Mã:
 DATA=OFFSET(Sheet1!$A$2:$C$2,,,[COLOR=Red]COUNTA(Sheet1!$A$2:$A$1000)[/COLOR],)
LOC2=IF(OFFSET(DATA,,2,,1)=Sheet1!$J$4,ROW(INDIRECT("1:"&ROWS(DATA))),"")
J6=IF(COUNT(LOC2)<ROWS($1:1),"",INDEX(DATA,SMALL(LOC2,ROWS($1:1)),COLUMN([COLOR=Red]A1[/COLOR])))
Xin bạn nói rõ hơn về name động được không? Mình cũng đã đọc trên GPE rồi nhưng giờ không nhớ và không biết ở chỗ nào.
 
Trong công thức DÂT của Bạn nhé: Hàm COUNT là hàm đếm số nhé. Phải dùng COUNTA mới đúng. Bạn sửa lại như vầy nè:
Mã:
 DATA=OFFSET(Sheet1!$A$2:$C$2,,,[COLOR=Red]COUNTA(Sheet1!$A$2:$A$1000)[/COLOR],)
LOC2=IF(OFFSET(DATA,,2,,1)=Sheet1!$J$4,ROW(INDIRECT("1:"&ROWS(DATA))),"")
J6=IF(COUNT(LOC2)<ROWS($1:1),"",INDEX(DATA,SMALL(LOC2,ROWS($1:1)),COLUMN([COLOR=Red]A1[/COLOR])))
Nếu dùng COUNTA như vậy thì lỡ trong vùng A2:A1000 đó có vài ô trống chen giữa các giá trị thì DATA sẽ bị thiếu dữ liệu mất!
 
To: yeuthamhangxom

Xin bạn nói rõ hơn về name động được không? Mình cũng đã đọc trên GPE rồi nhưng giờ không nhớ và không biết ở chỗ nào.

Mình cũng đang tập tành làm về name. Mình đang làm 1 số bài tập theo link dưới đây. Bạn tham khảo nhé:

http://giaiphapexcel.com/forum/showthread.php?p=205858#post205858
http://www.giaiphapexcel.com/forum/showthread.php?t=21203
http://www.giaiphapexcel.com/forum/showthread.php?t=11319&highlight=small

Hi vọng qua những link này mình cũng như bạn sẽ hiểu thêm về name động.
 
Nếu dùng COUNTA như vậy thì lỡ trong vùng A2:A1000 đó có vài ô trống chen giữa các giá trị thì DATA sẽ bị thiếu dữ liệu mất!
Giả sử dử liệu bắt đầu từ cell A2 trở xuống và trong cột dử liệu này có thể có cell trống... Vậy ta đặt name thế này là ĂN TIỀN:
PHP:
DS =OFFSET($A$2,,,MATCH(2,1/(1-ISBLANK($A$2:$A$1000))),)
Đúng với mọi kiểu dử liệu Number hay Text
 
Giả sử dử liệu bắt đầu từ cell A2 trở xuống và trong cột dử liệu này có thể có cell trống... Vậy ta đặt name thế này là ĂN TIỀN:
PHP:
DS =OFFSET($A$2,,,MATCH(2,1/(1-ISBLANK($A$2:$A$1000))),)
Đúng với mọi kiểu dử liệu Number hay Text
Áp dụng công thức của anh ndu cho bài trên (Bổ sung thêm số 3 hoặc :$C$2).
PHP:
Data =OFFSET($A$2,,,MATCH(2,1/(1-ISBLANK($A$2:$A$1000))),3)
Hoặc
PHP:
Data =OFFSET($A$2:$C$2,,,MATCH(2,1/(1-ISBLANK($A$2:$A$1000))),)
 
PHP:
J6=IF(COUNT(LOC2)<ROWS($1:1),"",INDEX(DATA,SMALL(LOC2,ROWS($1:1)),COLUMN()-9))
Dạ, không biết em làm như vầy có được không ạ ?Thưa Thầy và các anh?
 
Lần chỉnh sửa cuối:
Bạn áp vào bảng tính nếu nó hiện kết quả là đúng rùi.--=0
Bạn có thể thay COLUMN()-9 ở cuối công thức bằng COLUMN(A1).
 
Web KT

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

Back
Top Bottom