Допустим, у меня есть таблица _table1 с заголовками столбцов a, b, c, d, e.
Я хочу, чтобы пользовательская функция выполняла вычисления на основе этой таблицы.
Это один из примеров
Function TEST(var1 As Single, var2 As Single)
TEST = Application.Index(range("_table1[c]"), var1 + var2)
End Function
Это работает, но поскольку _table1 не определен на входе функции, при изменении значения _table1 функция не будет автоматически изменять свое значение
Я могу сделать что-то подобное
Function TEST(var1 As Single, var2 As Single, rng1 as Range)
TEST = Application.Index(rng1.Columns(3), var1 + var2)
End Function
, которое автоматически изменит значение функции при изменении значения таблицы.
Но он будет непосредственно выбирать третий столбец таблица, а не та с заголовком c. В будущем мне нужно будет изменить расположение столбца, чтобы было удобнее указать столбец с заголовком c.
Есть ли способ, которым функция автоматически изменит свое значение когда значение таблицы изменяется, а также позвольте мне выбрать какой столбец?