Извините, если это спросили прежде, но я не могу найти его. Я ищу авторитетное описание всех допустимых строк, которые могут использоваться в качестве ссылки, например, "A1:C5", "$A: $A", $A2" и т.д. и т.д. Это кажется довольно основной вещью все же, я потратил впустую часы, пытаясь определить местоположение ее. Все, что я могу найти, является болотом "полезных" примеров, но никакой ссылки.
Я не знаю, есть ли список форматов, потому что на самом деле их всего 2: формат A1 и формат R1C1. На самом деле вы не указываете формат диапазона, когда используете A1: C3, потому что: на самом деле является оператором диапазона.
Варианты $ A $ 1, $ A1, A $ 1 - это просто варианты, определяющие, что при копировании ссылки координата перед $ не должна изменяться, но в противном случае координата может измениться относительно копии.
R1C1 более сложен, потому что допускает относительность. R3C2 - это абсолютная ссылка на строку 3, столбец 2 (B3 в обозначении A1), в то время как использование фигурных скобок [] в ссылке R1C1 указывает на то, что она относится к текущей ячейке R [-2] C [1] из ячейки R3C2. даст R1C3 (C1).
Почти забыл. Также может быть ссылка на ячейки на другом листе. 'Sheet2'! IV256
Я использую
(((\w*)|(\'[^\']*\')|(\"[^\"]*\"))!)?\$?([a-z]{1,3})\$?(\d+)
как регулярное выражение для идентификации ссылок на ячейки в формате A1
Проблема в том, что существует множество операторов (Range, Intersect, implicit intersect и т.д.), функций (INDEX, OFFSET, CHOOSE, INDIRECT + пользовательские функции), определенных имен и структурированных ссылок на таблицы и т.д., которые могут быть удалены, чтобы обеспечить действительную ссылку на диапазон. Поэтому для выполнения полной работы необходимо разобрать произвольные формулы Excel. И это также зависит от версии Excel.
Если вы хотите работать только со стандартными явными ссылками на диапазон, обычный прием - преобразовать строку в нотацию R1C1 и работать с ней. Синтаксис ссылок R1C1 достаточно хорошо описан в документации Excel.
Также где-то есть описание формул Excel в формате BNF, но я потерял ссылку.
«он используется для определения ссылок на ячейки, которые могут нуждаться в изменении при вставке новой строки или столбца в рабочий лист»
Если строки / столбцы вставляются с помощью Excel live (в отличие от взлома книги с помощью другого приложения) , любые ссылки будут обновляться на новый адрес автоматически.