У меня есть рабочая книга (прилагается), где пользователь вводит площадь различных культур на одном рабочем листе (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())
не работает, и как я мог бы иначе удалить два заголовка из списка присутствующих культур?
С уменьшенной версией рабочей книги можно ознакомиться здесь.