Excel найти первое положительное число в строке

Первое по порядку положительное значение с помощью ПОИСКПОЗ

Lyova

Дата: Понедельник, 06.10.2014, 12:38 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Здравствуйте!

Можно ли с помощью функции ПОИСКПОЗ() найти первое по порядку положительное значение. Значения в диапазоне никак не упорядочены и не подчиняются какой-либо очевидной логике.

 

Ответить

Nic70y

Дата: Понедельник, 06.10.2014, 12:42 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

Замечаний:
0% ±


Excel 2010

вариант не с помощью поискпоз
формула массива:

Код

=МИН(ЕСЛИ(A3:G3>0;СТОЛБЕЦ(A3:G3)))


ЮMoney 41001841029809

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 12:49 |
Сообщение № 3

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

А без формулы массива никак? Потенциальный пользователь их не любит, поскольку не понимает и, увы, не собирается понимать…

 

Ответить

Rioran

Дата: Понедельник, 06.10.2014, 13:15 |
Сообщение № 4

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

Lyova, здравствуйте.

Если формула массива для Вас не вариант, тогда предлагаю так (во вложении).

1). В диапазоне А4:G4 промаркировать значения 3-й строки с помощью формулы:

2). Искать в нашем новом диапазоне нужную марку:


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 13:32 |
Сообщение № 5

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Rioran, не подумайте, не набиваю себе цену. Как крайний вариант, конечно, можно, но лучше одной формулой, дабы не загромождать лишними доп. вычислениями

 

Ответить

Rioran

Дата: Понедельник, 06.10.2014, 13:47 |
Сообщение № 6

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

Lyova, похоже, у Вас там сидят «прожжёные» экселисты =) Не думал, что однажды докачусь до этого, но… Если и это не то, что нужно, то остаётся только вариант с макро-функцией =)

Код

=ЕСЛИ(A3>0;1;ЕСЛИ(B3>0;2;ЕСЛИ(C3>0;3;ЕСЛИ(D3>0;4;ЕСЛИ(E3>0;5;ЕСЛИ(F3>0;6;7))))))

К сообщению приложен файл:

Anty_Rio.xls
(28.5 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 14:04 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

а если диапазон из пяти сотен столбцов?:)

Не то, чтобы «прожженные», просто у меня шеф любит поковыряться в логике формул, повлезать курсором в формулу.
Он называет формулы массива «ненадежными». Поставил курсор в формулу, а потом не три кнопочки нажал (забыл), а только enter нажал — и она уже не формула массива и все расчеты далее слетели в результате…

 

Ответить

Rioran

Дата: Понедельник, 06.10.2014, 14:23 |
Сообщение № 8

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

а если диапазон из пяти сотен столбцов?:)

Очевидно же, что следует потратить несколько часов ручной работы на приготовление рабочего образца из бесконечных «ЕСЛИ» =) Не тратить же в самом деле 5 минут на усвоение правил работы с массивной формулой =)

А раз так, то боюсь, что в данном случае уровень моей компетенции недостаточен для удовлетворения столь притязательного запроса =)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

 

Ответить

Nic70y

Дата: Понедельник, 06.10.2014, 17:32 |
Сообщение № 9

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

Замечаний:
0% ±


Excel 2010

Код

=СУММПРОИЗВ(НАИМЕНЬШИЙ(СТОЛБЕЦ(A3:G3)*(A3:G3>0);СЧЁТЕСЛИ(A3:G3;»<=0″)+1))

смотря чем 0 считать <= и т.п.


ЮMoney 41001841029809

Сообщение отредактировал Nic70yПонедельник, 06.10.2014, 17:34

 

Ответить

Rioran

Дата: Понедельник, 06.10.2014, 17:42 |
Сообщение № 10

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

Nic70y, круто =)

Это что сейчас было, почему это сработало?)) Функция СУММПРОИЗВ() превратила набор значений в массив?

UPD: Продолжаю недоумевать. В справках пишут, что СУППРОИЗВ() работает с массивами без Кнтрл + Шифт + Ентер, но почему тогда следующая формула срабатывает только как массивная?

Код

=СУММПРОИЗВ(ПОИСКПОЗ(1;Ч(A3:G3>0);0);1)

[offtop]UPD: Я подозреваю, что Nic70y ведьма =)[/offtop]


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

Сообщение отредактировал RioranПонедельник, 06.10.2014, 18:11

 

Ответить

Nic70y

Дата: Понедельник, 06.10.2014, 17:48 |
Сообщение № 11

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

Замечаний:
0% ±


Excel 2010

[offtop]Если бы не Lyova, с компанией, которые не хотят знать, что такое формула массива, сам бы не придумал :D [/offtop]


ЮMoney 41001841029809

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 18:20 |
Сообщение № 12

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Nic70y, Спасиб! я верил, что это возможно:)

 

Ответить

gling

Дата: Понедельник, 06.10.2014, 18:32 |
Сообщение № 13

Группа: Друзья

Ранг: Старожил

Сообщений: 2449


Репутация:

652

±

Замечаний:
0% ±


2010

Цитата

Продолжаю недоумевать.

И я тоже пописал формулу массива, а она как формула массива в ячейке не отобразилась, но если поставить курсор в строку формул, то всё как с ФМ. Ячейка А12, может у меня с компом глюк? Или мне больше не наливать?

К сообщению приложен файл:

5536385.xlsx
(10.6 Kb)


ЯД-41001506838083

 

Ответить

Pelena

Дата: Понедельник, 06.10.2014, 18:48 |
Сообщение № 14

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

AlexM

Дата: Понедельник, 06.10.2014, 20:00 |
Сообщение № 15

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Еще вариант

Код

=ПОИСКПОЗ(;ИНДЕКС(—ЕОШ(A3:G3^(1/2)););)

формула обычная, ввод Enter
Чуть короче

Код

=ПОИСКПОЗ(;ИНДЕКС(-ЕОШ(A3:G3^1%););)

и так

Код

=ПОИСКПОЗ(;ИНДЕКС(-(A3:G3<0););)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

Сообщение отредактировал AlexMПонедельник, 06.10.2014, 21:30

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 21:49 |
Сообщение № 16

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

AlexM, нет предела совершенству, я уже не удивлюсь, если Вы и в одну букву сможете формулу придумать :D

 

Ответить

Nic70y

Дата: Понедельник, 06.10.2014, 21:54 |
Сообщение № 17

Группа: Друзья

Ранг: Экселист

Сообщений: 8132


Репутация:

1998

±

Замечаний:
0% ±


Excel 2010

[offtop]формула AlexM, но в 1 букву :) [/offtop]

К сообщению приложен файл:

3850862.xls
(25.0 Kb)


ЮMoney 41001841029809

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 21:58 |
Сообщение № 18

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Nic70y, ну тогда осталось последнее, чтобы вообще пустота была, а значение появлялось само собой, но без всяких там имен :D

 

Ответить

Serge_007

Дата: Понедельник, 06.10.2014, 22:16 |
Сообщение № 19

Группа: Админы

Ранг: Местный житель

Сообщений: 15888


Репутация:

2623

±

Замечаний:
±


Excel 2016

чтобы вообще пустота была, а значение появлялось само собой, но без всяких там имен

Можно и так. Но в таком случае условия топика не будут соблюдены:

с помощью функции ПОИСКПОЗ()


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Lyova

Дата: Понедельник, 06.10.2014, 22:16 |
Сообщение № 20

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 137


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

AlexM, такое ощущение, что в справке эксель по функциям есть какой-то скрытый текст, в котором скрыты самые интересные особенности функций.
Исходя из описания в справке Ваш вариант формулы не должен работать. Я так понимаю у Вас искомое значение, которое является обязательным аргументом согласно справке, отсутствует, ну или его отражение не соответствует ни одному из возможных способов отражения, которые описаны в справке. Да и индекс тоже непонятно как считает.

Не могли бы Вы объяснить логику расчета?

 

Ответить

0 / 0 / 0

Регистрация: 18.10.2016

Сообщений: 32

1

Первое положительное

19.03.2017, 10:29. Показов 7751. Ответов 4


Студворк — интернет-сервис помощи студентам

