4

Я знаю, как сделать диапазон, как D3:D15 . Но я начал использовать ссылки и адреса, поэтому у меня есть эти начальная и конечная точки в качестве адресов. Я не знаю, как определить диапазон, используя эти адреса, когда мне нужно ввести диапазон в другую формулу, например, SUM .

Я надеялся, что простое размещение двоеточия (" : ") между двумя адресами будет делать то же самое, но это не так.

Я ищу значения в моей реальной электронной таблице, но для простоты предположим, что любые жестко запрограммированные числа на самом деле являются результатом других вычислений. Для чего-то вроде E3:J7 я хочу:

адрес (3,5): адрес (7,10)

2 ответа2

3

Вы упомянули «другую формулу», поэтому я предполагаю, что вы хотите сделать это в формуле рабочего листа (а не в функции VBA или подпрограмме).  Давайте начнем с малого.  Excel поддерживает ссылки в стиле A1 (An) и ссылки в стиле R1C1 (R n C n).  Все примеры, которые вы использовали (D3 , D15 , E3 , J7 и т.д.), Являются ссылками в стиле A1 - буква столбца (или, возможно, последовательность букв; за столбцами X , Y и Z следуют AA , AB , AC и т.д.), За которым следует номер строки.  Ссылки R1C1-стиль почти очевидны - они построены из номера строки и номер столбца, разделенные буквы R и C Таким образом, E3 эквивалентно R3C5 (строка 3, столбец 5), а J7 эквивалентно R7C10 .

Хотелось бы, чтобы вы сказали немного больше о том, что вы уже делали, чтобы я знал, что мне не нужно вам объяснять.  Я надеюсь, вы знаете, что в формуле INDIRECT("E3") более или менее эквивалентен E3 , за исключением того, что при вызове INDIRECT можно вычислить строковый параметр.  Возможно, вы этого не знаете

INDIRECT("R3C5", FALSE)

аналогично эквивалентно E3 .

INDIRECT дает вам только ссылку на одну ячейку.  Чтобы перейти от этого к диапазону, мы используем функцию OFFSET .  Общий формат

OFFSET( base_cell_reference , row_offset , column_offset , высота (строки) , ширина (столбцы) )

Итак, чтобы получить E3:J7 , мы делаем

OFFSET(INDIRECT("R" & 3 & "C" & 5, FALSE),  0,  0,  7-3+1,  10-5+1)

где все числа могут быть формулами (например, ссылки на другие ячейки).  (Примечание: +1 означают стандартную «проблему ограждения» - диапазон, начинающийся со строки 3 и включающий строку 7, имеет высоту 5 строк, а не 4.)  Вышеупомянутое выражение может использоваться везде, где может использоваться простой диапазон; например, в качестве параметра к SUM .


Еще одним подходом к решению вашей проблемы может быть использование именованных ячеек. Если вы дадите ячейке E3 имя Fred , а ячейке J7 - Barney , вы можете сказать SUM(Fred:Barney) .

0

Посмотрите на команду клеток . Вы можете указать строку и столбец с числовыми значениями.

Sub test()
' select range E3 to J3
Range(Cells(3, 5), Cells(3, 10)).Select

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .