Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: Яна Варзова от 08.09.2015, 17:54

Название: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 08.09.2015, 17:54
Доброго всем дня.
Вопрос:

1) в таблице даны значения чисел по возрастанию и, есть число, например 46:56:30.
Так вот, нужно найти в этой таблице приближенное в большую сторону (или такое же число) к 46:56:30 . В формуле можно прописать номер столбца. Ответом будет 47:33:00 (во втором столбце).

2) далее, напротив найденного уже 47:33:00, нужно записать число напротив, из последнего (правого) столбца.

Может, кто подскажет как. (Пожалуйста не VBA).
Название: Re: Поиск приближенного числа в массиве
Отправлено: Pelena от 08.09.2015, 20:01
Здравствуйте.
Так подойдёт?
Название: Re: Поиск приближенного числа в массиве
Отправлено: Czeslaw от 08.09.2015, 21:23
Предлагаю вариант формулы немного попроще.
=AGGREGATE(15;6;A$1:M$31/(A$1:M$31>Q3);1)
И вторая формула
=IFERROR(INDEX(A$1:M$31;AGGREGATE(15;6;ROW($1:$31)/(A$1:M$31=R3);1);COLUMNS($A:$M));"")
Название: Re: Поиск приближенного числа в массиве
Отправлено: Pelena от 08.09.2015, 21:53
Цитата: Czeslaw от 08.09.2015, 21:23
Предлагаю вариант формулы немного попроще.
Красиво! Это плюс)
Название: Re: Поиск приближенного числа в массиве
Отправлено: ShAM от 09.09.2015, 05:38
Цитата: Pelena от 08.09.2015, 21:53
Цитата: Czeslaw от 08.09.2015, 21:23
Предлагаю вариант формулы немного попроще.
Красиво! Это плюс)
Согласен. Только:
или диапазон А1:М31 нужно превратить в числа (выделить А1:М31 - Ctrl+H - Найти: ":" - Заменить на: ":" (без кавычек) - Заменить все).
или формулу чутка дописАть: =АГРЕГАТ(15;6;A$1:M$31/(--A$1:M$31>Q3);1)
Название: Re: Поиск приближенного числа в массиве
Отправлено: ShAM от 09.09.2015, 05:51
Ну, и вторую формулу немного изменить: =ЕСЛИОШИБКА(ИНДЕКС(M$1:M$31;АГРЕГАТ(15;6;СТРОКА($1:$31)/(A$1:M$31=R3);1));"")
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 09.09.2015, 09:11
Невозможно передать здесь столько моей радости.
Глядя на формулы, которые вы мне щедро и любезно предоставили, поняла, что знания мои по Excel узки.

Всем моим помощникам по решению вопроса Благодарность и низкий поклон.
Дай вам Бог всех Благ!
Название: Re: Поиск приближенного числа в массиве
Отправлено: Czeslaw от 09.09.2015, 12:08
Яна здравствуйте!
Забыл предупредить Вас, что представленные Вами данные необходимо через специальную вставку умножить на единицу и потом преобразовать в формат времени и только тогда мои формулы будут работать нормально.
На всякий случай прицепляю переделанный пример Вашего файла.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 09.09.2015, 17:16
Здравствуйте.

Хорошо! Посмотрю.
Название: Re: Поиск приближенного числа в массиве
Отправлено: ShAM от 10.09.2015, 03:48
Czeslaw, здравствуйте. Зачем искать по всей таблице: ИНДЕКС(A$1:M$31... и затем указывать номер столбца: ЧИСЛСТОЛБ($A:$M)? Можно же сразу искать по столбцу М: ИНДЕКС(M$1:M$31..., тогда номер столбца не нужен.
И Ваша формула:=ЕСЛИОШИБКА(ИНДЕКС(A$1:M$31;АГРЕГАТ(15;6;СТРОКА($1:$31)/(A$1:M$31=R3);1);ЧИСЛСТОЛБ($A:$M));"")
превращается в:=ЕСЛИОШИБКА(ИНДЕКС(M$1:M$31;АГРЕГАТ(15;6;СТРОКА($1:$31)/(A$1:M$31=R3);1));"")
PS: Извиняюсь за русские формулы. Надеюсь, разберетесь. ;)
PS:PS: Да, забыл про "плюс", ловите. :)
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 10.09.2015, 12:18
Всем доброго дня.

У меня есть формула, которая выдает ошибку.
Задача, сейчас, наоборот, нужно, чтобы, Excel нашел число 142:57:00 по правому столбцу, в котором число 0:00:00.

