Giữ cố định vùng tham chiếu trong công thức, dù có thay đổi số dòng, cột ở vùng tham chiếu

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

LanAnh19

Thành viên chính thức
Tham gia
1/5/22
Bài viết
76
Được thích
8
Giới tính
Nữ
Chào các bạn và anh chị
Có cách nào giữ cố định vùng tham chiếu trong công thức, dù có thay đổi số dòng, cột ở vùng tham chiếu
Ví dụ như sau: ô B1 của sheet ChiTiet em có công thức =VLOOKUP($F$1;TongHop!$A$9:$B$14;2;0)

Bây giờ ta sang Sheet TongHop chọn 2 dòng (dòng số 10 và 11) Rồi Delete hay insert
Thì sau khi Delete hay insert thì em muốn VLOOKUP($F$1;TongHop!$A$9:$B$14;2;0) không thay đổi tham chiếu vùng TongHop!$A$9:$B$14 (vẫn giữ cố định)
Nhờ các anh chị hướng dẫn làm bằng công thức hay sử dụng code cũng được
Em cảm ơn!
 

File đính kèm

  • HOI-CT.xlsm
    10.2 KB · Đọc: 2
Mình mới nghĩ được một cách là bạn đặt 1 name = $A$9:$B$14, công thức tham chiếu đến name đó. Và làm 1 nút VBA update name = $A$9:$B$14 mỗi khi bạn thêm hàng hoặc cột.
1710212808929.png
52.gif
 

File đính kèm

  • HOI-CT.xlsm
    19.4 KB · Đọc: 2
Lần chỉnh sửa cuối:
Chào các bạn và anh chị
Có cách nào giữ cố định vùng tham chiếu trong công thức, dù có thay đổi số dòng, cột ở vùng tham chiếu
Ví dụ như sau: ô B1 của sheet ChiTiet em có công thức =VLOOKUP($F$1;TongHop!$A$9:$B$14;2;0)

Bây giờ ta sang Sheet TongHop chọn 2 dòng (dòng số 10 và 11) Rồi Delete hay insert
Thì sau khi Delete hay insert thì em muốn VLOOKUP($F$1;TongHop!$A$9:$B$14;2;0) không thay đổi tham chiếu vùng TongHop!$A$9:$B$14 (vẫn giữ cố định)
Nhờ các anh chị hướng dẫn làm bằng công thức hay sử dụng code cũng được
Em cảm ơn!
Dùng hàm Indirect . . .
 
Chiếc xe mà cái gi cũng tiện lợi. Hê thống điều hòa toàn thể, máy mạnh, leo đường ruộng... thì phải chấp nhận nó uống xăng như trâu uống nước.

Bài này cách giải tùy theo số lượng sử dụng cái vùng ấy:
- Nếu chỉ vài chỗ thôi thì đổi tay quách cho nó nhanh và ít lỗi.
- Nếu nhiều chỗ thì dùng names. Mỗi lần đổi thì đổi trong names.
-- Nên nhớ rằng names cũng giống như máy có turbo, sẽ chạy tốt hơn.
- Nếu lưng lưng số lượng thì dùng công thức tính vùng ấy (như bài #3 đề nghị)

Nhưng tôi cảnh báo là loại vấn đề này chủ nên làm khi bạn đã biết gần hết, chỉ bí 1 vài mẹo vặt gì đó thì hẵn làm. Loại này mà tay mơ chỉ biết xin code thì về sau này sai bấy mà không biết.
 
Nhiều cách:

1) đưa cái vùng vào trong INDIRECT(" "), sau đó muốn làm gì nó thì làm
INDIRECT("TongHop!$A$9:$B$14")

2) Nếu lo rằng vùng sẽ tăng số dòng theo thời gian, dùng vùng lớn hơn
TongHop!$A$9:$B$10000

3) Dùng VBA
 
Web KT
Back
Top Bottom