Nâng cao: Tùy chọn từ một bảng tính khác
Sheet tùy chọn là nơi duy nhất tiện ích đọc dữ liệu: bạn nhập tùy chọn ở cột A, sức chứa ở cột B, còn tiện ích ghi số lượt đăng ký vào cột C. Không có gì khác trong Drive của bạn bị đụng tới.
Nếu danh sách bạn muốn đã nằm trong một bảng tính khác (danh sách lớp, bảng kiểm kê, hay một Sheet do người khác duy trì), bạn không phải gõ lại hay sao chép nó. Hãy trỏ cột A tới Sheet đó bằng một công thức, và biểu mẫu của bạn sẽ đi theo.
Công thức
Mở Sheet tùy chọn của bạn và vào tab của câu hỏi. Khi kết nối, cột A đã được điền sẵn các lựa chọn hiện có của câu hỏi, nên trước hết hãy xóa hết mọi thứ trong cột A bên dưới tiêu đề. Một công thức sẽ điền vào các ô bên dưới nó khi kết quả trải ra, và nó dừng lại với #REF! nếu bất kỳ ô nào trong số đó đã có dữ liệu.
Sau đó nhấp vào ô A2 rồi nhập:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/ID_SHEET_CUA_BAN/edit", "Sheet1!A2:A")
Thay URL bằng URL bảng tính nguồn của bạn, và Sheet1!A2:A bằng tab và cột chứa các tùy chọn. Hãy bắt đầu dải ô từ dòng 2 nếu nguồn của bạn có dòng tiêu đề.
Lần đầu bạn làm việc này, ô sẽ hiện #REF!. Nhấn Enter đã đưa vùng chọn xuống một dòng, và Sheets chỉ hiện lời nhắc Cho phép truy cập khi ô công thức đang được chọn, nên hãy nhấp lại vào A2 để lời nhắc hiện ra. Nhấp Cho phép truy cập một lần và các giá trị sẽ xuất hiện. Quyền này được cấp theo từng cặp bảng tính, và lời nhắc chỉ hiện với người có thể mở được cả hai.
Hãy để A1 là Options. Tiện ích kiểm tra tiêu đề đó để chắc chắn bố cục tab còn nguyên vẹn, và việc đồng bộ sẽ dừng nếu tiêu đề thay đổi.
Điều gì diễn ra tiếp theo
Không có gì khác thay đổi. Biểu mẫu của bạn đồng bộ theo lịch bình thường (khi mở thanh bên và mỗi giờ một lần), và mỗi lần đồng bộ đọc bất cứ giá trị nào công thức đang trả về. Sửa bảng tính nguồn và các giá trị mới sẽ tới biểu mẫu của bạn ở lần đồng bộ kế tiếp.
Sức chứa cần được xem lại
Sức chứa ở cột B được ghép với tùy chọn theo dòng: con số ở B5 giới hạn bất cứ tùy chọn nào nằm ở A5.
Một danh sách gõ tay thì không xê dịch, nên điều này không lộ ra trong sử dụng thông thường. Một danh sách nạp bằng công thức thì có thể: nếu các dòng ở nguồn bị chèn thêm, bị xóa, hoặc bị sắp xếp lại, các tùy chọn sẽ dịch chuyển trong khi sức chứa của bạn vẫn nằm nguyên chỗ cũ, gắn vào nhầm dòng.
Hai cách để an toàn:
- Thêm hoặc bớt dòng ở cuối danh sách nguồn thay vì ở giữa
- Sau bất kỳ lần sắp xếp lại nào, hãy mở Sheet tùy chọn và kiểm tra rằng mỗi sức chứa vẫn nằm cạnh đúng tùy chọn của nó
Nếu bạn không dùng sức chứa, những điều trên không áp dụng.
Khi công thức hỏng
Nếu quyền truy cập bị thu hồi, tệp nguồn bị xóa, hoặc dải ô trở nên không hợp lệ, ô đó sẽ trả về lỗi như #REF! hay #N/A.
Tiện ích sẽ không ghi thứ đó vào biểu mẫu của bạn. Việc đồng bộ dừng lại, câu hỏi giữ nguyên các tùy chọn đang có, và thanh bên hiển thị một lỗi đồng bộ nhắc bạn sửa Sheet tùy chọn. Hãy mở Sheet, sửa công thức, rồi đồng bộ lại.
Khi ô bị lỗi chứa một IMPORTRANGE, thanh bên sẽ nói rõ điều đó và chỉ bạn quay lại lời nhắc Cho phép truy cập, vì một quyền chưa bao giờ được cấp trông giống hệt một công thức bị hỏng. Hãy nhấp vào A2 trong Sheet tùy chọn, cho phép truy cập nếu lời nhắc hiện ra, rồi đồng bộ lại.
Vì sao dùng công thức thay vì bộ chọn tệp
Kết nối tới các bảng tính bên ngoài từ bên trong tiện ích sẽ đồng nghĩa với việc cấp cho nó quyền truy cập vào những tệp đó, và sẽ khiến Sheet tùy chọn mang hai ý nghĩa khác nhau tùy theo một thiết lập mà bạn không nhìn thấy khi đang nhìn vào nó. Một công thức giữ cho một quy tắc luôn đúng: bạn sở hữu Options và Capacity, tiện ích sở hữu Taken, và tiện ích không bao giờ đọc bảng tính nào ngoài bảng tính nó đã tạo cho biểu mẫu của bạn.
