Vấn đề
Để tạo ra công thức để trả lại các cell trống đầu tiên trong hàng. Ở đây bạn có thể nhìn thấy dữ liệu Phạm vi G6:L9 cho thấy tại các điểm khác nhau cho những ngày khác nhau.
Giải pháp
Trong cell C8 trên hình công thức là "=INDEX(G8:L8;1;MATCH(1;INDEX(1-ISBLANK(G8:L8);1;0);0))". Với mảng của các cell nhưng cuối cùng trả về giá trị duy nhất.
Giải thích công thức
Bắt đầu từ bên trong, hàm ISBLANK trả về TRUE khi một cell là trống và FALSE khi một cell là không trống. Do đó, các khối bên trong "ISBLANK(G8:L8)" sẽ trả về một mảng của True n FALSEs như {FALSE, TRUE, FALSE, TRUE, FALSE, TRUE}.
Bạn có thể nhìn thấy mảng này được trừ 1 có nghĩa là tất cả các TRUE n FALSEs trong mảng sẽ bị chống như: {TRUE, FALSE, TRUE, FALSE, TRUE, FALSE}. Chức năng MATCH sẽ cho giá trị nhất định trong mảng một chiều và trả về vị trí tương đối của giá trị tìm thấy đầu tiên. Di chuyển hướng lên bạn nhìn thấy nó kết luận "=MATCH(1,array,0)". Trong tính toán kỹ thuật TRUE có nghĩa là 1 và FALSE là 0. Vì vậy, bạn có thể thấy công thức này như =MATCH(1,{1,0,1,0,1,0},0) (tham số cuối cùng, 0 là tham số kiểu đối số)
Bạn có thể dễ dàng có ý tưởng nó sẽ trả về kết quả 1 vì nó phù hợp với 1 ở vị trí đầu tiên. Tại đây, bạn biết rằng cột đầu tiên trong phạm vi G8:L8 chứa giá trị không trống. Bây giờ sẽ cao hơn trong công thức chính, nó chỉ là chức năng Index: "=INDEX(array,1,1)" hoặc "=INDEX(G8:L8,1,1)"
Và các chức năng trên sẽ trả lại các cell đầu tiên giá trị trong cột đầu tiên trong phạm vi dữ liệu G8:L8 tức là 4 và đó là những gì chúng ta muốn tìm. Phần còn lại chỉ là kéo công thức xuống. Hy vọng bạn thích thủ thuật này.