Страницы: 1 2 След.
RSS
Поиск позиции числа больше или меньше заданного
 
Здравствуйте, подскажите пож-та как найти в массиве чисел первое число больше заданного в данном случае больше 7, то есть в жёлтой ячейке должно появиться 11. Формула должна быть прописана в одной ячейке, то есть создание дополнительного столбца в котором будет производиться сравнение числа 7 с каждым числом в массиве не допустимо.
 
как-то так
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, ГЕНИАЛЬНО!  8)  
Не бойтесь совершенства. Вам его не достичь.
 
buchlotnik,спасибо, а как вы так быстро нашли решение? и как вы к нему пришли?
 
Цитата
Бедный Йорик написал:
как вы так быстро нашли решение
знал, что искать;
а вам настоятельно рекомендую правила, если сразу намек не ясен - здесь не форум по фотошопу
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, если я вас правильно понял то нужен файл в формате Эксель, прикладываю, просто у меня есть какая то проблема с открыванием Эксель файлов с форума причём даже тех что я сам прикрепляю, выходит ошибка о том что файл повреждён, у меня Эксель 2019, но в старых версиях вроде открывается.
 
массивка
Код
=ИНДЕКС(A:A;МИН(ЕСЛИ(A4:A13>C3;СТРОКА(A4:A13);"")))
Соблюдение правил форума не освобождает от модераторского произвола
 
Бедный Йорик,а искомое число всегда есть в списке?
Не бойтесь совершенства. Вам его не достичь.
 
buchlotnik,спасибо вроде подходит, а может быть решение без формулы массива? Спасибо что написали формулу а то у меня всё время как в скриншоте ниже.

Mershik,нет искомое число не всегда присутствует, тогда можно заменить ошибку на 0
 
Бедный Йорик, ну тогда формулу предложенную
Цитата
buchlotnik написал:
=ИНДЕКС(A:A;МИН(ЕСЛИ(A4:A13>C3;СТРОКА(A4:A13);"")))
берите и все

или может эта подойдет
Код
=ИНДЕКС(A:A;АГРЕГАТ(15;6;СТРОКА(A:A)/(A:A>C3);1))
Изменено: Mershik - 16.05.2020 12:18:46
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,большое спасибо, ваша формула тоже подходит и без массива.  
 
Обращаю внимание
Цитата
Бедный Йорик написал:
Поиск позиции числа больше или меньше заданного
ответ 1 и это 5. Даже если после 7 то ответ 5 и это 4 .
11 это и не позция и домысленное что надо было больше.
По вопросам из тем форума, личку не читаю.
 
цитирование - не бездумное копирование [МОДЕРАТОР]

БМВ, ну возможно я немного неточно сформулировал задачу относительно указанной темы. В названии темы речь о позиции, а не о самом значении, а в задаче я написал значение, мне без разницы, перевести одно в другое несложно, что касается больше или равно в названии темы то я имел ввиду две разные задачи то есть речь не шла про неравенство заданному числу. То есть есть меня просто не устраивала функция ПОИСКПОЗ потому что она ищет позицию заданного числа, а мне надо было найти число больше заданного(или его позицию), аналогично может потребоваться найти число меньше заданного.
Изменено: Бедный Йорик - 16.05.2020 15:19:18
 
...
 
С.М.,Возможно я чего то не понимаю но почему при Y > X получается 8,  а при Y < X получается 6 ? Почему не 7 и 1? И почему когда я меняю числа в массиве то результат не меняется? может это не автоматически пересчитывается?
 
Бедный Йорик,
1. 7 = 7 , а не 7 < 7
2. 1 (единичка) -- нет в массиве
3. Например, в моём примере, вместо 8 вставьте 9 или 10, изменится результат ?
4. я, наверное, не верно понял задумку, считая, что
надо найти ближайшее к 7 из всех больших (меньших) этого числа из диапазона массива, тогда сорри,
Цитата
Бедный Йорик написал #9:
buchlotnik ,спасибо вроде подходит, а может быть решение без формулы массива?
а Вам трудно нажать одновременно три клавиши: Ctrl+Shift+Enter ?
 
