Заполните формулу, содержащую именованный диапазон, но измените именованный диапазон на основе относительной ссылки

У меня есть формула, которую мне нужно скопировать во многие ячейки, но я не знаю, как скопировать ссылку на именованный диапазон в другую ячейку, не меняя ее.

NamedRange (таблица, импортированная из соединения с базой данных) будет выглядеть

Col1|Col2|Col3|Col4|
Data|Data|Data|Data|
Data|Data|Data|Data|

Пример формулы:

=SUMIFS(NamedRange[Col1], NamedRange[Col3],$A3...)

Если я скопирую это, например, в разные столбцы, "Col1" изменится на "Col2", а "Col3" изменится на "Col4".

После заполнения формулы вправо, это даст:

=SUMIFS(NamedRange[Col2], NamedRange[Col4],$A4...)

Как я могу скопировать его без изменений?

Точная формула, чтобы дать лучшую идею... Вот формула 1 ячейки:

=SUMIFS(Table_sql.project.com_wf_tbl_Rainbow_LeaveRegister[BO Code],Table_sql.project.com_wf_tbl_Rainbow_LeaveRegister[Process Status],"completed",Table_sql.project.com_wf_tbl_Rainbow_LeaveRegister[Employee No],$A10,Table_sql.project.com_wf_tbl_Rainbow_LeaveRegister[First Day of Leave],"<="&C$9,Table_sql.project.com_wf_tbl_Rainbow_LeaveRegister[Last Day of Leave],">="&C$9)

4 ответа

I know this is 4 years too late, but an alternative to keeping the range references constant in the formula is to use the INDIRECT function. This thread showed up when I was searching for something similar for myself.

With your example, the SUMIFS would look like this

=SUMIFS(INDIRECT("NamedRange[Col1]"), INDIRECT("NamedRange[Col3]"),$A3...)

Hoping this answer would help others who require the same functionality.

Простой способ - просто скопировать текст в строке формул и вставить его туда после выбора новой ячейки.

Выберите ячейку с исходной формулой, скопируйте ее, выберите диапазон ячеек, для которого требуется та же формула, и вставьте его.

По какой-то причине "заполнение" формулы приведет к перемещению ссылки на столбец, но вставка в диапазон ячеек сохранит исходную ссылку на столбец.

Если вы ищете что-то вроде$войдите в именованную ссылку, тогда вы сможете ссылаться на столбец именованной ссылки, определив его как диапазон:

      =SUMIFS(NamedRange[[Col1]:[Col1]],...)

Это будет диапазон столбцов, который начинается и заканчиваетсяCol1столбецNamedRange. Копирование этой формулы с использованием правого нижнего угла курсора сохранит эту ссылку, и каждая новая ячейка будет содержатьNamedRange[[Col1]:[Col1]]. Это также работает с текущей строкой:

      =NamedRange[@[Col1]:[Col1]]
Другие вопросы по тегам