Làm cách nào để liên kết một ô trong Bảng tính Google với một ô trong tài liệu khác?


178

Tôi có một bảng tính hàng tháng dựa trên số liệu của tháng trước. Tôi muốn nhập các giá trị này một cách linh hoạt thay vì cắt và dán chúng. Điều này có thể không? Tôi phải làm nó như thế nào?


Nhân tiện, tôi biết điều này là có thể vì tôi đã làm điều đó một lần, nhưng tôi không thể tìm thấy thông tin nữa hoặc tờ tôi đã làm. Nếu tôi tìm thấy nó, tôi sẽ đăng một bản cập nhật.
Jeff Yates

Câu trả lời:


183

IMPORTRANGE() dường như là chức năng bạn muốn

Từ danh sách chức năng bảng tính Google :

Bảng tính Google cho phép bạn tham khảo một sổ làm việc khác trong bảng tính mà bạn hiện đang chỉnh sửa bằng cách sử dụng chức năng ImportRange. ImportRange cho phép bạn kéo một hoặc nhiều giá trị ô từ bảng tính này sang bảng tính khác. Để tạo công thức ImportRange của riêng bạn, hãy nhập = importRange (khóa bảng tính, phạm vi). Đối với các ngôn ngữ sử dụng dấu phẩy để phân tách thập phân, hãy sử dụng dấu chấm phẩy thay vì dấu phẩy để phân tách các đối số trong công thức của bạn.

Khóa bảng tính là một CHUINGI là giá trị khóa từ URL của bảng tính.

Phạm vi là một chuỗi biểu thị phạm vi ô bạn muốn nhập, tùy ý bao gồm tên trang tính (mặc định là trang đầu tiên). Bạn cũng có thể sử dụng một tên phạm vi nếu bạn thích.

Cho rằng hai đối số là CHUINGI, bạn cần đặt chúng trong dấu ngoặc kép hoặc tham chiếu đến các ô có giá trị chuỗi trong đó.

Ví dụ:

= importrange ("abcd123abcd123", "sheet1! A1: C10") "abcd123abcd123" là giá trị trong thuộc tính "key =" trên URL của bảng tính đích và "sheet1! A1: C10" là phạm vi mong muốn được nhập khẩu.

= importrange (A1, B1) Ô A1 chứa chuỗi ABCD123ABCD123 và ô B1 chứa sheet1! A1: C10

Lưu ý: Để sử dụng ImportRange, bạn cần phải được thêm dưới dạng trình xem hoặc cộng tác viên vào bảng tính mà ImportRange đang kéo dữ liệu. Nếu không, bạn sẽ gặp lỗi này: "#REF! Lỗi: Không tìm thấy khóa bảng tính, tiêu đề trang tính hoặc phạm vi ô được yêu cầu."

"Khóa" dĩ nhiên là chuỗi trong URL cho bảng tính khớp với key=tham số.

Tôi chỉ thử nó bằng cách tạo hai bảng tính. Trong ô A1 đầu tiên, tôi đặt một chuỗi. Trong ô A1 của giây, tôi đặt =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")và nó hiển thị chuỗi từ bảng tính đầu tiên. (Khóa của bạn rõ ràng sẽ khác.)

(Định dạng của hàm có thể phụ thuộc vào ngôn ngữ của bạn. Ở Pháp công thức không hợp lệ bằng dấu phẩy, vì vậy bạn sẽ cần thay thế nó bằng dấu chấm phẩy =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1"):)

GHI CHÚ:

  1. Google hiện đặt giới hạn cứng là 50 "công thức tham khảo sổ làm việc chéo" cho mỗi bảng tính. Nguồn: giới hạn kích thước Google Docs, Sheets và Slides . (h / t JJ Rohrer )

  2. Bảng tính Google "mới" (sắp trở thành tiêu chuẩn) xóa bỏ giới hạn 50 công thức tham chiếu sổ làm việc chéo ( Hỗ trợ của Google ) (h / t Jacob Jan Tuinstra )

  3. Trong Google Sheets "mới", bạn cũng sử dụng toàn bộ URL làm khóa ( Hỗ trợ của Google ) (h / t  Punchlinern )


3
@Al: Vâng! Đó là nó! Cảm ơn.
Jeff Yates

1 Whoa! Tôi đã không nhận ra có một phiên bản nội tuyến. Tùy chọn khác là sử dụng tập lệnh Google Apps. Tạo một hàm sử dụng SpreadsheetApp.openById ([ID]). GetRange () và đặt phạm vi cục bộ với điều đó.
Evan Plaice

3
Có thể đáng chú ý rằng bạn sẽ bị giới hạn ở 50 trong số này (trên mỗi bảng tính?) (Giới hạn cứng của Google): support.google.com/drive trách/37603?hl=vi
JJ Rohrer

4
Trong Bảng tính Google mới (sắp trở thành tiêu chuẩn), giới hạn 50 đã bị xóa: support.google.com.vn/driveIm/3093340?hl=vi
Jacob Jan Tuinstra

4
Ngoài ra, trong Google Sheets mới, bạn sử dụng toàn bộ URL làm khóa. Hơn nữa, bạn được nhắc cấp quyền truy cập vào trang tính được yêu cầu khi bạn lần đầu tiên nhập chức năng.
Punchlinern

29

FYI nếu bạn muốn tham chiếu một trang tính khác trong bảng tính khác đó, tên trang tính KHÔNG được trích dẫn lại:

sử dụng

=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")

thay vì

=importRange("tgR2P4UTz_KT0Lc270Ijb_A","'Sheet Name'!A1:A10")


6
Cảm ơn. Bạn nên thêm nó dưới dạng một bình luận cho câu trả lời khác hoặc thậm chí chỉ cần chỉnh sửa câu trả lời đó.
studgeek

10

Trong giao diện mới, bạn chỉ cần có thể nhập =vào ô, sau đó chỉ cần chuyển đến trang tính khác và chọn ô bạn muốn. Nếu bạn muốn thực hiện thủ công hoặc đang sử dụng giao diện cũ, bạn có thể chỉ cần thực hiện =Sheet1!A1, Sheet1tên của trang tính A1là gì và là ô trên trang tính mà bạn quan tâm. Điều này giống hệt với Microsoft Excel.


6
nếu tên trang tính có khoảng trắng trong đó, hãy sử dụng 'Trang tính khác này'! A1
akira

12
Thế còn từ một tài liệu hoàn toàn khác, như tôi đã hỏi trong câu hỏi thì sao?
Jeff Yates

@jeff Xin lỗi; bạn đã không đề cập đến "tài liệu" trong cơ thể, và vì một số lý do, trong đầu tôi, tôi nghĩ "tờ". Theo tôi biết, bạn không thể tự động liên kết đến một tài liệu khác . Nhưng bạn có thể sử dụng nhiều trang tính, thay vì nhiều tài liệu, tại thời điểm đó bạn có thể làm những gì tôi đề xuất. Đây là cách tôi điều hành tài chính hàng tháng của mình, vì lý do chính xác này.
Benjamin Pollack

Không sao đâu :) Tôi biết có một cách để làm điều đó vì tôi thực sự đã tự mình làm điều đó, nhưng tôi đã quên và tôi không thể tìm thấy tờ tôi đã làm.
Jeff Yates

