Я создал небольшой фрагмент Google Apps Script (GAS), чтобы сделать эту работу за вас.
Код
function sheetRange(targetName,int) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var asName = ss.getActiveSheet().getSheetName();
var tgSheet = ss.getSheetByName(targetName);
var output;
if(targetName == asName) {
output = "Error: target sheet is active sheet !!";
} else {
switch(int) {
case 1:
output = tgSheet.getDataRange().getValues();
break;
case 2:
output = tgSheet.getSheetValues(1, 1, tgSheet.getMaxRows(),
tgSheet.getMaxColumns());
break;
default:
output = "Choose int to be 1 or 2 !!";
}
}
return output;
}
В меню электронной таблицы выберите «Инструменты»> «Редактор сценариев» и добавьте код. Убедитесь, что нажали кнопку ошибки:
использование
=sheetRange("sheetName",int)
Используйте int
опцию, как описано в примечаниях.
пример
Я создал файл примера, который вы вам: Лист как диапазон
замечания
В этом случае существует два способа определения диапазона в электронной таблице с помощью GAS:
int=1
; С помощью getDataRange
метода. Это позволит получить диапазон, в котором последний столбец содержит данные. То же самое касается количества строк. Обычно это самый простой маршрут. Смотрите второй лист в файле примера.
int=2
; С помощью getSheetValues
метода. Это восстановит диапазон "WYSIWYG". Смотрите третий лист в файле примера.
- Частота обновления этих типов пользовательских функций не является немедленной, поэтому, пожалуйста, будьте терпеливы. Обновление данных может занять несколько часов.
Ссылки
Джейкоб Ян Туинстра
источник
Вы можете использовать A: Z или A: AB или A: XX (где XX - последний столбец вашей страницы):
источник
В Google Sheets нет синтаксиса диапазона для всего диапазона листов.
Следующая формула вернет адрес диапазона всего листа с именем Sheet1
Чтобы использовать это как ссылку, поместите это в НЕПОСРЕДСТВЕННО. Следующая формула вернет массив всех значений в Sheet1.
источник
Я не знаю конкретной, но я думаю, что вы можете использовать некоторые формулы, если вы не знаете количество строк / столбцов:
Здесь
Sheet
ваше имя листа, и@
это произвольная строка. Если выбранный вами лист находится@
в одной ячейке, он не будет работать. Вы можете заменить его другим символом, если когда-либо лист содержит такую ячейку.COUNITF
Здесь подсчитывает количество строк в колонке А: А , не содержащий@
, который должен быть все , если нет клетки , содержащие его, иINDIRECT
преобразованияSheet!1:###
(где###
это число строк) в фактический выбранный диапазон.источник
Наилучшие ответы уже были даны для тех, кто работает в приложении, но если кто-то там работает в Google Sheets, то вот подход, который может удовлетворить ваши потребности:
Объяснение : * По сути, вы задаете диапазон через строку, которая объединяется с количеством строк в файле имя-листа!
Некоторые преимущества этого подхода : * Это 'динамический' ... если вы добавляете строки внизу, диапазон будет корректироваться соответствующим образом * Легкий вес - вы можете добавить это в функцию importrange / query
Недостатки : * Не пробовал во всех случаях, поэтому может работать только для конкретных случаев использования. * Лично я предпочитаю делать вещи динамичными / чистыми, чтобы своего рода пользовательская функция была бы хорошим промежуточным звеном между appscript и этим облегченным подходом.
источник
Это работает для меня:
Используемый в связанном скрипте, объедините имя листа с "!" а затем получить обозначение A1 диапазона данных на выбранном листе
источник
Я смог выбрать весь лист, назвав диапазон без листа с восклицательным знаком.
У меня была вкладка с именем data. Вместо использования данных! или данные! A1: ZZ.
источник
Чтобы указать весь лист как диапазон, используйте:
Вы можете попробовать это здесь: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/clear
или если вы используете Java (чтобы очистить все в Sheet1):
или если вы хотите просто использовать его в формуле (например, SUM) на другом листе (например, Sheet2), вы можете использовать следующую ссылку:
^ это суммирует все существующие ячейки на Sheet1 и помещает значение в ячейку на Sheet2. Вы можете найти пример здесь: https://docs.google.com/spreadsheets/d/1rP3YCl3ErlYjlYGT_Q-xFvkVr7yKw6WQfHklbohL1NM/edit?usp=sharing . В этом примере у нас есть 3 столбца и 5 строк на Sheet1, поэтому эта формула = SUM (Sheet1! A1: ZZ) выбирает все из них. Вы можете добавить строки или столбцы на Sheet1, и это решение все равно выберет все ячейки.
PS: если вы проголосуете против моего ответа - объясните, пожалуйста, почему.
источник
Предполагая, что вы знаете количество строк, вы можете назвать весь лист как «имя листа»:
ШАГИ:
Теперь каждый раз, когда вы используете «worksheet_name» в функции, она будет ссылаться на весь рабочий лист.
источник