Большее
Код
=AGGREGATE(15;6;A4:A13/(A4:A13>C3);1)
Меньшее
Код
=AGGREGATE(14;6;A4:A13/(A4:A13<C3);1)
 
Цитата
С.М. написал:
4. я, наверное, не верно понял задумку,
Да я имел ввиду перебирая по порядку числа в массиве найти первое число которое больше заданного не зависимо от того насколько оно больше.
Цитата
С.М. написал:
2. 1 (единичка) -- нет в массиве
Я не правильно понял, я подумал что в жёлтых ячейках номера строк а не сами значения
Цитата
С.М. написал:
а Вам трудно нажать одновременно три клавиши: Ctrl+Shift+Enter ?
Не трудно, но всё время забываешь это сделать и ещё не знал будут ли формулы массива  работать в умных таблицах и как они работают с большими массивами данных, мне нужно их копировать на много сотен тысяч строк, я пару раз пытался применять формулы массива и комп надолго зависал, может дело не в них вовсе было.
Скорее всего вы не правильно поняли мою задачу, но в любом случае спасибо за ответ.
 
для прикола
=VLOOKUP(1=1;CHOOSE({1\2};INDEX(A4:A13>C3;);A4:A13);2;)
Изменено: БМВ - 16.05.2020 20:31:11
По вопросам из тем форума, личку не читаю.
 
Кроме массивных ничего придумать не смог:
Код
=ИНДЕКС($A$4:$A$13;ПОИСКПОЗ(1;--($A$4:$A$13>$C$3);))
Код
=ИНДЕКС($A$4:$A$13;ПОИСКПОЗ(1;--($A$4:$A$13<$C$3);))
Для наглядности нарисовал процесс (см. файл)
 
jakim,сначала подумал что это такая же формула как предложил Mershik, но только короче, но потом понял что она ищет максимально приближенное значение к заданному, а не первое больше заданного, всё равно спасибо.

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

Цитата
БМВ написал:
=VLOOKUP(1=1;CHOOSE({1\2};INDEX(A4:A13>C3;);A4:A13);2;)
Эксель выдаёт ошибку, поменял функции на русский всё равно ошибка, а что означает {1\2} ? вроде Эксель на него указывает
 
Цитата
Бедный Йорик написал:
поменял функции на русский всё равно ошибка,
значит не все переведено корректно
за одно и добавил вариант немассивной от С.М.,
По вопросам из тем форума, личку не читаю.
 
Самые точные значения возвращают формулы с массивным вводом
Большее
Код
 =SMALL(IF(A4:A27>C3;A4:A27);1)
Меньшее
Код
=LARGE(IF(A4:A27<C3;A4:A27);1)
 
Цитата
jakim написал:
Самые точные значения
ну это как посмотреть.  Оно возвращает наименьшее больше чем или наибольшее меньше чем. А далее возникает вопрос и к названию темы  которая так и не получиланазвания нормального , да и  
Цитата
Бедный Йорик написал:
я имел ввиду перебирая по порядку числа в массиве найти первое число которое больше заданного не зависимо от того насколько оно больше
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал: вопрос и к названию темы  которая так и не получиланазвания нормального
Тема о чем?
 
vikttur, Если что, я в очереди только 4й :-)
По вопросам из тем форума, личку не читаю.
 
Мог бы не лениться и блеснуть умом, не ожидая первых :)
 
Цитата
vikttur написал:
блеснуть умом
чем блеснуть?  :D . А это курится?
По вопросам из тем форума, личку не читаю.
 
Значит, и Йорик бедный, а БМВ :)

Бедный Йорик, предложите название темы, отражающее задачу. Заменят модераторы
 
Лично я искал
Цитата
Бедный Йорик написал:
в массиве чисел первое число больше заданного
вроде как тема про это: Найти в массиве первое число больше  заданного
Соблюдение правил форума не освобождает от модераторского произвола
Страницы: 1 2 След.
Наверх