fix công thức.

Liên hệ QC

thangbuihb

Thành viên chính thức
Tham gia
13/10/15
Bài viết
52
Được thích
0
=IF(ROWS($1:1)>COUNT(Pos);"";INDEX(Data;SMALL(Pos;ROWS($1:1))))
ai giải thích hộ em đoạn hàm trên được ko ạ.

IF(ROWS($1:1)>COUNT(DK_1),INDEX(DS_2,SMALL(DK_3,RO WS($1:1)

DK1 là gì ạ, DS2, DK2 nữa
nó y như này
 
Lần chỉnh sửa cuối:
=IF(ROWS($1:1)>COUNT(Pos);"";INDEX(Data;SMALL(Pos;ROWS($1:1))))
ai giải thích hộ em đoạn hàm trên được ko ạ.

IF(ROWS($1:1)>COUNT(DK_1),INDEX(DS_2,SMALL(DK_3,RO WS($1:1)

DK1 là gì ạ, DS2, DK2 nữa
nó y như này
Cái này chắc bạn phải gửi file rồi chứ khó giải thích. Vì PosDK_1, DK_2, DK_3 là tên vùng (hoặc giá trị nào đó) làm sao biết nó là gì mà giải thích.
 
Từ 'fix' tiếng Anh có ít nhất hai nghĩa.
1. Chữa sai
2. Đặt vào chỗ, giữ yên
Ý bạn muốn làm cái gì cho các công thức đó?
 
Lần chỉnh sửa cuối:
Bạn xem excel thì có thể đặt vào chỗ, giữ yên ko khi là câu hỏi.
 
Vụ này không ai giải quyết đc à
 
=IF(ROWS($1:1)>COUNT(Pos);"";INDEX(Data;SMALL(Pos;ROWS($1:1))))
ai giải thích hộ em đoạn hàm trên được ko ạ.
Đang rảnh nên vọc 1 chút.
Dạng công thức này dùng để trích lọc các dòng dữ liệu trong name Data thoả điều kiện mà name Pos quy định
Pos sẽ đánh dấu Data thoả điều kiện nào đó bằng số thứ tự tăng dần
Để dễ hiểu hơn, xét VD cụ thể này:

Ta có vùng data A1:B4 như sau:
--------A------------B------
-------Tên-------Năm sinh
1--Nguyen Van A -- 1980
2--Nguyen Van B -- 1990
3--Nguyen Van C -- 1975
4--Nguyen Van D -- 1991

Vùng A1:B4 có thể được định nghĩa bằng tên do người dùng đặt , ví dụ data bằng cách nhấn Ctrl-F3 và khai báo trong đó.
Giả sử yêu cầu trích lọc danh sách trong data những người thoả điều kiện sinh từ năm 1990 trở về sau.
Ta làm như sau:
Tại A5: INDEX(data,n)
Tại A6: INDEX(data,n)
Nếu muốn làm tự động, ta phải cho excel hiểu tham số n=2 tại dòng thứ 1 (A5), khi copy xuống sẽ là tham số n=4 tại dòng thứ 2 (A6)
Người ta thường dùng n=SMALL(Vùng vị trí,dãy số thứ tự tăng dần), hay là SMALL(Pos,ROWS($1:1))
Trong đó name Pos = là dãy số thứ tự tăng dần từ 1 cho đến số dòng tối đa của data thoả điều kiện
Trong name, Pos được khai báo = IF($B$1:$B$4>=1990,ROW($B$1:$B$4)-ROW($B$1)+1,"")= IF($B$1:$B$4>=1990,{1,2,3,4},"")=dãy số {"",2,"",4}
Như vậy, n= SMALL(Pos,ROWS($1:1))=SMALL({"",2,"",4},ROWS($1:1))
Tại dòng đầu tiên, ROWS($1:1) có giá trị là 1, ta có n=SMALL({"",2,"",4},1)=2, =>A5: INDEX(data,2)
Tại dòng kế tiếp, ROWS($1:2) có giá trị là 2, ta có n=SMALL({"",2,"",4},2)=4,=>A6: INDEX(data,4)
Phần IF(ROWS($1:1)>COUNT(Pos), chỉ là bẫy lỗi trả về ô trống khi hết dữ liệu thoả yêu cầu.
 
=IF(ROWS($1:1)>COUNT(Pos);"";INDEX(Data;SMALL(Pos;ROWS($1:1))))
ai giải thích hộ em đoạn hàm trên được ko ạ.

IF(ROWS($1:1)>COUNT(DK_1),INDEX(DS_2,SMALL(DK_3,RO WS($1:1)

DK1 là gì ạ, DS2, DK2 nữa
nó y như này

Bạn cũng lạ thật, topic này đã được mọi người trả lời rồi trong 1 khu vực khác. mà có có gì đâu mà fix với không fix, vấn đề là bạn phải hiểu công thức, chứ bạn không hiểu công thức, không hiểu hàm thì fix sao được, với lại công thức sai hay đúng còn tùy vào ngữ cảnh cụ thể nữa bạn.
Mình thấy bạn mới làm quen với excel mà đụng ngay vào những công thức như thế này thì làm sao mà "chịu được nhiệt", từ từ nha bạn, từng bước, tùng bước một, hãy bắt đầu với những công thức đơn giản trước, trên diễn đàn có khu vực giải bài tập, bạn nên vào đó và tiếp cận từ từ.
Thân mến
 
Web KT

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

Back
Top Bottom