Страницы: 1
RSS
Перестановка значений в ячейках по заданному порядку
 
пример.xlsx (13.8 КБ)

Добрый день!
Подскажите пожалуйста, можно ли стандартной формулой без макросов сделать следущее: есть к примеру 4 колонки с цифрами от 1 до 10 и рядом так же 4 колонки с правильным порядком этих цифр, где в каждой строке указан определённый порядок, где 1 - максимальное число, 2 - немного меньшее, 3 - ещё меньше и 4-е место во второй колонке соответствует наименьшему из чисел первой колонки. На выходе надо получить 4 колонки (или отсортировать первые 4 колонки) в порядке, указанном во второй таблице из 4-х колонок.
Для наглядности, что требуется, ниже скриншот:


Хорошо бы стандартную формулу протащить без скриптов. Пробовал различную сортировку, но всё не то или я не соображу никак.
Excel 2013. Спасибо.
Изменено: SERGRAY - 18.10.2019 15:25:56 (Добавил пример файла)
 
SERGRAY, в картинке вам помощь нужна  ? думаю что нет...файл пример приложите в екселе. если просто совет то думаю вам нужен индекс + наименьший/наибольший
в V22 и  протянуть вправо и вниз.
Код
=ИНДЕКС($F22:$I22;1;ПОИСКПОЗ(НАИБОЛЬШИЙ($F22:$I22;O22);$F22:$I22;0))
Изменено: Mershik - 18.10.2019 15:29:33
Не бойтесь совершенства. Вам его не достичь.
 
10  9  6  8  порядок 2  3  4  1 должно получится  9  6  8  10 , а в примере 9  8  6  10 ?
 
Mershik, спасибо! То, что нужно.

Kuzmich, правильно, 2е место 9-ка, 3е место - 8ка, последнее - 6ка, 1е место 10ка.
 
формулу Mershik, можно сократить до такой, если конечно "Надо в таком порядке" присутствует в файле
Код
=ИНДЕКС($F22:$I22;N22)
Лень двигатель прогресса, доказано!!!
 
Сергей,8)  
Изменено: Mershik - 18.10.2019 15:47:27
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, Сергей, Троли  :D
=НАИБОЛЬШИЙ($F22:$I22;N22)
Изменено: БМВ - 18.10.2019 16:11:48
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Троли
таааааак где автор топика у кого правильный то вариант а то каждый сделал как понял
Лень двигатель прогресса, доказано!!!
 
У меня похожая задача, но посложнее. Имеется такая таблица (в реальности может быть 64000 строк) Нужно переставить значения, заключенные в двойные кавычки ("). В моем случае #EXTINF:-1 tvg-id="nxtinfo" tvg-name="NXT ‧ Info Sweden" tvg-logo="https://github.com/KamaOmegagit9333254/tv-logos-2022/blob/main/2022new/nxtplaymini.png?raw=true"; group-title="Sweden",NXT ‧ Info Sweden должно принять вид
#EXTINF:-1 group-title="Sweden" tvg-name="NXT ‧ Info Sweden" tvg-id="nxtinfo" tvg-logo="https://github.com/KamaOmegagit9333254/tv-logos-2022/blob/main/2022new/nxtplaymini.png?raw=true"; ,NXT ‧ Info Sweden
т.е. #EXTINF:-1 group-title="Sweden" tvg-name="NXT ‧ Info Sweden" переставляем на начало. Как осуществить такую перестановку?
Изменено: Excaz - 22.09.2023 08:51:45
 
реально по-сложнее) и заодно является логичным развитием стартовой задачи, т.е. не имеет к ней НИКАКОГО отношения))
Код
=ЛЕВБ(RC[-1];11) & ПРАВБ(RC[-1];ДЛСТР(RC[-1])-ГрП)  & ПСТР(RC[-1];12;ГрП-11)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
=ЛЕВБ(RC[-1];11) & ПРАВБ(RC[-1];ДЛСТР(RC[-1])-ГрП)  & ПСТР(RC[-1];12;ГрП-11)
Нет, неправильно. После group title="Sweden" у вас стоит запятая. Ее не должно быть (должен быть пробел). Еще вы пропустили столбик В и формула с результатом не копируется в другое место. Правильный результат как я показал во вложении ниже (закрасил желтым).
Изменено: Excaz - 22.09.2023 10:25:45
 
Фактически, нужно поменять местами значения заключенные в двойные кавычки
tvg-name="*" tvg-logo="*" group-title="*"
на
group-title="*" tvg-name="*" tvg-logo="*"
 
Код
=ЛЕВБ(RC[-1];11) & ПСТР(RC[-1];ГрП;ГрЕ-ГрП+1)  & ПСТР(RC[-1];12;ГрП-11) & ПРАВБ(RC[-1];ДЛСТР(RC[-1])-ГрЕ-1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
=ЛЕВБ(RC[-1];11) & ПСТР(RC[-1];ГрП;ГрЕ-ГрП+1)  & ПСТР(RC[-1];12;ГрП-11) & ПРАВБ(RC[-1];ДЛСТР(RC[-1])-ГрЕ
Нет, снова неправильно. В прошлом вложении я показал правильный вариант (закрасил желтым), но без формулы. Выкладываю еще раз. Обратите внимание и на пробелы и отсуствие запятой после group-title="*". У вас формула хоть и есть, но она не работает. Тяну за ячейку В1 вниз, ничего не происходит. Просто формула сама дублируется и все.
Изменено: Excaz - 23.09.2023 13:47:49
 
Цитата
Excaz написал:
Нет, снова неправильно.
думаете это волнует кого-то кроме вас?
всем забить на эту тему и на обьяснения из которых нужно выуживать смысл, не прочитать смысл задачи, а выискивать его в ваших обьяснениях
извините, это я с горяча - "за всех", но мне лично - это точно по барабану
удачи!
Изменено: Ігор Гончаренко - 23.09.2023 22:16:48
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Я пытался, вызвав стандартное окно поиска, сделать так,

Найти
tvg-id="*" tvg-name="*" tvg-logo="*" group-title="*"

Заменить на

group-title="*" tvg-name="*" tvg-id="*" tvg-logo="*"

но так не работает. Интересно почему. И вообще, во всем интернете нет этой темы. Удивительно.
Изменено: Excaz - 24.09.2023 13:25:14
 
Excaz,
Можете объяснить логику этих замен?
Страницы: 1
Наверх