Есть формула, которая всегда действовала, но сейчас же выдает #н/д.
Может, подскажете в чем причина, разобраться не могу.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Czeslaw от 10.09.2015, 15:55
Приведите данные к единому формату, как указано в моем предыдущем посте.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 10.09.2015, 16:35
Благодарю.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 10.09.2015, 22:16
Помогите, пожалуйста, вот еще в чем.

Сделала как вы сказали. Получилось. Но. При копировании таблицы с формулами на другой Лист выдает ошибку в ячейках #знач. И я не в силах, как быть.
Название: Re: Поиск приближенного числа в массиве
Отправлено: vikttur от 10.09.2015, 22:39
Ошибочные данные в ячейке К2.

В теме несколько вопросов. какой из них решает формула, не разбирался.
=СУММПРОИЗВ(--(--(--($A$1:$L$31)>=Q3)=0)) безболезненно заменяется на
=СУММПРОИЗВ(1-(--$A$1:$L$31>=Q3))

А может, всю формулу заменить? :)
=НАИБОЛЬШИЙ((--A1:L31>Q3)*A1:L31;СЧЁТ(1/(--A1:L31>Q3)))
Название: Re: Поиск приближенного числа в массиве
Отправлено: Czeslaw от 10.09.2015, 23:03
Опять данные у Вас в текстовом формате, поэтому проделайте ту же процедуру и представляю пример с моими формулами.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 11.09.2015, 09:17
Czeslaw, очень прошу, объяснить мне, чтобы не ошибаться в дальнейшем, и извиняюсь, знания мои скудны в Excel, может, для вас, я спрашиваю слишком элементарные вещи:

1. Вы умножаете данные на единицу через специальную вставку. Это поняла, в интернете смотрела как это делать и так было сделано.
2. Установить формат времени. Где вы посмотрели, что у меня текстовый формат, ведь, точно вижу "все форматы --> ч:мм:сс или это и есть текстовый.

Может, вас растрою - я бы очень хотела применить ваши формулы, но не могу, потому что у меня excel 2007, а в нем Агрегата нет. Когда, поставлю 2010, то ваши формулы, и формулы других здесь, помощников - участников, будут задействованы.

Vikttur - Благодарю вас за ваше подключение к вопросу.
Название: Re: Поиск приближенного числа в массиве
Отправлено: vikttur от 11.09.2015, 09:32
Цитироватьточно вижу "все форматы --> ч:мм:сс или это и есть текстовый
Если кошке прицепить хобот, она слоном не станет :)
Введите  ячейку "ааа", назначьте ячейке формат даты - станет строка датой?

ЦитироватьОшибочные данные в ячейке К2
Это нашли?
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 11.09.2015, 09:46
Да, нашла ошибку. Ведь, точно.

Ввела "ааа", установила, если правильно установила, формат Дата, ничего не изменилось, если, что-то должно было измениться.
Название: Re: Поиск приближенного числа в массиве
Отправлено: vikttur от 11.09.2015, 10:30
Да ничего не должно было измениться! слон - это число, кот - это "ааа" :)

Формат ячейки не изменяет тип данных, изменяется только визуальное представление данных. Если в ячейке число на самом деле не число, а текст, то оно не станет числом при изменении формата на числовой.  И визуально не поменяется, т.к. задан формат, который неприемлем для текста.
Название: Re: Поиск приближенного числа в массиве
Отправлено: cheshiki1 от 11.09.2015, 10:32
Цитата: Яна Варзова от 11.09.2015, 09:46
ничего не изменилось, если, что-то должно было измениться.
и не должно было, vikttur хотел показать этим что если стоит некий формат ячейки, то это не значит что в ячейке значение соответствует формату.
при переносе значений из 1С в эксель бывает что в ячейке видишь число и формат ячейки общий но на самом деле там текст. вот и приходится переводить в число умножением на 1 или прибавить 0.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 11.09.2015, 11:46
vikttur и cheshiki1. Поняла так, правильно?:

1. чтобы перевести ячейку в формат числа, нужно содержимое этой ячейки умножить на 1 или прибавить 0 через специальную вставку, если так не сделать, то excel будет думать что в ячейке текст, в независимости буква или цифра в ячейке этой.
2. Поставить формат Дата или Время, или еще какой-нибудь числовой формат.
Название: Re: Поиск приближенного числа в массиве
Отправлено: vikttur от 11.09.2015, 12:02
Точно так. Формат не обязательно, это только внешний вид.
Название: Re: Поиск приближенного числа в массиве
Отправлено: Яна Варзова от 11.09.2015, 12:11
________________БЛАГОДАРЮ!________________