[Help] Tìm kiếm vị trí cell có điều kiện (1 người xem)

Liên hệ QC

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

bigbabol89

Thành viên thường trực
Tham gia
15/10/12
Bài viết
226
Được thích
34
Em chào các anh chị,
Em nhờ các anh chị giúp em vấn đề sau :
- Tìm kiếm ô có chứa ký tự "OFF" xuất hiện lần 1 tính từ trái qua phải trong 1 chuỗi từ ô B4:P4
- Sau đó trả về giá trị ngày tháng tương ứng.
....
Tương tự với ô có chứa ký tự lần 2, lần 3, lần 4.
Chi tiết em gửi ở file đính kèm.
Em cảm ơn ạ
 

File đính kèm

Em chào các anh chị,
Em nhờ các anh chị giúp em vấn đề sau :
- Tìm kiếm ô có chứa ký tự "OFF" xuất hiện lần 1 tính từ trái qua phải trong 1 chuỗi từ ô B4:p4
- Sau đó trả về giá trị ngày tháng tương ứng.
....
Tương tự với ô có chứa ký tự lần 2, lần 3, lần 4.
Chi tiết em gửi ở file đính kèm.
Em cảm ơn ạ
Thử
Mã:
R4=AGGREGATE(15,6,$B$3:$P$3/($B4:$P4="OFF"),COLUMN(A$1))
Enter, fill qua phải, rồi fill cả hàng xuống
Xem file kèm
Thân
 

File đính kèm

Thử
Mã:
R4=AGGREGATE(15,6,$B$3:$P$3/($B4:$P4="OFF"),COLUMN(A$1))
Enter, fill qua phải, rồi fill cả hàng xuống
Xem file kèm
Thân
Cám ơn anh, anh cho em hỏi ý nghĩa của “B3: P3/B4: P4” được ko ạ. Em thấy cách dùng dấu “/“ rất hay mà ko hiểu ý nghĩa
 
Cám ơn anh, anh cho em hỏi ý nghĩa của “B3: P3 /B4: P4” được ko ạ. Em thấy cách dùng dấu “/“ rất hay mà ko hiểu ý nghĩa
Thường để tạo lỗi ta hay dùng dạng 1/(biểu thức so sánh), do biểu thức so sánh sẽ trả về trị là TRUE hay FALSE, do vậy:
  • 1/TRUE=1/1=> 1
  • 1/FALSE= 1/0=> #DIV/0!
  • 1/{False,True,True,False,False,False}=> {#DIV/0!,1,1,#DIV/0!,#DIV/0!,#DIV/0!}
  • {"01/01","02/1","03/01","04/01","05/01","06/01"}/{False,True,True,False,False,False}=> {#DIV/0!,"02/01","03/01",#DIV/0!,#DIV/0!,#DIV/0!}
Hàm Aggregate() dùng đối số 15: tổng hợp số từ nhỏ đến lớn (giống hàm Small()), đối số 6: "phớt lờ" các giá trị lỗi, nhờ chức năng phớt lờ này mà nó chỉ liệt kê các thành phần có giá trị trong Mảng, như trên nó liệt kê thành {"02/01","03/01",#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!}, cuối cùng chỉ cần lấy giá trị thành phần thứ mấy trong Mảng là đúng yêu cầu.

Chức năng phớt lờ này bạn có thể thấy trong các hàm như:
COUNT(1/(biểu thức so sánh 1)/(biểu thức so sánh 2)/.../(biểu thức so sánh n))​
LOOKUP(2,1/(biểu thức so sánh 1)/(biểu thức so sánh 2)/.../(biểu thức so sánh n), Vùng lấy giá trị)​

Ngoài ra, công dụng của 1/0 ->tạo lỗi, còn dùng để tránh lặp lại 1 đoạn công thức:
Ví dụ: Thay vì dùng =IF( 'Công thức tính toán' =0, "" , 'Công thức tính toán' )​
ta dùng: =IFERROR(1/(1/'Công thức tính toán'), "")​
Thân
 
Lần chỉnh sửa cuối:
Thường để tạo lỗi ta hay dùng dạng 1/(biểu thức so sánh), do biểu thức so sánh sẽ trả về trị là TRUE hay FALSE, do vậy:
  • 1/TRUE=1/1=> 1
  • 1/FALSE= 1/0=> #DIV/0!
  • 1/{False,True,True,False,False,False}=> {#DIV/0!,1,1,#DIV/0!,#DIV/0!,#DIV/0!}
  • {"01/01","02/1","03/01","04/01","05/01","06/01"}/{False,True,True,False,False,False}=> {#DIV/0!,"02/01","03/01",#DIV/0!,#DIV/0!,#DIV/0!}
Hàm Aggregate() dùng đối số 15: tổng hợp số từ nhỏ đến lớn (giống hàm Small()), đối số 6: "phớt lờ" các giá trị lỗi, nhờ chức năng phớt lờ này mà nó chỉ liệt kê các thành phần có giá trị trong Mảng, như trên nó liệt kê thành {"02/01","03/01",#DIV/0!,#DIV/0!,#DIV/0!,#DIV/0!}, cuối cùng chỉ cần lấy giá trị thành phần thứ mấy trong Mảng là đúng yêu cầu.

Chức năng phớt lờ này bạn có thể thấy trong các hàm như:
COUNT(1/(biểu thức so sánh 1)/(biểu thức so sánh 2)/.../(biểu thức so sánh n))​
LOOKUP(2,1/(biểu thức so sánh 1)/(biểu thức so sánh 2)/.../(biểu thức so sánh n), Vùng lấy giá trị)​
Hoặc dùng để tránh lặp lại 1 đoạn công thức:
Ví dụ: Thay vì dùng IF( 'Công thức tính toán' =0, "" , 'Công thức tính toán' ) ta dùng​
IFERROR(1/(1/'Công thức tính toán'), "")​
Thân
Tuyệt vời ! Toàn bác học ở GPE :D Một lần nữa cám ơn anh
 
Web KT

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

Back
Top Bottom