Công thức tìm vị trí ô đầu tiên, ô cuối cùng theo điều kiện

Liên hệ QC

hoangdanh282vn

Nguyễn Cảnh Hoàng Danh
Thành viên danh dự
Tham gia
21/12/07
Bài viết
1,902
Được thích
5,303
Nghề nghiệp
Kinh doanh các mặt hàng văn phòng phẩm
A .Tìm vị trí ô đầu tiên, ô cuối cùng trong cùng một cột thỏa điều kiện

1. Dòng đầu tiên khác rỗng :
PHP:
=SUMPRODUCT(MATCH(TRUE,A$1:A$65535<>"",0))

2. Dòng đầu tiên khác rỗng với dữ liệu chuỗi :
PHP:
=MATCH("*",A:A,0)

3. Dòng đầu tiên khác rỗng với dữ liệu số :
PHP:
{=MIN(IF(ISNUMBER(A1:A65535),ROW(A1:A65535)))}

4. Dòng cuối cùng khác rỗng :
PHP:
=SUMPRODUCT(MAX(((A$1:A$65535<>"")*ROW(A$1:A$65535))))
=MAX(MATCH(9.99999999999999E+307,A:A),MATCH(REPT("z",255),A:A))

5. Dòng cuối cùng khác rỗng với dữ liệu số :
PHP:
=MATCH(9.99999999999999E+307,A:A)

6. Dòng cuối cùng khác rỗng với dữ liệu chuỗi :
PHP:
=MATCH(REPT("z",255),A:A)

B .Tìm giá trị ô đầu tiên, ô cuối cùng trong cùng một cột thỏa điều kiện

1. Giá trị ô đầu tiên khác rỗng :
PHP:
=INDEX(A:A,SUMPRODUCT(MATCH(TRUE,A$1:A$65535<>"",0)))

2. Giá trị ô đầu tiên khác rỗng với dữ liệu chuỗi:
PHP:
=INDEX(A:A,MATCH("*",A:A,0))

3. Giá trị ô đầu tiên khác rỗng với dữ liệu số:
PHP:
{=INDEX(A:A,MIN(IF(ISNUMBER(A1:A65535),ROW(A1:A65535))))}


4. Giá trị ô cuối cùng khác rỗng :
PHP:
=INDEX(A:A,MAX(MATCH(9.99999999999999E+307,A:A),MATCH(REPT("z",255),A:A)))

5. Giá trị ô cuối cùng khác rỗng với dữ liệu số :
PHP:
=LOOKUP(9.99999999999999E+307,A:A)

6. Giá trị ô cuối cùng khác rỗng với dữ liệu chuỗi :
PHP:
=LOOKUP(REPT("z",255),A:A)

C. Tìm vị trí của ô đầu tiên, ô cuối cùng có chứa dữ liệu tìm kiếm :

Row of Lastcell with lookup_value :
PHP:
{=MAX(((A1:A100=lookup_value)*ROW(A1:A100)))}  press Ctrl+Shif+Enter

Row of Firstcell with lookup_value :
PHP:
{=SMALL(((A1:A100=lookup_value)*ROW(A1:A100)),SUMPRODUCT(--NOT((A1:A100=lookup_value)))+1)}  press Ctrl+Shif+Enter

Tương tự cho dòng
 

File đính kèm

Lần chỉnh sửa cuối:
Còn thiếu dòng đầu tiên với số, giá trị số đầu tiên. Danh làm nốt đi cho trọn.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Nhập thêm vài công thức giống như vậy nữa. Tìm giá trị số ở cột cuối cùng trong vùng A3:F3
PHP:
=lookup(1E+307,A3:F3)
Tổng quát:
PHP:
=Lookup(1E+307,1:1)
lookup(1E+307,A3:F3) Đây là công thức đặc biệt, nó sẽ tìm giá trị số ở cột cuối cùng trong vùng A3:F3 Hay tổng quát là Lookup(1E+307,1:1) Tìm giá trị số ở cột cuối cùng trong hàng thứ nhất.Số 1E+307 có thể là 2E+307... Anh xem thêm bài viết của em ở đây, nói riêng về tìm dữ liệu trong trong 1 cột. Trong 1 hàng thì đảo vùng lại, VD A:A thành 1:1 http://www.giaiphapexcel.com/forum/showthread.php?t=12438
Nguồn: http://www.giaiphapexcel.com/forum/showthread.php?t=3369&page=77
 
Lần chỉnh sửa cuối:
Các bạn giúp hộ 2 công thức:
1. Dòng đầu tiên khác rỗng với dữ liệu số
2. Giá trị ô đầu tiên khác rỗng với dữ liệu số
Xin cám ơn
 