Điều này không trả lời câu hỏi được đăng - nó đang nói về các tờ khác trong cùng một tài liệu.
brendan

4

Tôi đã tìm thấy cú pháp này bằng cách sử dụng Chèn -> Xác định phạm vi mới

THAY ĐỔI THAM KHẢO THAM KHẢO SPREADSHEET KHÁC:

Cột toàn bộ A: 'Bảng tính có dấu cách trong tên'! A: A

Cột toàn B: 'Bảng tính có dấu cách trong tên'! B: B

Vân vân.

Sau đó, bạn có thể sử dụng nó như:

=COUNTIF('First Page'!B:B, "valueToMatch")

1
Điều này cũng có thể để tham khảo bên ngoài bảng tính?
Jacob Jan Tuinstra

@JacobJanTuinstra bạn có ý nghĩa gì 'bên ngoài' bảng tính?
Tom Roggero

6
Vâng, IMPORTRANGEchức năng có thể nhập dữ liệu từ một bảng tính khác . Cài đặt phạm vi chỉ có nghĩa (có thể) trong một bảng tính. Đó là những gì tôi muốn nói với bên ngoài.
Jacob Jan Tuinstra

Điều này không trả lời câu hỏi được đăng - nó chỉ mô tả cách tham khảo một tờ khác trong cùng một tài liệu.
brendan

@enamendan sử dụng IMPORTRANGEnhư Jacob nói.
Tom Roggero

2

đây là cách tôi đã làm (thực hiện lại 'importrange ()'):

  • mở trình chỉnh sửa tập lệnh ("công cụ" -> "tập lệnh" -> "trình chỉnh sửa tập lệnh")
  • cung cấp một chức năng như thế này (không có bất kỳ kiểm tra nào, điều này phải được cải thiện nhưng bạn có được ý tưởng chung):
chức năng REMOTEDATA (inKey, inRange) {

  var outData;  
  var ss = SpreadsheetApp.openById (inKey);

  nếu (ss) {
     outData = ss.getRange (inRange) .getValues ​​();
  }

  trả lạiData;
}
  • sử dụng công thức này như thế này trong bảng tính của bạn:
= SUM (REMOTEDATA ("khóa", "Tên trang! A1: A10"))

"key" là khóa của tài liệu, bạn tìm thấy nó trong tham số "key = xyz" của URL tài liệu.

tài liệu về ' dịch vụ bảng tính ' cung cấp thêm thông tin về chủ đề này.


4
Điều gì sẽ là lợi thế của việc tự thực hiện điều này hơn là sử dụng chức năng hiện có?
Jeff Yates

1
@Jeff Yates: không, tôi chỉ thực hiện nó mà không biết nhập dữ liệu (). thể thao, bạn biết không? tất cả theo cách chỉ- bởi vì tôi có thể :)
akira

1
không may là các chức năng tùy chỉnh của bảng tính không thể mở thêm các bảng tính khác bằng cách sử dụng SpreadsheetApp.openById()hoặc SpreadsheetApp.openByUrl()-> developers.google.com/apps-script/guides/sheet/
mẹo

-2

Tôi đã làm điều đó một cách rất dễ dàng bằng cách sử dụng Truy vấn, ví dụ: tôi có 2 tờ ABC và XYZ và tôi muốn nhập phạm vi từ A1 đến C30 từ Abc vào XYZ, nhấp vào ô nơi bạn muốn phạm vi xuất hiện và viết điều này:

=QUERY(ABC!A1:C30)

Lưu ý: Nếu tên trang tính của bạn có khoảng trắng thì dĩ nhiên, bạn viết điều này:

=QUERY('ABC 1'!A1:C30)


7
OP hỏi làm thế nào để nhập các ô từ một tài liệu khác . Có thể QUERYlàm điều đó?
Vidar S. Ramdal

4
@ VidarS.Ramdal Nó có thể, nhưng nó cần importrange("abcd123abcd123", "sheet1!A1:C10"), vd, =query(importrange("abcd123abcd123", "sheet1!A1:C10"));-)
Fuhrmanator
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.