Мне нужно интерполировать данные из моей таблицы, и у меня уже есть способ сделать это, из которого я узнал:

https://www.engineerexcel.com/bilinear-interpolation-excel/

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

введите описание изображения здесь

Кто-нибудь знает, как я могу это сделать? Я пытался создать код VBA из некоторых онлайн-учебников, но ничего не получалось.

1 ответ1

0

Используя комбинацию

  • Ссылка на косвенную таблицу
  • Именованный диапазон, который был изменен, чтобы быть относительным

Вот одно из возможных решений (без VBA):

А) Создайте именованный диапазон, который ссылается на относительную ячейку:

  1. Выберите ячейку с билинейной формулой
  2. Ctrl + F3, чтобы открыть диспетчер имен, выберите «Новый ...».
  3. Укажите короткое имя (может использоваться в формуле несколько раз), например, "tblLoc".
  4. Оставьте "Scope" установленным в Workbook.
  5. Отредактируйте раздел "Относится к":
    Если на шаге 1 выбранная ячейка формулы находилась в местоположении L7, а адрес "справочной таблицы" (или имя таблицы) всегда будет в ячейке вверх 2 и слева от формулы, то значение "относится к" будет равно знак равноК5.

Фактическое относительное местоположение находится в текущей выбранной ячейке. Если Диспетчер имен вновь открывается, когда выбрана другая ячейка, значение будет равно 2 и будет слева от текущей выбранной ячейки, поэтому оно является относительной ссылкой. (Если вы вернете его к исходному значению, оно больше не будет корректным относительным отношением.)

Б) Относительное расположение ячейки, созданное на шаге А (вверх 2 и слева 1 формулы), всегда должно содержать имя таблицы или именованный диапазон или адрес в виде текстового значения таблицы поиска.

C) Отредактируйте формулу так, чтобы все ссылки на таблицу были НЕПОСРЕДСТВЕННЫМИ (tblLoc).
пример: =SUM(INDIRECT(myLoc&"[d]"))

На этом изображении вы можете увидеть вышеупомянутую формулу в строке формул. Выбранная ячейка - L7. Также M6=FORMULATEXT(M7) и M7 показывают старую формулу и ее возврат.

Если вам нужны подробности, пожалуйста, предоставьте больше информации: всегда ли размер таблицы соответствия одинаков? Есть ли промежуточные результаты, хранящиеся в ячейках, которые содержат x1, x2, y1, y2, Q_11 ...? (Если это так, каждому из них потребуется ссылка на ячейку именованного диапазона. Относительное расположение от промежуточной ячейки формулы к ячейке, содержащей адрес или имя справочной таблицы.)

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

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