Apakah mungkin untuk merujuk ke seluruh kolom di Google Spreadsheets menggunakan format R1C1?

12

Di Google Spreadsheets saya sering menggunakan notasi A1 untuk merujuk ke seluruh kolom:

A1:A

Untuk alasan yang saya jelaskan di bawah, saya ingin menggunakan format R1C1, untuk merujuk ke seluruh kolom, seperti:

R1C1:C1

Tidak mungkin menggunakan A1: A di Excel, jadi karena notasi R1C1 berasal dari Excel, sepertinya tidak mungkin melakukan hal ini dalam notasi R1C1. Jika ya, itu akan membuat hidup saya lebih mudah.

Latar Belakang: Saya memiliki kunjungan spreadsheet, yang menarik informasi dari data spreadsheet lain, yang memiliki format yang berubah secara dinamis.

Untuk menyiasatinya, saya menggunakan rumus untuk menghasilkan alamat di sel, berdasarkan tata letak data saat ini. Saya kemudian bisa mereferensikan sel alamat ini dalam formula lain menggunakan tidak langsung. Dan jauh lebih mudah untuk menghasilkan alamat menggunakan R1C1 daripada A1.

s6mike
sumber
"Karena tidak mungkin menggunakan A1: A di excel" - maksud Anda "Karena tidak mungkin menggunakan R1C1 di excel"?
Vidar S. Ramdal
Tidak, maksud saya rentang A1: A hanya berfungsi di Google Documents - dengan excel Anda harus menentukan baris dan kolom untuk akhir rentang.
s6mike
5
Saya tidak bisa membaca notasi R1C1 tanpa bertanya-tanya tentang R2D2.
Sony Santos

Jawaban:

3

Jawaban singkat

Ya, mungkin untuk merujuk seluruh kolom menggunakan notasi R1C1: Gunakan INDIRECT("C1",FALSE)

Penjelasan

Google Sheets tidak menyertakan fitur untuk mengubah notasi referensi dari A1 ke R1C1 tetapi yang terakhir dapat digunakan dengan fungsi bawaan INDIRECT .

Contoh

Dalam lembar yang memiliki 1000 baris, rumus berikut akan mengembalikan 1000

=ROWS(INDIRECT("C1",FALSE)) 
Rubén
sumber
2
Jenius! Terima kasih :) Sekarang hampir 4 tahun telah berlalu sejak saya mengajukan pertanyaan, sekarang saya hanya perlu mengingat apa yang saya lakukan ketika saya menanyakannya!
s6mike
6

Notasi A1 didukung sekarang. Untuk memusatkan kolom A:

SpreadsheetApp.getActiveSheet().getRange("A1:A").setHorizontalAlignment("center");
Mike Evans
sumber
1
Notasi A1 selalu didukung, tetapi pertanyaan saya menanyakan apakah mungkin menggunakan notasi R1C1 untuk merujuk ke seluruh kolom di Google Spreadsheets.
s6mike
2

Tidak, tetapi Anda bisa mengatasinya, dengan mengetahui baris mana yang merupakan baris terakhir dengan data dalam kolom, menggunakan COUNTAfungsi.

INDIRECT("A1:A") dapat dituliskan sesuatu seperti INDIRECT("R1C1:R" & COUNTA(R1C1:R1000C1) & "C1")

Anda perlu menentukan nilai 'baris maksimum' yang masuk akal. Saya telah menggunakan 1000 dalam contoh, jadi rumus ini harus berfungsi dalam spreadsheet hingga 1000 baris.

Cari COUNTAdi daftar fungsi Google Spreadsheets .

Vidar S. Ramdal
sumber
Sekarang mungkin (lihat jawaban saya . Mungkin ini diperkenalkan di Google Sheets baru.
Rubén
Ah, bagus sekali!
Vidar S. Ramdal
-1

Format yang dapat diterima bervariasi tergantung pada metode yang digunakan. Dalam yang ini , misalnya, deskripsi memungkinkan notasi R1C1, tetapi tidak jelas (setidaknya bagi saya) apakah input atau output adalah notasi R1C1.

Saya sarankan mengadopsi penggunaan getRange(row, column, numRows, numColumns)sebagai gantinya ( Dok resmi di sini ). Berdasarkan rincian yang diberikan tentang penggunaan yang Anda maksudkan, ini akan sesuai dengan tujuan Anda dengan cukup baik. Saya sering menggunakan variabel untuk parameter 'baris' untuk mengambil seluruh rentang nilai dalam satu lingkaran. misal, di getRange(row, 2, 1, 7)mana baris = 3 akan mengembalikan rentang C2:C8. Kemudian, cukup tambahkan 'baris' untuk mengembalikan kisaran D2: D8 berikutnya.

Mithrandir
sumber
1
Anda tidak menjawab pertanyaan tentang bagaimana merujuk ke seluruh kolom, alih-alih sejumlah rute yang ditentukan dalam kolom itu. Menggunakan getRange berulang kali dalam satu lingkaran tidak disarankan kecuali diperlukan, itu mengarah pada masalah kinerja dan kuota yang buruk.
1
Adapun apa yang Anda temukan tidak jelas dalam metode getRange: outputnya adalah objek rentang, bukan string, jadi tidak ada pertanyaan tentang notasi untuk itu. Notasi ditentukan untuk input, yang merupakan string.