Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/По дате вытащить СЗ с последней датой - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
По дате вытащить СЗ с последней датой
Hugo Дата: Четверг, 30.01.2025, 20:06 | Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3731
Репутация: 795 ±
Замечаний: 0% ±

365
Писать UDF.
Алгоритм например такой - цикл по ячейкам, в них по строкам, из каждой берём "дату", запоминаем в одной переменной максимальную дату, в другой всю эту строку.
Что делать когда дат несколько - можно в коллекцию их собирать. Т.е если дата новая - то новая коллекция, если повтор - то добавляем. С ключём, чтоб без дублей.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеПисать UDF.
Алгоритм например такой - цикл по ячейкам, в них по строкам, из каждой берём "дату", запоминаем в одной переменной максимальную дату, в другой всю эту строку.
Что делать когда дат несколько - можно в коллекцию их собирать. Т.е если дата новая - то новая коллекция, если повтор - то добавляем. С ключём, чтоб без дублей.

Автор - Hugo
Дата добавления - 30.01.2025 в 20:06
_Boroda_ Дата: Пятница, 31.01.2025, 10:36 | Сообщение № 22
Группа: Админы
Ранг: Местный житель
Сообщений: 16790
Репутация: 6557 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Формулами. Не оптимизированно.
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПРОСМОТР(;-ПОИСК(ТЕКСТ(МАКС(ЕСЛИОШИБКА(--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3:E3;" от ";"!"&СИМВОЛ(10));СИМВОЛ(10);ПОВТОР(" ";999));999*СТРОКА($1:$9);999));));"ДД.ММ.ГГГ");A3:E3);A3:E3);СИМВОЛ(10);ПОВТОР(" ";999));ОКРУГЛ(-ПРОСМОТР(;-ПОИСК(ТЕКСТ(МАКС(ЕСЛИОШИБКА(--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3:E3;" от ";"!"&СИМВОЛ(10));СИМВОЛ(10);ПОВТОР(" ";999));999*СТРОКА($1:$9);999));));"ДД.ММ.ГГГ");ПОДСТАВИТЬ(A3:E3;СИМВОЛ(10);ПОВТОР(" ";999))));-3)+1;999))
К сообщению приложен файл: primer_v1_1.xlsx (13.9 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФормулами. Не оптимизированно.
Код
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПРОСМОТР(;-ПОИСК(ТЕКСТ(МАКС(ЕСЛИОШИБКА(--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3:E3;" от ";"!"&СИМВОЛ(10));СИМВОЛ(10);ПОВТОР(" ";999));999*СТРОКА($1:$9);999));));"ДД.ММ.ГГГ");A3:E3);A3:E3);СИМВОЛ(10);ПОВТОР(" ";999));ОКРУГЛ(-ПРОСМОТР(;-ПОИСК(ТЕКСТ(МАКС(ЕСЛИОШИБКА(--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3:E3;" от ";"!"&СИМВОЛ(10));СИМВОЛ(10);ПОВТОР(" ";999));999*СТРОКА($1:$9);999));));"ДД.ММ.ГГГ");ПОДСТАВИТЬ(A3:E3;СИМВОЛ(10);ПОВТОР(" ";999))));-3)+1;999))

Автор - _Boroda_
Дата добавления - 31.01.2025 в 10:36
alexa1965 Дата: Пятница, 31.01.2025, 14:43 | Сообщение № 23
Группа: Проверенные
Ранг: Обитатель
Сообщений: 400
Репутация: 64 ±
Замечаний: 0% ±

2003> 2019 >2016
Как всегда _Boroda_, всех победил, но я понял, что надо по последней дате списка... печалька


Главное не быть балабастиком
 
Ответить
СообщениеКак всегда _Boroda_, всех победил, но я понял, что надо по последней дате списка... печалька

Автор - alexa1965
Дата добавления - 31.01.2025 в 14:43
Nic70y Дата: Пятница, 31.01.2025, 17:06 | Сообщение № 24
Группа: Друзья
Ранг: Экселист
Сообщений: 9050
Репутация: 2383 ±
Замечаний: 0% ±

Excel 2010
еще вариант
Код
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(ГПР("*"&ТЕКСТ(МАКС(ЕСЛИОШИБКА(--ПСТР(A3:E3;ЕСЛИ(ПСТР(A3:E3;СТРОКА(A$1:A$999);4)=" от ";СТРОКА(A$1:A$999)+4);10);));"ДД.ММ.ГГГГ")&"*";A3:E3;1;);ОКРУГЛ(ОСТАТ(МАКС(ЕСЛИОШИБКА(--ПСТР(A3:E3;ЕСЛИ(ПСТР(A3:E3;СТРОКА(A$1:A$999);4)=" от ";СТРОКА(A$1:A$999)+4);10)+СТРОКА(A$1:A$999)/1000;));1)*1000;)+13);СИМВОЛ(10);ПОВТОР(" ";99));99))
К сообщению приложен файл: primer_v18.xlsx (13.8 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениееще вариант
Код
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(ГПР("*"&ТЕКСТ(МАКС(ЕСЛИОШИБКА(--ПСТР(A3:E3;ЕСЛИ(ПСТР(A3:E3;СТРОКА(A$1:A$999);4)=" от ";СТРОКА(A$1:A$999)+4);10);));"ДД.ММ.ГГГГ")&"*";A3:E3;1;);ОКРУГЛ(ОСТАТ(МАКС(ЕСЛИОШИБКА(--ПСТР(A3:E3;ЕСЛИ(ПСТР(A3:E3;СТРОКА(A$1:A$999);4)=" от ";СТРОКА(A$1:A$999)+4);10)+СТРОКА(A$1:A$999)/1000;));1)*1000;)+13);СИМВОЛ(10);ПОВТОР(" ";99));99))