Các bạn giúp hộ 2 công thức:
1. Dòng đầu tiên khác rỗng với dữ liệu số
2. Giá trị ô đầu tiên khác rỗng với dữ liệu số
Xin cám ơn
Bạn chịu khó đọc các bài bên trên sẽ thấy! Cụ thể là bạn đọc tại bài #1 của topic này sẽ rõ.
 
Lần chỉnh sửa cuối:
Tôi đã đọc kỹ bài #1 chỉ có:
1. Dòng đầu tiên khác rỗng :
2. Dòng đầu tiên khác rỗng với dữ liệu chuỗi :
chứ không có Dòng đầu tiên khác rỗng với dữ liệu số
Khi dòng đầu tiên không phải số thì áp dụng 2 công thức trên không được.
Xin cám ơn
 
Tôi đã đọc kỹ bài #1 chỉ có:
1. Dòng đầu tiên khác rỗng :
2. Dòng đầu tiên khác rỗng với dữ liệu chuỗi :
chứ không có Dòng đầu tiên khác rỗng với dữ liệu số
Khi dòng đầu tiên không phải số thì áp dụng 2 công thức trên không được.
Xin cám ơn
Nếu người ta nói Dòng đầu tiên khác rỗng và không nói gì thêm có nghĩa là kiểu dử liệu nào cũng OK
Bạn làm không được thì đưa ví dụ lên xem
Ghi chú: Công thức 1 chỉ là tìm vị trí dòng chứa cell đầu tiên (không phải lấy giá trị cell)
 
Tôi đã đọc kỹ bài #1 chỉ có:
1. Dòng đầu tiên khác rỗng :
2. Dòng đầu tiên khác rỗng với dữ liệu chuỗi :
chứ không có Dòng đầu tiên khác rỗng với dữ liệu số
Khi dòng đầu tiên không phải số thì áp dụng 2 công thức trên không được.
Xin cám ơn
Bạn xem công thức trong file nhé.
 

File đính kèm

Salam dùng 1 công thức khác để tìm cell đầu tiên...
Còn file này tôi dùng đúng công thức 1 (mà bạn nói làm không được) đây:
 

File đính kèm

File đính kèm

Mình cần tìm giá trị cuối cung của dữ liệu số khác không thì ntn vậy các bạn.
 
Mình cũng muốn tìm dữ liệu cuối cùng khác 0 thì phải làm sao giúp mình với
 
Mình có dữ liệu như file đính kèm. VD Trần Minh Hách mã ID là CN235 (lấy mã ID làm tham số để tìm kiếm) trong tháng làm 3 công trình. Công ngày cuối cùng trong tháng là ngày 28. Ngày 28 thì công nhân này đang làm ở công trình VKS.Vậy làm thế nào để tìm ra người có ID là CN235 thì ngày có công cuối cùng trong tháng đang làm ở công trình nào. Nhờ các bác chỉ giúp. Cám ơn các bác nhiều lắm‼!
 

File đính kèm

Mình có dữ liệu như file đính kèm. VD Trần Minh Hách mã ID là CN235 (lấy mã ID làm tham số để tìm kiếm) trong tháng làm 3 công trình. Công ngày cuối cùng trong tháng là ngày 28. Ngày 28 thì công nhân này đang làm ở công trình VKS.Vậy làm thế nào để tìm ra người có ID là CN235 thì ngày có công cuối cùng trong tháng đang làm ở công trình nào. Nhờ các bác chỉ giúp. Cám ơn các bác nhiều lắm‼!
Bài này nên làm bằng VBA, chứ xét ngày cuối cùng đi làm để lấy công trình thì tạo mảng lớn sẽ làm chậm máy.
Thử:
Mã:
E2=IFERROR(OFFSET('Chi tiet CT'!$A$7,MOD(AGGREGATE(14,6,('Chi tiet CT'!$H$4:$BQ$4*10^8+ROW($1:$1000))/(A2='Chi tiet CT'!$B$8:$B$1000)/('Chi tiet CT'!$H$8:$BQ$1000>0),1),10^8),),"")
Enter, fll xuống.

Thân
 

File đính kèm

Lần chỉnh sửa cuối:
Bài này nên làm bằng VBA, chứ xét ngày cuối cùng đi làm để lấy công trình thì tạo mảng lớn sẽ làm chậm máy.
Thử:
Mã:
E2=IFERROR(OFFSET('Chi tiet CT'!$A$7,MOD(AGGREGATE(14,6,('Chi tiet CT'!$H$4:$BQ$4*10^8+ROW($1:$1000))/(A2='Chi tiet CT'!$B$8:$B$1000)/('Chi tiet CT'!$H$8:$BQ$1000>0),1),10^8),),"")
Enter, fll xuống.

Thân
Cám ơn bạn Phan Thế Hiệp rất nhiều!
 
Minh phải đăng ký tài khoản để cảm ơn bạn chủ topic.
 
Web KT

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

Back
Top Bottom