Я пытаюсь создать VLOOKUP, который может использовать номер COLUMN как для критерия, так и для начальной позиции диапазона, в то же время получая индекс из числа COLUMNS.
У меня есть электронная таблица, в которую я импортирую набор данных для анализа. Я добавляю пару строк вверху и использую одну из этих строк, чтобы пометить указанные c столбцы как содержащие значения, которые являются фиксированными - например, значения поступают из предопределенного выбора, например, порядок_статусов будет иметь фиксированные значения созданных, отправленных, выполнено, оплачено и т. д. c.
Поскольку я отмечаю каждый как фиксированный, строка выше постепенно увеличивает числовое значение для каждого из столбцов. Если у меня есть 16 фиксированных значений, будут столбцы с шагом от 1 до 16.
В аналитическом листе у меня есть 16 столбцов, которые я использую для выполнения некоторого анализа. Первое, что он делает для каждой строки в наборе данных, - назначает уникальный идентификатор для каждого уникального значения в столбце набора данных или, если значение ранее существовало в строках перед ним, ищет номер, который был присвоен ему в прошлый раз. Позже я смогу затем найти отдельные значения на основе этих уникальных чисел и связать их количество, чтобы показать, как часто каждое из этих значений существует в наборе данных.
Я создал этот лист анализа таким образом, чтобы он уже знает позиции столбцов. Пример, показанный ниже:
=IF(B5="",0,IF(COUNTIF(B$3:B4,B5)>0,VLOOKUP(B5,B:AB,27,FALSE),MAX(AB$3:AB4)+1))
Мой вопрос заключается в том, как сделать критерии и начальную позицию формулы динамическими c, чтобы я мог изменить столбцы, которые я классифицирую как фиксированные, без необходимости настройки формул анализа.
Так, для примера выше, столбец B является столбцом с фиксированным значением. У меня уже есть следующая формула:
formula=MATCH(AB2,$A2:$Z2,0)
, которая говорит мне, что столбец 2 (также известный как B) является первым фиксированным значением.
Если я воспроизвел формулу для динамической работы, используя то, что Я знаю, это будет:
=IF(COUNTIF($column(formula)+row (=3): column(formula)+ current_row(5)-1
, column(formula)+ current_row(5)>0
, VLOOKUP (column(formula)+current_row(5), column(formula):AB
, COLUMNS(column(formula):AB)
, false)
, MAX(AB$3:AB4)+1))
Однако способ, которым я сделал эту формулу, не работает - я не знаю, как явно установить номера строк в формуле. Я надеюсь, что предоставил достаточно информации, чтобы объяснить, что я пытаюсь сделать, заранее спасибо.
Вот изображение того, как это выглядит - мне пришлось размыть определенную информацию по причинам чувствительности. Спасибо.