Автор - Nic70y
Дата добавления - 31.01.2025 в 17:06
bmv98rus Дата: Суббота, 01.02.2025, 09:18 | Сообщение № 25
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4134
Репутация: 770 ±
Замечаний: 0% ±

Excel 2013/2016
не самый короткий, но чуть быстрее остальных
Код
=TRIM(RIGHT(SUBSTITUTE(LEFT(SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");FIND(TEXT(MAX(IFERROR(--RIGHT(TRIM(MID(SUBSTITUTE("Ѽ"&SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");"Ѽ";REPT(" ";999));ROW(1:30)*999;999));10);));"ДД.ММ.ГГГ");SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ"))+9);"Ѽ";REPT(" ";999));999))
К сообщению приложен файл: example3052.xlsx (15.1 Kb)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщениене самый короткий, но чуть быстрее остальных
Код
=TRIM(RIGHT(SUBSTITUTE(LEFT(SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");FIND(TEXT(MAX(IFERROR(--RIGHT(TRIM(MID(SUBSTITUTE("Ѽ"&SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");"Ѽ";REPT(" ";999));ROW(1:30)*999;999));10);));"ДД.ММ.ГГГ");SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ"))+9);"Ѽ";REPT(" ";999));999))

Автор - bmv98rus
Дата добавления - 01.02.2025 в 09:18
Nic70y Дата: Суббота, 01.02.2025, 11:38 | Сообщение № 26
Группа: Друзья
Ранг: Экселист
Сообщений: 9050
Репутация: 2383 ±
Замечаний: 0% ±

Excel 2010
а так
Код
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(ПОДСТАВИТЬ(A3&"\"&B3&"\"&C3&"\"&D3&"\"&E3;СИМВОЛ(10);"\");9+ПОИСК(ТЕКСТ(МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСК(ТЕКСТ(СТРОКА($43831:$54789);"ДД.ММ.ГГГГ");A3&"\"&B3&"\"&C3&"\"&D3&"\"&E3));СТРОКА($43831:$54789)));"ДД.ММ.ГГГГ");A3&"\"&B3&"\"&C3&"\"&D3&"\"&E3));"\";ПОВТОР(" ";99));99))
смешнее


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Суббота, 01.02.2025, 11:46
 
Ответить
Сообщениеа так
Код
=СЖПРОБЕЛЫ(ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(ПОДСТАВИТЬ(A3&"\"&B3&"\"&C3&"\"&D3&"\"&E3;СИМВОЛ(10);"\");9+ПОИСК(ТЕКСТ(МАКС(ЕСЛИ(ЕЧИСЛО(ПОИСК(ТЕКСТ(СТРОКА($43831:$54789);"ДД.ММ.ГГГГ");A3&"\"&B3&"\"&C3&"\"&D3&"\"&E3));СТРОКА($43831:$54789)));"ДД.ММ.ГГГГ");A3&"\"&B3&"\"&C3&"\"&D3&"\"&E3));"\";ПОВТОР(" ";99));99))
смешнее

Автор - Nic70y
Дата добавления - 01.02.2025 в 11:38
bmv98rus Дата: Суббота, 01.02.2025, 13:00 | Сообщение № 27
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4134
Репутация: 770 ±
Замечаний: 0% ±

Excel 2013/2016
смешнее

Я сперва так и начал, но потом отказался. медленнее во много раз.
ну а пока видимо комбинация моего и Сашиного
Код
=TRIM(MID(SUBSTITUTE("Ѽ"&SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");"Ѽ";REPT(" ";999));999*(MOD(MAX(IFERROR(ROW(1:30)%+RIGHT(TRIM(MID(SUBSTITUTE("Ѽ"&SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");"Ѽ";REPT(" ";999));ROW(1:30)*999;999));10);));1)/1%+1%);999))
К сообщению приложен файл: 0800128.xlsx (15.6 Kb)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Суббота, 01.02.2025, 13:00
 
Ответить
Сообщение
смешнее

Я сперва так и начал, но потом отказался. медленнее во много раз.
ну а пока видимо комбинация моего и Сашиного
Код
=TRIM(MID(SUBSTITUTE("Ѽ"&SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");"Ѽ";REPT(" ";999));999*(MOD(MAX(IFERROR(ROW(1:30)%+RIGHT(TRIM(MID(SUBSTITUTE("Ѽ"&SUBSTITUTE(A3&"Ѽ"&B3&"Ѽ"&C3&"Ѽ"&D3&"Ѽ"&E3;CHAR(10);"Ѽ");"Ѽ";REPT(" ";999));ROW(1:30)*999;999));10);));1)/1%+1%);999))

Автор - bmv98rus
Дата добавления - 01.02.2025 в 13:00
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!