Bài toán khó về hàm index (1 người xem)

Liên hệ QC

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

LOGISTICS

Thành viên mới
Tham gia
29/1/08
Bài viết
22
Được thích
5
Chào các bạn ! Minh có một bài toán liên quan đến hàm index nhưng mình không biết phải giải quyết như thế nào . Mọi yêu cầu mình đã nêu trong file đính kèm .mong các cao thủ giúp đỡ , thanks !+-+-+-+
 

File đính kèm

Bạn dùng hàm này: =INDEX($B$4:$E$346,SMALL(IF(($E$4:$E$346=$J$3)*($C$4:$C$346=1),ROW($B$4:$B$346),""),ROW(1:1))-3,) , kết thúc bằng Ctrl+Shift+Enter, kéo xuống, nhớ đặt điều kiện báo lỗi (IFERROR, ISERROR, ...) cho những kết quả không tìm thấy.
 
mình cảm ơn ban nhiều . ban ơi bạn có thể giải thích công thức để mình hiểu rõ hơn lần sau mình còn áp dụng nhé .bạn giải thích cấu chúc của công thức và cách tìm nữa nhé . cái vụ công thức mảng này mình kém lắm không hiểu gì cả .
 
mình cảm ơn ban nhiều . ban ơi bạn có thể giải thích công thức để mình hiểu rõ hơn lần sau mình còn áp dụng nhé .bạn giải thích cấu chúc của công thức và cách tìm nữa nhé . cái vụ công thức mảng này mình kém lắm không hiểu gì cả .
Bạn nghiên cứu trang này nhé tài liệu tham khảo các hàm mảng khá chi tiết.
http://www.giaiphapexcel.com/forum/showthread.php?8222-T%E1%BB%95ng-h%E1%BB%A3p-h%C3%A0m-m%E1%BA%A3ng-(Array-Formula)
 
Thêm 1 cách:

PHP:
ngay=OFFSET(Sheet1!$E$4;;;COUNTA(Sheet1!$E$4:$E$1000))
PHP:
No=OFFSET(Ngay;;-2)
PHP:
DK=IF((Ngay=Sheet1!$J$3)*(No=1);ROW(Ngay)-3;"")

Công thức đặt tại ô L4 là
PHP:
=IF(ROWS($1:1)>COUNT(DK);"";INDEX(OFFSET(Ngay;;-3);SMALL(DK;ROWS($1:1))))

--
Do em mới tập làm Name nên có thể chưa phải là cách ngắn nhất, rất mong mọi người góp ý.
 

File đính kèm

Thêm 1 cách:

PHP:
ngay=OFFSET(Sheet1!$E$4;;;COUNTA(Sheet1!$E$4:$E$1000))
PHP:
No=OFFSET(Ngay;;-2)
PHP:
DK=IF((Ngay=Sheet1!$J$3)*(No=1);ROW(Ngay)-3;"")

Công thức đặt tại ô L4 là
PHP:
=IF(ROWS($1:1)>COUNT(DK);"";INDEX(OFFSET(Ngay;;-3);SMALL(DK;ROWS($1:1))))

--
Do em mới tập làm Name nên có thể chưa phải là cách ngắn nhất, rất mong mọi người góp ý.
Sửa lại chút:
PHP:
DK =IF((Ngay=Sheet1!$J$3)*(OFFSET(Ngay,,-2)=1),ROW(INDIRECT("1:"&ROWS(Ngay))),"")
Bạn dùng ROW(Ngay)-3 là không tổng quát... Dữ liệu không bắt đầu từ dòng 4 thì phải sửa công thức sao?
Công thức:
PHP:
=IF(ROWS($1:1)>COUNT(DK),"",OFFSET(Ngay,SMALL(DK,ROWS($1:1)),-3,1,1))
Dùng Offset rồi thì khỏi cần phải INDEX
 

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

Back
Top Bottom