У меня есть ряд случайных чисел, которые постоянно меняются. Мне нужно найти первое положительное число из этого ряда. Какую формулу нужно для этого использовать?



0



5942 / 3154 / 698

Регистрация: 23.11.2010

Сообщений: 10,524

19.03.2017, 10:54

2

Вариант формулой массива

Код

=ИНДЕКС(A1:A10;МИН(ЕСЛИ(A1:A10>0;СТРОКА(A1:A10))))



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

19.03.2017, 16:55

3

Еще вариант формулы массива и обычной

Код

=ИНДЕКС(A1:A10;ПОИСКПОЗ(;-ЕОШ(A1:A10^1%);))
=ИНДЕКС(A1:A10;ПОИСКПОЗ(;ИНДЕКС(-(A1:A10<0););))



0



0 / 0 / 0

Регистрация: 18.10.2016

Сообщений: 32

19.03.2017, 17:36

 [ТС]

4

Не выходит что-то.
Попробую иначе. В ячейках f2 и g2 у меня диапазон задан. От A5 до P5 у меня стоит формула :

Код

=ЦЕЛОЕ(($G$2-$F$2)*(СЛЧИС()+$G$2))

Когда ввожу ваши формулы, выдает ошибку.



0



2640 / 1697 / 694

Регистрация: 04.09.2015

Сообщений: 3,367

19.03.2017, 17:55

5

Надо файл показывать. Почему не работают формулы без файла не угадать.
Первое предположение. Вы не правильно вводите формулы массива. В этом случае последняя формула должна работать.



0



Как найти первое / последнее положительное / отрицательное число в Excel?

На листе есть список чисел, которые имеют как положительные, так и отрицательные числа, если вы хотите найти первое или последнее положительное или отрицательное число в этом столбце, как вы могли бы это сделать?

Найдите первое положительное / отрицательное число с помощью формулы массива

Найдите последнее положительное / отрицательное число с помощью формулы массива


стрелка синий правый пузырь Найдите первое положительное / отрицательное число с помощью формулы массива

Чтобы получить первое положительное или отрицательное число в списке данных, вам может помочь следующая формула, сделайте следующее:

1. В пустой ячейке, помимо ваших данных, введите следующую формулу массива: =INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))(A2: A18 это список данных, который вы хотите использовать), см. снимок экрана:

док-найти-первое-положительное-число-1

2, Затем нажмите Shift + Ctrl + Enter вместе, чтобы вернуть первое положительное число в списке, см. снимок экрана:

док-найти-первое-положительное-число-2

Внимание: Чтобы получить первое отрицательное число в списке, вам просто понадобится эта формула: =INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0)), и не забудьте нажать Shift + Ctrl + Enter ключи одновременно.


стрелка синий правый пузырьНайдите последнее положительное / отрицательное число с помощью формулы массива

Если вам нужно найти последнее положительное или отрицательное число в списке значений, вы также можете применить формулу массива.

1. Введите следующую формулу в пустую ячейку рядом с вашими данными, = ПРОСМОТР (9.99999999999999E + 307; ЕСЛИ ($ A $ 2: $ A $ 18> 0, $ A $ 2: $ A $ 18))( A2: A18 это список данных, который вы хотите использовать), см. снимок экрана:

док-найти-первое-положительное-число-3

2, Затем нажмите Shift + Ctrl + Enter ключи одновременно, чтобы вернуть последнее положительное число в списке, см. снимок экрана:

док-найти-первое-положительное-число-4

Внимание: Чтобы получить последнее отрицательное число в списке, вам просто нужна эта формула: = ПРОСМОТР (9.99999999999999E + 307; ЕСЛИ ($ A $ 2: $ A $ 18 <0, $ A $ 2: $ A $ 18)), и не забудьте нажать Shift + Ctrl + Enter ключи вместе.


Статьи по теме:

Как найти первое / последнее значение больше X в Excel?

Как найти максимальное значение в строке и заголовке столбца возврата в Excel?

Как найти максимальное значение и вернуть значение соседней ячейки в Excel?

Как найти максимальное или минимальное значение на основе критериев в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (1)


Оценок пока нет. Оцените первым!

