У нас есть большая таблица, которую мы используем для расчета показателей гонщиков. Он был стабильным в течение некоторого времени. Сегодня я открыл его и обнаружил, что одна из таблиц вычисляет некорректно. Я попытался пересчитать лист (он настроен на ручной расчет) и попытался восстановить дерево (ctl + alt + shift + f9), но безрезультатно. Другие формулы, ссылающиеся на одну и ту же функцию диапазона правильно, как и другие формулы, использующие среднее значение if.
Переменные
list_of_names = Список имен и фамилий в одной текстовой строке, импортированный из файла CSV
local_name = имя (100% гарантированное включение в list_of_names) для расчета средней производительности водителя в данном секторе трассы.
sector_percent = процент поездок водителя через определенный сектор, которые попадают в заранее определенный диапазон.
sector_count = количество поездок, которые водитель совершает через сектор
Моя исходная формула возвращает ошибку #Value. Это исходная формула (фактическая формула содержит оператор ЕСЛИОШИБКА, но я удалил его здесь для ясности. В любом случае возникает ошибка #VALUE).
{= СРЗНАЧЕСЛИ (процент_сектора, список_имён, локальное_имя, процент_сектора, "> 0", количество_секторов < / em>, ">" & min_number_sectors)}
После некоторых экспериментов я обнаружил, что следующая формула успешно дает правильный ответ:
{= СРЕДНИЙ (IF (list_of_names = local_name, IF (сектор_процент> 0, IF (сектор_count> мин_число_секторов, процент_секторов, 0))))}
Если вы удалите переменные list_of_names и local_name из формулы AVERAGEIFS, она будет вести себя правильно (при условии, что данные соответствуют критериям). Это заставило меня поверить, что список имен и локальное имя не соответствуют типу данных. Однако ошибка #VALUE все равно возникает, если оба параметра установлены как общие или текстовые. TYPE (list_of_names) или TYPE (local_name) оба в настоящее время возвращают 2. {TYPE (list_of_names)} возвращает 64, как и должно.
Лист может правильно выполнять функцию list_of_names to local_name в других местах книги и в других областях того же листа.
Я пытался:
-Замена всех именованных диапазонов фактическими ячейками, на которые ссылается имя в формуле
-Ссылаясь на разные local_names в list_of_names
-INDEX (list_of_names, ROW (A1)) правильно сообщает список имен при его перетаскивании.
-Различные порядки критериев с использованием других критериев.
- Ряд других сиюминутных изменений, которые я сейчас не могу вспомнить.
По сути, сравнение list_of_names с local_name терпит неудачу в этой области листа каждый раз при использовании AVERAGEIFS, где AVERAGE (IF (нет.
Для меня формула в любом случае верна, но внезапный сбой в этой части листа странен.
Это мой первый пост здесь, и я буду признателен за любую доступную помощь. Надеюсь, я предоставил достаточно информации, чтобы дать ответ. Если нет, дайте мне знать, и я заполню все пробелы.
#VALUE!
часто возникает, когда различные диапазоны размеров передаются в функция AVERAGEIFS. - person   schedule 18.02.2015