2

У меня есть рабочая книга (прилагается), где пользователь вводит площадь различных культур на одном рабочем листе (Initial data collection sheet), а затем, теоретически, второй рабочий лист генерирует список всех имеющихся у него сельскохозяйственных культур (т. Е. Ненулевой, но числовые значения в столбце Area). Формула, которую я использую:

{=IFERROR(INDEX('Initial data collection sheet'!A$40:A$103,SMALL(
   IF('Initial data collection sheet'!B$40:B$103<>"",
   IF('Initial data collection sheet'!B$40:B$103<>0,
   IF(ISNUMBER(B$40:B$103),
   ROW('Initial data collection sheet'!A$40:A$103)-ROW('Initial data collection sheet'!A$40)+1))),
   ROWS('Initial data collection sheet'!A$40:'Initial data collection sheet'!A40))),
   "NONE")}

где столбец Initial data collection sheet A представляет собой список возможных культур, а столбец Initial data collection sheet B представляет собой столбец для областей.

Формула работала нормально без включенной функции ISNUMBER() но поскольку в середине диапазона есть два текстовых заголовка, это означало, что я получал список заголовков, а также присутствующие кадрирования, что не очень хорошо. С ISNUMBER() он думает, что нет никаких урожаев независимо от того, какие числа находятся в столбце области.

Используя инструмент оценки формул, я выяснил, что это происходит потому, что ISNUMBER() оценивает FALSE для всех ячеек в моем диапазоне, числах или нет. NOT(ISTEXT()) делает то же самое, что и отсутствие предложения ISNUMBER() - он также дает мне заголовки, поскольку он оценивает NOT(ISTEXT()) как FALSE для каждой ячейки в диапазоне независимо от значения.

Я попытался вручную изменить формат всех ячеек столбца B на числовые, а также с помощью функции «очистить все» в ячейках и заново ввести каждое значение вручную, но безрезультатно.

Кто-нибудь знает, почему ISNUMBER()/NOT(ISTEXT()) не работает, и как я мог бы иначе удалить два заголовка из списка присутствующих культур?

С уменьшенной версией рабочей книги можно ознакомиться здесь.

1 ответ1

1

Это простая ошибка. Вы забыли ссылку на лист.

Изменить это

ISNUMBER(B$40:B$103)

к этому

ISNUMBER('Initial data collection sheet'!B$40:B$103)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .