Неисправный COUNTIFS () Функция Excel - PullRequest
1 голос
/ 24 мая 2019

ОБНОВЛЕНИЕ: Я запустил скрипт, который снова включил автоматический расчет, включил обновление экрана и все остальные полезные вещи и функции теперь работают. Я двигаюсь вперед с впечатлением, что это был очередной визуальный сбой Excel, и функции работали, просто экран как-то разбивал эти ячейки. Спасибо всем за ваши быстрые ответы и поддержку, я потерял его.


Первоначальный выпуск:

Это сводит меня с ума. Я построил функцию с COUNTIFS () в Excel, которая находит число раз в столбце, эта рабочая неделя отображается в списке, когда номер модели совпадает. Модели 6.3, 6.4 и 6.5. Для моделей 6.3 и 6.4 функция работает и выполняет все вычисления правильно. Для 6.5, даже если функция точно такая же, это не так. Фактически, когда я оцениваю функцию, я получаю правильную математику в результате (она должна быть 3-2 = 1), но в итоге получается 0:

Evaluated Function before last step

Evaluated Function after last step

Я не могу дать слишком много подробностей о функциях из-за раскрытия частной информации. Тем не менее, я могу показать вам, какие данные он читает со всеми скрытыми столбцами и строками, поэтому я приношу извинения, если они выглядят грязно, только два массива в функциях COUNTIFS () (верхние ярко-красные и зеленые прямоугольники, с подчеркнутым связанным номером модели) выше) соответствуют номеру модели в крайнем левом столбце (желтым, красным и светло-зеленым), а сегодня (1921) рабочая неделя и год - второму левому столбцу (темным и светло-зеленым):

Red is what I'm subtracting from the sum of the rest in Yellow and Green

Я могу показать вам, что функции работают, когда я переключаю модель первого ряда с 6,3 на 6,4, соответствующее изменение для 6,3 переключается со счета 1 на счет 0, а изменение модели 6.4 изменяется от 5 до 6:

Changing the model number from the drop-down Now the values up-top correctly update

Однако, когда я переключаю модель первого ряда на 6,5, корректно обновляются и 6,3 и 6,4 COUNTIFS () (0 и 5 последовательно), но не 6,5 (по-прежнему 0, теперь должно отображаться 2):

Switched from 6.3 to 6.5

Просто чтобы доказать вам, я запускаю «Оценить формулу» в ячейке, и результат верный (4-2), но последний шаг, который он выдает, показывает 0:

Last step of Evaluation is correct Before it craps out at the last step and shows 0

Упрощенная версия функции:

=COUNTIFS(ModelArray,ModelNumber,WorkWeekArray,INDEX(WorkWeekArray,MATCH((NUMBERVALUE(RIGHT(YEAR(NOW()),2)&TEXT((WEEKNUM(NOW(),21)),"00"))),WorkWeekArray,0)))- COUNTIFS(ModelArray,ModelNumber,ModelStatus,StatusIsRed,WorkWeekArray,INDEX(WorkWeekArray,MATCH((NUMBERVALUE(RIGHT(YEAR(NOW()),2)&TEXT((WEEKNUM(NOW(),21)),"00"))),WorkWeekArray,0)))

Каждое указанное значение WorkWeekArray также вычисляется с использованием той же функции NUMBERVALUE ():

NUMBERVALUE(RIGHT(YEAR(ModelDate),2)&TEXT((WEEKNUM(ModelDate,21)),"00")

Пожалуйста, помогите, я схожу с ума, и это важный инструмент, который я создаю. Я плохо выгляжу, когда программное обеспечение не работает должным образом! Заранее спасибо :) 1066 *


Приложение для комментариев:

Named Ranges in the Workbook

1 Ответ

1 голос
/ 24 мая 2019

Хотел бы я прокомментировать, потому что это не очень хороший ответ.Я буду продолжать редактировать его по мере того, как буду предлагать больше предложений.Попробуйте это:

  • Убедитесь, что в ваших данных нет странных символов, задерживающихся.Например, скрытое пространство "" помечено до конца ваших данных.Я особенно думаю, что это может быть что-то в этом роде, и что одна из ваших точек данных может рассматриваться как «строка», а не как «число», потому что изображение, которое вы разместили «3-2», выглядит как «2"выделено курсивом, но" 3 "- нет.
  • Если вы можете проходить по ячейкам данных, попробуйте использовать F9 для оценки результатов формулы. В этом уроке объясняется, как использовать F9 для отладки ваших формул. Убедитесь, что где-то перед этим окончательным вычислением нет ничего странного.
  • Вероятно, это больше связано с данными, чем с ними.с формулой, которую вы связали, потому что вы сказали, что формула работает для 2 из 3 ваших вариантов использования.
...