Фон: Я использую функции Excel для синтаксического анализа большого количества данных, по существу создавая гибкую сводную таблицу. Он сортирует много данных о времени гонок на машине и т. Д. В этой части листа я ищу минимальные интервалы времени для каждого автомобиля. Остальная часть листа позволяет избежать макросов и VBA, поэтому я хотел бы избежать этого.INDIRECT() возвращает #VALUE! неожиданно
выпуск: Моя формула работала, когда нет нулей, но иногда есть нули, которые мне нужно исключить. Моя формула массива является довольно сложной, но изменение, которое я сделал, что сломал его заключается в следующем:
OLD (рабочий):
{=min(if(car_number = indirect("number_vector"), indirect("data_vector")))}
NEW (нерабочий):
{=min(if(and(car_number = indirect("number_vector"),not(0=indirect("data_vector"))), indirect("data_vector")))}
Я используя INDIRECT()
с этим точным аргументом несколько раз в формуле. Однако в этом конкретном случае (внутри NOT()
) он возвращает #VALUE! вместо {data1; ...; datan}. Пожалуйста, смотрите скринкапы ниже.
Перед оценкой:
После оценки:
Я попробую этот подход, ваша логика имеет смысл. Оба вектора имеют одинаковый размер и форму, они представляют собой разные столбцы в одной таблице. Цитата была ошибкой в моем псевдокоде (фиксированном). – swolfe
OK - если это не сработает, проблема может быть функцией COLUMN, которую я вижу из вашего снимка экрана. COLUMN иногда вызывает проблемы, потому что возвращает массив, например {4}, когда вы ожидаете 4 - это может вызвать проблемы с оценкой - исправить wrap COLUMN в другой функции, такой как SUM, например ** SUM (COLUMN()) ** –