Sergei_vrn
Дата: Пятница, 16.08.2019, 09:29 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Уважаемые знатоки, прошу помочь решить задачу! Из массива данных выбрать позиции, результаты которых соответствуют определенному условию и перенести их в отдельную таблицу. Что-то похожее я находил здесь на форуме, но там переносились наименования блюд если по ним имеется какое-то количество. У меня же задача перенести те позиции, результаты которых находятся в определенном интервале.Пытался корректировать готовое решение ничего не вышло.
Уважаемые знатоки, прошу помочь решить задачу! Из массива данных выбрать позиции, результаты которых соответствуют определенному условию и перенести их в отдельную таблицу. Что-то похожее я находил здесь на форуме, но там переносились наименования блюд если по ним имеется какое-то количество. У меня же задача перенести те позиции, результаты которых находятся в определенном интервале.Пытался корректировать готовое решение ничего не вышло. Sergei_vrn
Ответить
Сообщение Уважаемые знатоки, прошу помочь решить задачу! Из массива данных выбрать позиции, результаты которых соответствуют определенному условию и перенести их в отдельную таблицу. Что-то похожее я находил здесь на форуме, но там переносились наименования блюд если по ним имеется какое-то количество. У меня же задача перенести те позиции, результаты которых находятся в определенном интервале.Пытался корректировать готовое решение ничего не вышло. Автор - Sergei_vrn Дата добавления - 16.08.2019 в 09:29
китин
Дата: Пятница, 16.08.2019, 10:01 |
Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
без допов и ВПР, но Формула массива. Вводится одновременным нажатием Ctrl+Shift+EnterКод
=ЕСЛИОШИБКА(ИНДЕКС(A$5:A$17;НАИМЕНЬШИЙ(ЕСЛИ(($B$5:$B$17>=$G$2)*($B$5:$B$17<=$H$2);СТРОКА($B$5:$B$17)-4);СТРОКА(A1)));"")
без допов и ВПР, но Формула массива. Вводится одновременным нажатием Ctrl+Shift+EnterКод
=ЕСЛИОШИБКА(ИНДЕКС(A$5:A$17;НАИМЕНЬШИЙ(ЕСЛИ(($B$5:$B$17>=$G$2)*($B$5:$B$17<=$H$2);СТРОКА($B$5:$B$17)-4);СТРОКА(A1)));"")
китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение без допов и ВПР, но Формула массива. Вводится одновременным нажатием Ctrl+Shift+EnterКод
=ЕСЛИОШИБКА(ИНДЕКС(A$5:A$17;НАИМЕНЬШИЙ(ЕСЛИ(($B$5:$B$17>=$G$2)*($B$5:$B$17<=$H$2);СТРОКА($B$5:$B$17)-4);СТРОКА(A1)));"")
Автор - китин Дата добавления - 16.08.2019 в 10:01
Sergei_vrn
Дата: Пятница, 16.08.2019, 10:01 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Nic70y, все гениальные решения, просты )) вроде работает, спасибо Вам!
Nic70y, все гениальные решения, просты )) вроде работает, спасибо Вам! Sergei_vrn
Ответить
Сообщение Nic70y, все гениальные решения, просты )) вроде работает, спасибо Вам! Автор - Sergei_vrn Дата добавления - 16.08.2019 в 10:01
Sergei_vrn
Дата: Пятница, 16.08.2019, 10:05 |
Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
китин, спасибо огромное! Ваш способ, по-моему, я как раз пытался отредактировать, теперь вижу как надо было сделать )
китин, спасибо огромное! Ваш способ, по-моему, я как раз пытался отредактировать, теперь вижу как надо было сделать ) Sergei_vrn
Ответить
Сообщение китин, спасибо огромное! Ваш способ, по-моему, я как раз пытался отредактировать, теперь вижу как надо было сделать ) Автор - Sergei_vrn Дата добавления - 16.08.2019 в 10:05
_Boroda_
Дата: Пятница, 16.08.2019, 10:07 |
Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация:
6478
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Еще похожий вариантКод
=ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ((B$5:B$98>=G$2)*(B$5:B$98<=H$2);СТРОКА($5:$98);99);СТРОКА(E1)))&""
Если нужно по возрастанию рентабельности, то тоже можно, но посложнее будет формула
Еще похожий вариантКод
=ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ((B$5:B$98>=G$2)*(B$5:B$98<=H$2);СТРОКА($5:$98);99);СТРОКА(E1)))&""
Если нужно по возрастанию рентабельности, то тоже можно, но посложнее будет формула _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Еще похожий вариантКод
=ИНДЕКС(A:A;НАИМЕНЬШИЙ(ЕСЛИ((B$5:B$98>=G$2)*(B$5:B$98<=H$2);СТРОКА($5:$98);99);СТРОКА(E1)))&""
Если нужно по возрастанию рентабельности, то тоже можно, но посложнее будет формула Автор - _Boroda_ Дата добавления - 16.08.2019 в 10:07
китин
Дата: Пятница, 16.08.2019, 10:35 |
Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация:
1073
±
Замечаний:
0% ±
Excel 2007;2010;2016
Все то же самое но без формул. при помощи PQ
[vba]
Код
let Источник = Table.Combine({Товар, Таблица2}), #"Заполнено вверх" = Table.FillUp(Источник,{"Знач МИН", "Знач МАКС"}), #"Удаленные нижние строки" = Table.RemoveLastN(#"Заполнено вверх",1), #"Условный столбец добавлен" = Table.AddColumn(#"Удаленные нижние строки", "Пользовательская", each if [Рентабельность] >= [Знач МИН] then [Наименование товара] else null), #"Условный столбец добавлен1" = Table.AddColumn(#"Условный столбец добавлен", "Пользовательская.1", each if [Рентабельность] <= [Знач МАКС] then [Наименование товара] else null), #"Условный столбец добавлен2" = Table.AddColumn(#"Условный столбец добавлен1", "Пользовательская.2", each if [Пользовательская] = [Пользовательская.1] then [Наименование товара] else null), #"Строки с примененным фильтром" = Table.SelectRows(#"Условный столбец добавлен2", each ([Пользовательская.2] <> null)), #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Строки с примененным фильтром",{"Наименование товара", "Знач МИН", "Знач МАКС", "Пользовательская", "Пользовательская.1", "Пользовательская.2", "Рентабельность"}), #"Удаленные столбцы" = Table.RemoveColumns(#"Переупорядоченные столбцы",{"Пользовательская.1", "Пользовательская", "Знач МАКС", "Знач МИН", "Наименование товара"}), #"Переименованные столбцы" = Table.RenameColumns(#"Удаленные столбцы",{{"Пользовательская.2", "Выбор товара"}}), #"Сортированные строки" = Table.Sort(#"Переименованные столбцы",{{"Рентабельность", Order.Ascending}}) in #"Сортированные строки"
[/vba]
Все то же самое но без формул. при помощи PQ
[vba]
Код
let Источник = Table.Combine({Товар, Таблица2}), #"Заполнено вверх" = Table.FillUp(Источник,{"Знач МИН", "Знач МАКС"}), #"Удаленные нижние строки" = Table.RemoveLastN(#"Заполнено вверх",1), #"Условный столбец добавлен" = Table.AddColumn(#"Удаленные нижние строки", "Пользовательская", each if [Рентабельность] >= [Знач МИН] then [Наименование товара] else null), #"Условный столбец добавлен1" = Table.AddColumn(#"Условный столбец добавлен", "Пользовательская.1", each if [Рентабельность] <= [Знач МАКС] then [Наименование товара] else null), #"Условный столбец добавлен2" = Table.AddColumn(#"Условный столбец добавлен1", "Пользовательская.2", each if [Пользовательская] = [Пользовательская.1] then [Наименование товара] else null), #"Строки с примененным фильтром" = Table.SelectRows(#"Условный столбец добавлен2", each ([Пользовательская.2] <> null)), #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Строки с примененным фильтром",{"Наименование товара", "Знач МИН", "Знач МАКС", "Пользовательская", "Пользовательская.1", "Пользовательская.2", "Рентабельность"}), #"Удаленные столбцы" = Table.RemoveColumns(#"Переупорядоченные столбцы",{"Пользовательская.1", "Пользовательская", "Знач МАКС", "Знач МИН", "Наименование товара"}), #"Переименованные столбцы" = Table.RenameColumns(#"Удаленные столбцы",{{"Пользовательская.2", "Выбор товара"}}), #"Сортированные строки" = Table.Sort(#"Переименованные столбцы",{{"Рентабельность", Order.Ascending}}) in #"Сортированные строки"
[/vba]
китин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
Ответить
Сообщение Все то же самое но без формул. при помощи PQ
[vba]
Код
let Источник = Table.Combine({Товар, Таблица2}), #"Заполнено вверх" = Table.FillUp(Источник,{"Знач МИН", "Знач МАКС"}), #"Удаленные нижние строки" = Table.RemoveLastN(#"Заполнено вверх",1), #"Условный столбец добавлен" = Table.AddColumn(#"Удаленные нижние строки", "Пользовательская", each if [Рентабельность] >= [Знач МИН] then [Наименование товара] else null), #"Условный столбец добавлен1" = Table.AddColumn(#"Условный столбец добавлен", "Пользовательская.1", each if [Рентабельность] <= [Знач МАКС] then [Наименование товара] else null), #"Условный столбец добавлен2" = Table.AddColumn(#"Условный столбец добавлен1", "Пользовательская.2", each if [Пользовательская] = [Пользовательская.1] then [Наименование товара] else null), #"Строки с примененным фильтром" = Table.SelectRows(#"Условный столбец добавлен2", each ([Пользовательская.2] <> null)), #"Переупорядоченные столбцы" = Table.ReorderColumns(#"Строки с примененным фильтром",{"Наименование товара", "Знач МИН", "Знач МАКС", "Пользовательская", "Пользовательская.1", "Пользовательская.2", "Рентабельность"}), #"Удаленные столбцы" = Table.RemoveColumns(#"Переупорядоченные столбцы",{"Пользовательская.1", "Пользовательская", "Знач МАКС", "Знач МИН", "Наименование товара"}), #"Переименованные столбцы" = Table.RenameColumns(#"Удаленные столбцы",{{"Пользовательская.2", "Выбор товара"}}), #"Сортированные строки" = Table.Sort(#"Переименованные столбцы",{{"Рентабельность", Order.Ascending}}) in #"Сортированные строки"
[/vba]
Автор - китин Дата добавления - 16.08.2019 в 10:35