Hỏi cách sửa công thức lọc duy nhất khi có dòng rỗng thì bị lỗi (1 người xem)

  • Thread starter Thread starter trungvdb
  • Ngày gửi Ngày gửi
Liên hệ QC

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

trungvdb

Thành viên thường trực
Tham gia
22/8/08
Bài viết
374
Được thích
171
Nghề nghiệp
Tài chính
Em làm bài toán trích lọc duy nhất, cụ thể các Name

PHP:
DS==OFFSET(Sheet1!$A$1;;;COUNTA(Sheet1!$A$1:$A$12);1)
PHP:
tim=IF(MATCH(DS;DS;0)=ROW(Sheet1!$1:$102); ROW(Sheet1!$1:$102);"")
PHP:
=IF(ISNA(tim);"";tim)

sau đó ô công thức là

PHP:
=IF(ROWS($1:1)>COUNT(DK);"";INDEX(DK;SMALL(DK;ROWS($1:1));1))

với cách làm như trên thì các ô liên tục, có chứa dự liệu thì không vấn đề gì, nhưng khi có ô trống nằm giữa thì nó bị sai.

Rất mong nhận được sự chỉ bảo giúp em, sửa thế nào để đúng trong TH trên
 

File đính kèm

Lần chỉnh sửa cuối:
Em làm bài toán trích lọc duy nhất, cụ thể các Name

PHP:
DS==OFFSET(Sheet1!$A$1;;;COUNTA(Sheet1!$A$1:$A$12);1)
PHP:
tim=IF(MATCH(DS;DS;0)=ROW(Sheet1!$1:$102); ROW(Sheet1!$1:$102);"")
PHP:
=IF(ISNA(tim);"";tim)

sau đó ô công thức là

PHP:
=IF(ROWS($1:1)>COUNT(DK);"";INDEX(DK;SMALL(DK;ROWS($1:1));1))

với cách làm như trên thì các ô liên tục, có chứa dự liệu thì không vấn đề gì, nhưng khi có ô trống nằm giữa thì nó bị sai.

Rất mong nhận được sự chỉ bảo giúp em, sửa thế nào để đúng trong TH trên
Sửa thành vầy nhé:
Mã:
DS =OFFSET($A$1,,,MATCH(REPT("z",255),$A$1:$A$1000),)
Mã:
DK =IF(DS="","",IF(MATCH(DS,DS,0)=ROW($1:$102), ROW($1:$102),""))
Công thức:
Mã:
=IF(ROWS($1:1)>COUNT(DK),"",INDEX(DS,SMALL(DK,ROWS($1:1))))
Tuy nhiên name DK nên sửa thành vầy mới tổng quát
Mã:
=IF(DS="","",IF(MATCH(DS,DS,0)=ROW(INDIRECT("1:"&ROWS(DS))), MATCH(DS,DS,0),""))
--------------
Lưu ý: Name DS dùng REPT("z",255) là tính trước danh sách này thuộc dạng chuổi... Nếu cột A thuộc dạng Number, thay REPT("z",255) thành 10^15
 
Lưu ý: Name DS dùng REPT("z",255) là tính trước danh sách này thuộc dạng chuổi... Nếu cột A thuộc dạng Number, thay REPT("z",255) thành 10^15

Nếu 1 danh sách có cả số và chữ lẫn lộn thì mình làm "động tác" gì để luôn lấy dữ liệu cuối cùng trong cột, tức khi dữ liệu cuối cùng trong cột là số thì hàm Match trả về dòng của số đó, ngược lại khi dữ liệu cuối cùng chữ thì hàm Match nó cũng trả về dòng của chữ đó,

Bởi ví dụ:
A1 = 1
A2 = 2
A3 = h
A4 = 4
A5 = 5
Nếu em dùng công thức
PHP:
=MATCH(REPT("z";255);A1:A5)
nó cho kết quả là 3, trong khi em muốn nó trả về hàng 5
-----------
Tức là ý em muốn diễn đạt có cách nào mà Convert gì gì đó để dữ liệu 1 cột luôn thống nhất (là Text hoặc là số thôi).
 
Nếu 1 danh sách có cả số và chữ lẫn lộn thì mình làm "động tác" gì để luôn lấy dữ liệu cuối cùng trong cột, tức khi dữ liệu cuối cùng trong cột là số thì hàm Match trả về dòng của số đó, ngược lại khi dữ liệu cuối cùng chữ thì hàm Match nó cũng trả về dòng của chữ đó,

Bởi ví dụ:
A1 = 1
A2 = 2
A3 = h
A4 = 4
A5 = 5
Nếu em dùng công thức
PHP:
=MATCH(REPT("z";255);A1:A5)
nó cho kết quả là 3, trong khi em muốn nó trả về hàng 5
-----------
Tức là ý em muốn diễn đạt có cách nào mà Convert gì gì đó để dữ liệu 1 cột luôn thống nhất (là Text hoặc là số thôi).
Với câu hỏi này, bạn thử sử dụng công thức:
=MAX(MATCH("z",A1:A5),MATCH(MAX(A1:A5)+1,A1:A5))
Thân
 
PHP:
=MAX(MATCH("z",A1:A5),MATCH(MAX(A1:A5)+1,A1:A5)

Vụ này rắc rối phết sư phụ ah, công thức trên nếu không tồn tại số hoặc chữ thì sẽ báo lỗi (#N/A)
 
PHP:
=MAX(MATCH("z",A1:A5),MATCH(MAX(A1:A5)+1,A1:A5)

Vụ này rắc rối phết sư phụ ah, công thức trên nếu không tồn tại số hoặc chữ thì sẽ báo lỗi (#N/A)
Híc, thì mình đã nói: (cái chỗ in đậm)
Với câu hỏi này, bạn thử sử dụng công thức:
Nếu dữ liệu của mình thì mình phải biết nó là cái gì chứ nhỉ +-+-+-+??? Híc
Còn nếu dữ liệu búa xua chẳng biết chi mô hết, thì bạn thử công thức mảng này:
=MATCH(MAX(CODE(IF(A1:A5="",1,A1:A5)))+1,CODE(IF(A1:A5="",1,A1:A5)))
Thân
Híc +-+-+-++-+-+-++-+-+-+
 

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

Back
Top Bottom