В таблицах Google я часто использую нотацию A1 для обозначения целого столбца:
A1:A
По причинам, которые я объясняю ниже, я хотел бы использовать формат R1C1 для ссылки на целый столбец, что-то вроде:
R1C1:C1
Невозможно использовать A1: A в Excel, так как нотация R1C1 происходит из Excel, маловероятно, что это возможно сделать в нотации R1C1. Если это так, это облегчит мою жизнь.
Фон: у меня есть посещения электронных таблиц, которые извлекают информацию из других данных электронных таблиц, которые имеют динамически изменяющийся формат.
Чтобы обойти это, я использую формулу для генерации адреса в ячейке на основе текущего макета данных. Затем я могу ссылаться на эту ячейку адреса в других формулах, используя косвенные. И гораздо проще сгенерировать адрес с помощью R1C1, чем A1.
источник
Ответы:
Короткий ответ
Да, можно ссылаться на весь столбец, используя нотацию R1C1: Использовать
INDIRECT("C1",FALSE)
объяснение
Таблицы Google не включает в себя функцию для изменения опорного обозначения от А1 до R1C1 , но последний может быть использованы с НЕПРЯМОЙ встроенной функцией.
пример
В листе, содержащем 1000 строк, следующая формула вернет 1000
источник
Запись A1 теперь поддерживается. По центру столбца A:
источник
Нет, но вы можете обойти это, зная, какая строка является последней строкой с данными в столбце, используя
COUNTA
функцию.INDIRECT("A1:A")
может быть написано что-то вродеINDIRECT("R1C1:R" & COUNTA(R1C1:R1000C1) & "C1")
Вам необходимо определить разумное значение «max rows». В этом примере я использовал 1000, поэтому эта формула должна работать в электронной таблице, содержащей до 1000 строк.
Посмотрите
COUNTA
в списке функций Google Spreadsheets .источник
Приемлемый формат варьируется в зависимости от используемого метода. В этом примере, например, описание допускает нотацию R1C1, но неясно (по крайней мере мне), является ли вход или выход нотацией R1C1.
Я рекомендую принять
getRange(row, column, numRows, numColumns)
вместо этого ( Официальный документ здесь ). Основываясь на данных вашего предполагаемого использования, это вполне удовлетворит ваши цели. Я часто использую переменную для параметра 'row', чтобы получить весь диапазон значений в цикле. например,getRange(row, 2, 1, 7)
где row = 3 вернет диапазонC2:C8
. Затем просто увеличьте значение 'row', чтобы получить следующий диапазон D2: D8.источник