динамический выбор для линейной интерполяции

У меня есть функция, которую я назвал InterpolLinear

Function InterpolLinear(x, xvalues, yvalues) x1 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(x, xvalues, 1)) x2 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(x, xvalues, 1) + 1) y1 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(y, xvalues, 1)) y2 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(y, xvalues, 1) + 1) InterpolLinear = y1 + (y2 - y1) * (x - x1) / (x2 - x1) EndFunction 

Я хочу, чтобы функция автоматически выбирала все значения x и все значения y, не настраивая их вручную. Я могу иметь 10 значений x и y или 100. Функция работает нормально, но мне нужно настроить выделение вручную.

Я сделал 2 скриншота.

Правильный выбор

чего я хочу избежать

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

 =$E$1:INDEX($E:$E;MATCH(1000000;$E:$E;1)) 

Сделайте то же самое для y_values , изменив ссылки на столбец F. Тогда

 =LinInterp(D1;x_values;y_values) 

обратите внимание, что ваши изображения использовали функцию LinInterp а ваш код использует функцию InterpolLinear , поэтому просто убедитесь, что вы совместимы


Кроме того, вы можете просто назначить переменные, например:

  x1 = xvalues.Cells(Application.Match(x, xvalues, 1),1).Value 
  • Неполное / неточное формирование формулы
  • Формула Excel для расчета пересекающихся дат?
  • (excel 2013) Динамическое изменение формулы в зависимости от количества элементов на другом листе
  • Мне нужно знать, как отображать текст на основе текста в другой ячейке
  • Есть ли какая-либо формула для создания гиперссылки в Excel на другой лист?
  • Повторять дубликаты (переменные) в одной ячейке
  • Excel: скопировать всю строку и содержимое, но изменить ссылку на ячейку?
  • Получите минимальное значение, если не null в Excel
  • Как написать формулу в ячейке, используя Perl WIN32 :: OLE
  • Показывать точные числа при вычислении формулы excels
  • Как отобразить одну ячейку, содержащую текст, в диапазоне ячеек, содержащих числа
  • Interesting Posts

    Как запустить программу с аргументами командной строки в Windows 'cmd и заставить ее работать на переднем плане?

    VBA excel – сопоставление и извлечение значений из другой книги

    Печать выбранных страниц в листе Excel с помощью макроса VBA

    Как выбрать предыдущую активную ячейку в Excel VBA?

    VBA, чтобы вернуть номер n-й строки из отфильтрованной таблицы в excel

    Excel: диаграммы для фильтрованных диапазонов отображаются пустым

    Круглый номер для конкретного умножения

    Excel пытается использовать уравнение для вызова значения из другого столбца

    Исключение экспорта Excel-листа в POI-3.5-beta.jar в android

    где я могу найти хороший синтаксический анализатор рубина, который также имел хорошую документацию?

    Сначала следующая и предыдущие ячейки с данными в строке Excel VBA

    Ошибка распространения таблицы при использовании буфера обмена

    Управление соединениями для нескольких сводных таблиц и запросов, но один файл доступа

    Использование функции MATCH () с несортированным списком

    .NET читать слова / excel документы без Microsoft.Office.Interop

    Давайте будем гением компьютера.