- Tham gia
- 16/3/07
- Bài viết
- 2,104
- Được thích
- 19,173
- Giới tính
- Nam
Kiểu tham chiếu R1C1
Ngoài ra chúng ta còn có thể chuyển kiểu tham chiếu từ dạng A1 sang dạng R1C1, kiểu tham chiếu R1C1 rất hữu ích cho việc tính toán vị trí dòng và cột trong VBA. Đối với kiểu R1C1, Excel ký hiệu "R" để chỉ dòng theo sau là số thứ tự dòng và ký hiệu "C" để chỉ cột theo sau là số thứ tự cột.
Để hiểu hơn về tham chiếu R1C1 xét các ví dụ sau:
Công thức trong bảng tính sử dụng tham chiếu R1C1
Giải thích công thức ô tại dòng 2 cột 5 (tương đương E2): =RC[-2]*RC[-1]
Giải thích công thức ô tại dòng 27 cột 2 (tương đương B27):
=SUMIFS(R2C5:R21C5,R2C1:R21C1,RC1,R2C2:R21C2,R26C)
Tham chiếu R1C1 và Macro
Khi ghi macro, Excel mặc định sẽ sinh ra các tham chiếu dưới dạng R1C1 khi gán công thức vào ô.
Ví dụ: Ghi macro chèn công thức tính tổng cột "Thành tiền" của ví dụ trên thì Macro sinh ra như sau:
Ví dụ: Thủ tục chuyển đổi qua lại kiểu tham chiếu A1 và R1C1
Tuỳ chọn để chuyển sang kiểu tham chiếu R1C1
Excel 2003 về trước: Tools | Options | General | Settings | chọn R1C1 reference style.
Excel 2007: Nút Office | Excel Options | Formulas | Working with formulas | chọn R1C1 reference style
Excel 2013: File | Options | Formulas | Working with formulas | chọn R1C1 reference style
Ngoài ra chúng ta còn có thể chuyển kiểu tham chiếu từ dạng A1 sang dạng R1C1, kiểu tham chiếu R1C1 rất hữu ích cho việc tính toán vị trí dòng và cột trong VBA. Đối với kiểu R1C1, Excel ký hiệu "R" để chỉ dòng theo sau là số thứ tự dòng và ký hiệu "C" để chỉ cột theo sau là số thứ tự cột.
- R: chỉ dòng
- C: chỉ cột
- Chỉ số sau R hay C nếu để trong móc vuông [ ] là tham chiếu tương đối
- Chỉ số sau R hay C không để trong móc vuông [ ] là tham chiếu tuyệt đối
- R (chính là R[0]) hay C (chính là C[0]) không có chỉ số theo sau là biểu thị cùng dòng hay cùng cột với ô hiện hành.
Để hiểu hơn về tham chiếu R1C1 xét các ví dụ sau:
Công thức trong bảng tính sử dụng tham chiếu R1C1
Giải thích công thức ô tại dòng 2 cột 5 (tương đương E2): =RC[-2]*RC[-1]
- RC[-2] (tương đương C2)
o R: Cùng dòng ô hiện hành ' dòng 2
o C[-2]: Dịch chuyển về bên trái ô chứa công thức hiện hành 2 cột ' cột 3
o C[-2]: Dịch chuyển về bên trái ô chứa công thức hiện hành 2 cột ' cột 3
- RC[-1] (tương đương ô D2)
o R: Cùng dòng ô hiện hành ' dòng 2
o C[-1]: Dịch chuyển về bên trái ô chứa công thức hiện hành 1 cột ' cột 4
o C[-1]: Dịch chuyển về bên trái ô chứa công thức hiện hành 1 cột ' cột 4
Giải thích công thức ô tại dòng 27 cột 2 (tương đương B27):
=SUMIFS(R2C5:R21C5,R2C1:R21C1,RC1,R2C2:R21C2,R26C)
- R2C5:R21C5: Vùng địa chỉ tuyệt đối từ ô có dòng 2 cột 5 đến ô dòng 21 cột 5 (tương đương $E$2:$E$21)
- R2C1:R21C1: Vùng địa chỉ tuyệt đối từ ô có dòng 2 cột 1 đến ô dòng 21 cột 1 (tương đương $A$2:$A$21)
- RC1: Địa chỉ hỗn hợp của ô có dòng cùng dòng ô chứa công thức và cột 1 (tương đương $A27)
- R2C2:R21C2: Vùng địa chỉ tuyệt đối từ ô có dòng 2 cột 2 đến ô dòng 21 cột 2 (tương đương $B$2:$B$21)
- R26C: Địa chỉ hỗn hợp của ô có dòng 26 và cùng cột với ô chứa công thức (tương đương B$26)
Tham chiếu R1C1 và Macro
Khi ghi macro, Excel mặc định sẽ sinh ra các tham chiếu dưới dạng R1C1 khi gán công thức vào ô.
Ví dụ: Ghi macro chèn công thức tính tổng cột "Thành tiền" của ví dụ trên thì Macro sinh ra như sau:
Mã:
Sub Macro1()
Range("E22").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-20]C:R[-1]C)"
Range("E23").Select
End Sub
Ví dụ: Thủ tục chuyển đổi qua lại kiểu tham chiếu A1 và R1C1
Mã:
Sub Shift_R1C1_A1()
If Application.ReferenceStyle = xlR1C1 Then
Application.ReferenceStyle = xlA1
Else
Application.ReferenceStyle = xlR1C1
End If
End Sub
Tuỳ chọn để chuyển sang kiểu tham chiếu R1C1
Excel 2003 về trước: Tools | Options | General | Settings | chọn R1C1 reference style.
Excel 2007: Nút Office | Excel Options | Formulas | Working with formulas | chọn R1C1 reference style
Excel 2013: File | Options | Formulas | Working with formulas | chọn R1C1 reference style
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote
0