На чтение 2 мин. Просмотров 291 Опубликовано 21.05.2021

На листе есть список чисел, которые имеют как положительные, так и отрицательные числа. Если вы хотите найти первое или последнее положительное или отрицательное число в этом столбце, как вы могли бы это сделать? ?

Найти первое положительное/отрицательное число с помощью формулы массива

Найти последнее положительное/отрицательное число с формулой массива


Найдите первый положительное/отрицательное число с формулой массива

Чтобы получить первое положительное или отрицательное число в списке данных, вам может помочь следующая формула. Сделайте следующее:

1 . В пустой ячейке, помимо ваших данных, введите следующую формулу массива: = INDEX (A2: A18, MATCH (TRUE, A2: A18> 0,0)) , ( A2: A18 – это список данных, который вы хотите использовать), см. снимок экрана:

2 . Затем нажмите одновременно клавиши Ctrl + Shift + Enter , чтобы вернуть первое положительное число в списке, см. Снимок экрана:

: чтобы получить первое отрицательное число в списке, вам просто понадобится следующая формула: = INDEX (A2: A18, MATCH (TRUE, A2: A18 и не забудьте одновременно нажать клавиши Ctrl + Shift + Enter .


Найдите последнее положительное/отрицательное число с помощью формулы массива

Если вам нужно найти последнее положительное или отрицательное число в списке значений, вы также можете применить формулу массива.

1 . Введите следующую формулу в пустую ячейку рядом с вашими данными: = LOOKUP (9.99999999999999E + 307, IF ($ A $ 2: $ A $ 18> 0, $ A $ 2: $ A $ 18)) ( – это список данных, который вы хотите использовать), см. снимок экрана:

2 . Затем нажмите одновременно клавиши Ctrl + Shift + Enter , чтобы вернуть последнее положительное число в списке, см. Снимок экрана:

: чтобы получить последнее отрицательное число в списке, вам просто понадобится следующая формула: = ПРОСМОТР (9.99999999999999E + 307, IF ($ A $ 2: $ A $ 18 и не забудьте нажать Ctrl + Shift + Enter вместе.


Как найти первое/последнее значение больше X в Excel?

Как найти наивысшее значение в строке и заголовок возвращаемого столбца в Excel?

Как найти максимальное значение и вернуть значение соседней ячейки в Excel?

Как найти максимальное или минимальное значение на основе критериев в Excel?


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

Вариант 1

{=ПОИСКПОЗ(ЛОЖЬ;ЕОШ(ПСТР(A1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(A1)));1)-1);0)}

Формула поиска позиции первой цифры в ячейке

Как она это делает? Из массива вычитается единица (это может быть любое число), далее полученный массив ошибок и валидных значений обрабатывается функцией ЕОШ. Ошибки вычисления (там, где были нечисловые символы) вернут ИСТИНА, цифровые символы – ЛОЖЬ.

Функция ПОИСКПОЗ возвращает позицию первой цифры через поиск первого значения ЛОЖЬ.

Как и все формулы массива в Excel, данная формула вводится сочетанием клавиш Ctrl+Shift+Enter.

Вариант 2

Есть и вот такая вариация формулы массива, использующая функции МИН, ПОИСК, СИМВОЛ и ЕСЛИОШИБКА:

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(48:57));A1);""))}

Её принцип несколько иной –

  1. каждый из 10 цифровых символов ищется внутри строки функцией ПОИСК, возвращающей в успешных случаях его позицию, а в неуспешных – ошибку
  2. массив результатов обрабатывается функцией ЕСЛИОШИБКА и вместо ошибок вставляет в массив пустоты, чтобы из-за ошибок не прерывалась работа функции МИН
  3. результирующий массив обрабатывает функция МИН и возвращает минимальную из позиций – это и есть позиция первой цифры в ячейке

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

Применение формул

Наиболее понятное применение – это когда нужно отделить в ячейке текст от цифр или удалить текст до первой цифры.

Like this post? Please share to your friends:
  • Excel найти ошибка знач
  • Excel найти определенный символ
  • Excel найти одну строку в другой
  • Excel найти одинаковые ячейки на всех листах
  • Excel найти один текст в другом