1>Hàm Column() trã về giá trị là vị trí của cột, VD: tại cell D1, gõ công thức bằng Column() thì sẽ nhận dc kết quả = 4, có nghĩa là cột D nằm vị trí thứ tư tính từ cột A qua
2>Hàm Row() có tác dụng tương tự nhưng giá trị trã về là vị trí dòng.. VD: tại cell D1 gõ vào công thức = ROW() thì sẽ nhận dc kết quả =1
Vậy trong công thức trên, bạn xét biểu thức: COLUMN()-4+ROW()*5-4 Tại vị trí cell D1 sẽ cho kết quả =4-4 + 1*5 -4 = 1
Tại vi trí cell D2 sẽ cho kết quả =4-4 + 2*5 -4 = 6
--->tại D1 thì "C"&(COLUMN()-4+ROW()*5-4)) = "C1"
--->tại D2 thì "C"&(COLUMN()-4+ROW()*5-4)) = "C6" đúng ko?
3> Hàm INDIRECT thì tôi hiều mà chẳng biết giải thích thế nào... Chỉ nói đơn giản như sau: theo biểu thức trên thì cuối cùng ta dc công thức tương đương như sau:
Tại D1 thì INDIRECT("C"&(COLUMN()-4+ROW()*5-4)) = với INDIRECT("C1"), sẽ lấy giá trị của C1
Tại D2 thì INDIRECT("C"&(COLUMN()-4+ROW()*5-4)) = với INDIRECT("C6"), sẽ lấy giá trị của C6
Từ đây mà kéo fill sang phải và xuống dưới thì nó cứ lần lượt lấy các giá trị đúng như yêu cầu...
Bạn có thể Search trên diển đàn đễ biết thêm về hàm INDIRECT
Mến
ANH TUẤN