Возник вопрос, что для Excel оптимальнее для расчета при одинаковых условиях? Задача; нужно получить значение с определенного листа текущей книги. Столбец известен, строка вычислена. Естесвенно таких подзадачь много , матрица результатов максимально 680x14.( Сводна и прочие автоматизации не рассматриваются, да можно но это не предмет темы) Для примера это ЛИСТ!B2 (ЛИСТ!R2C2)
Код
=INDIRECT("ЛИСТ!B2";1)
или
Код
=INDIRECT("ЛИСТ!R2C2";0)
,
Код
=OFFSET(ЛИСТ!B1;1;0;1;1)
,
Код
=INDEX(ЛИСТ!B:B;2)
Приемущества и недостатки каждого метода, по удобству ввода, копирования, формирования и возможностям не важны. Просто может кто однозначно знает, что легче, оптимальнее, для Excel? Где-то проскаивала информация, что OFFSET, толи каждый раз пересчитывается, толи ... Или можно не парится уже при современных мощьностях при таких объемах и выбирать что больше нравится?
Всех С Новым Годом по старому стилю.
Возник вопрос, что для Excel оптимальнее для расчета при одинаковых условиях? Задача; нужно получить значение с определенного листа текущей книги. Столбец известен, строка вычислена. Естесвенно таких подзадачь много , матрица результатов максимально 680x14.( Сводна и прочие автоматизации не рассматриваются, да можно но это не предмет темы) Для примера это ЛИСТ!B2 (ЛИСТ!R2C2)
Код
=INDIRECT("ЛИСТ!B2";1)
или
Код
=INDIRECT("ЛИСТ!R2C2";0)
,
Код
=OFFSET(ЛИСТ!B1;1;0;1;1)
,
Код
=INDEX(ЛИСТ!B:B;2)
Приемущества и недостатки каждого метода, по удобству ввода, копирования, формирования и возможностям не важны. Просто может кто однозначно знает, что легче, оптимальнее, для Excel? Где-то проскаивала информация, что OFFSET, толи каждый раз пересчитывается, толи ... Или можно не парится уже при современных мощьностях при таких объемах и выбирать что больше нравится?bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Я знал, я знал что этот ответ будет именно от ... :-)
Следовательно, если имя листа константа и переменныая только адрес ячейки, то INDEX Если лист тоже переменная - то без разницы, что INFIRECT, ЧТО OFFSETT, последний будет совсем печальным, так как придется использовать OFFSET(INDIRECT( ..... и в этом случае сотавить имя для INDIRECT , даже для двумерной области, проще руками прям по наглому или через ADDRESS( ...) &":" & ADDRESS(...).
В принципе все понятно. Спасибо.
buchlotnik,
Я знал, я знал что этот ответ будет именно от ... :-)
Следовательно, если имя листа константа и переменныая только адрес ячейки, то INDEX Если лист тоже переменная - то без разницы, что INFIRECT, ЧТО OFFSETT, последний будет совсем печальным, так как придется использовать OFFSET(INDIRECT( ..... и в этом случае сотавить имя для INDIRECT , даже для двумерной области, проще руками прям по наглому или через ADDRESS( ...) &":" & ADDRESS(...).
выдаст в результате и апостраф для имени листа с пробелами и вместо 'Sheet 3'!B2:C3 - 'Sheet 3'.B2:C3 хотя вторую часть после ":" b правда проще собрать как ":R" & x "C" & y
buchlotnik, Руками - я подразумевал собрать строку текстовую в удобнов виде, естевенно вычислив RxCy
Address удобнее для совместимости использовать. У нас пол компании на Libre И это не для слабонервных. так вот там
выдаст в результате и апостраф для имени листа с пробелами и вместо 'Sheet 3'!B2:C3 - 'Sheet 3'.B2:C3 хотя вторую часть после ":" b правда проще собрать как ":R" & x "C" & y