Поочередное сравнение
Xenus91
Дата: Суббота, 21.12.2019, 21:39 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
Добрый вечер! Просьба помочь с решением задачи Есть составленный маршрут получателей с разделителем "-" в столбце А, необходимо сравнить каждого получателя из маршрута со списком в столбце F, в случае совпадения отметить "да", в случае несовпадения-"нет" файл пример во вложении
Добрый вечер! Просьба помочь с решением задачи Есть составленный маршрут получателей с разделителем "-" в столбце А, необходимо сравнить каждого получателя из маршрута со списком в столбце F, в случае совпадения отметить "да", в случае несовпадения-"нет" файл пример во вложении Xenus91
Ответить
Сообщение Добрый вечер! Просьба помочь с решением задачи Есть составленный маршрут получателей с разделителем "-" в столбце А, необходимо сравнить каждого получателя из маршрута со списком в столбце F, в случае совпадения отметить "да", в случае несовпадения-"нет" файл пример во вложении Автор - Xenus91 Дата добавления - 21.12.2019 в 21:39
bmv98rus
Дата: Суббота, 21.12.2019, 23:03 |
Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Ну есть у меня сомнения по поводу названия темы правда.Код
=IF(COUNTIF(F:F;MID(A2;1;4));"да";"нет")& IF(LEN(MID(A2;5;4))>0;IF(COUNTIF(F:F;MID(A2;5;4));"-да";"-нет");"")& IF(LEN(MID(A2;10;4))>0;IF(COUNTIF(F:F;MID(A2;10;4));"-да";"-нет");"")& IF(LEN(MID(A2;15;4))>0;IF(COUNTIF(F:F;MID(A2;15;4));"-да";"-нет");"")& IF(LEN(MID(A2;20;4))>0;IF(COUNTIF(F:F;MID(A2;20;4));"-да";"-нет");"")
Код
=IF(COUNTIF(F:F;MID(A2;1;4));"да";"нет")& IF(LEN(MID(A2;6;4))>0;IF(COUNTIF(F:F;MID(A2;6;4));"-да";"-нет");"")& IF(LEN(MID(A2;11;4))>0;IF(COUNTIF(F:F;MID(A2;11;4));"-да";"-нет");"")& IF(LEN(MID(A2;16;4))>0;IF(COUNTIF(F:F;MID(A2;16;4));"-да";"-нет");"")& IF(LEN(MID(A2;21;4))>0;IF(COUNTIF(F:F;MID(A2;21;4));"-да";"-нет");"")
Ну есть у меня сомнения по поводу названия темы правда.Код
=IF(COUNTIF(F:F;MID(A2;1;4));"да";"нет")& IF(LEN(MID(A2;5;4))>0;IF(COUNTIF(F:F;MID(A2;5;4));"-да";"-нет");"")& IF(LEN(MID(A2;10;4))>0;IF(COUNTIF(F:F;MID(A2;10;4));"-да";"-нет");"")& IF(LEN(MID(A2;15;4))>0;IF(COUNTIF(F:F;MID(A2;15;4));"-да";"-нет");"")& IF(LEN(MID(A2;20;4))>0;IF(COUNTIF(F:F;MID(A2;20;4));"-да";"-нет");"")
Код
=IF(COUNTIF(F:F;MID(A2;1;4));"да";"нет")& IF(LEN(MID(A2;6;4))>0;IF(COUNTIF(F:F;MID(A2;6;4));"-да";"-нет");"")& IF(LEN(MID(A2;11;4))>0;IF(COUNTIF(F:F;MID(A2;11;4));"-да";"-нет");"")& IF(LEN(MID(A2;16;4))>0;IF(COUNTIF(F:F;MID(A2;16;4));"-да";"-нет");"")& IF(LEN(MID(A2;21;4))>0;IF(COUNTIF(F:F;MID(A2;21;4));"-да";"-нет");"")
bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Воскресенье, 22.12.2019, 10:07
Ответить
Сообщение Ну есть у меня сомнения по поводу названия темы правда.Код
=IF(COUNTIF(F:F;MID(A2;1;4));"да";"нет")& IF(LEN(MID(A2;5;4))>0;IF(COUNTIF(F:F;MID(A2;5;4));"-да";"-нет");"")& IF(LEN(MID(A2;10;4))>0;IF(COUNTIF(F:F;MID(A2;10;4));"-да";"-нет");"")& IF(LEN(MID(A2;15;4))>0;IF(COUNTIF(F:F;MID(A2;15;4));"-да";"-нет");"")& IF(LEN(MID(A2;20;4))>0;IF(COUNTIF(F:F;MID(A2;20;4));"-да";"-нет");"")
Код
=IF(COUNTIF(F:F;MID(A2;1;4));"да";"нет")& IF(LEN(MID(A2;6;4))>0;IF(COUNTIF(F:F;MID(A2;6;4));"-да";"-нет");"")& IF(LEN(MID(A2;11;4))>0;IF(COUNTIF(F:F;MID(A2;11;4));"-да";"-нет");"")& IF(LEN(MID(A2;16;4))>0;IF(COUNTIF(F:F;MID(A2;16;4));"-да";"-нет");"")& IF(LEN(MID(A2;21;4))>0;IF(COUNTIF(F:F;MID(A2;21;4));"-да";"-нет");"")
Автор - bmv98rus Дата добавления - 21.12.2019 в 23:03
Xenus91
Дата: Суббота, 21.12.2019, 23:15 |
Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
bmv98rus, как смог, надеялся на то что по файлу примеру проще разобраться спасибо, за вариант. достаточно просто получилось) откорректировал ПСТР
bmv98rus, как смог, надеялся на то что по файлу примеру проще разобраться спасибо, за вариант. достаточно просто получилось) откорректировал ПСТР Xenus91
Ответить
Сообщение bmv98rus, как смог, надеялся на то что по файлу примеру проще разобраться спасибо, за вариант. достаточно просто получилось) откорректировал ПСТР Автор - Xenus91 Дата добавления - 21.12.2019 в 23:15
bmv98rus
Дата: Суббота, 21.12.2019, 23:56 |
Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
а вот еще вариантКод
=MID(SUBSTITUTE(SUBSTITUTE(2*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1)+SUM((COUNTIF(F:F;MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)*10^(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1));1;"-да");0;"-нет");3;99)
Код
=MID(SUBSTITUTE(SUBSTITUTE(2*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1)+SUMPRODUCT((COUNTIF(F:F;MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1-ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))));1;"-да");0;"-нет");3;99)
а вот еще вариантКод
=MID(SUBSTITUTE(SUBSTITUTE(2*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1)+SUM((COUNTIF(F:F;MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)*10^(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1));1;"-да");0;"-нет");3;99)
Код
=MID(SUBSTITUTE(SUBSTITUTE(2*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1)+SUMPRODUCT((COUNTIF(F:F;MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1-ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))));1;"-да");0;"-нет");3;99)
bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Воскресенье, 22.12.2019, 10:06
Ответить
Сообщение а вот еще вариантКод
=MID(SUBSTITUTE(SUBSTITUTE(2*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1)+SUM((COUNTIF(F:F;MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)*10^(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1));1;"-да");0;"-нет");3;99)
Код
=MID(SUBSTITUTE(SUBSTITUTE(2*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1)+SUMPRODUCT((COUNTIF(F:F;MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)*10^(LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1-ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))));1;"-да");0;"-нет");3;99)
Автор - bmv98rus Дата добавления - 21.12.2019 в 23:56
Xenus91
Дата: Воскресенье, 22.12.2019, 00:17 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
bmv98rus, попробовал, не срабатывает когда несколько пунктов в маршруте
bmv98rus, попробовал, не срабатывает когда несколько пунктов в маршруте Xenus91
Ответить
Сообщение bmv98rus, попробовал, не срабатывает когда несколько пунктов в маршруте Автор - Xenus91 Дата добавления - 22.12.2019 в 00:17
Pelena
Дата: Воскресенье, 22.12.2019, 07:50 |
Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19174
Репутация:
4413
±
Замечаний:
±
Excel 365 & Mac Excel
не срабатывает когда несколько пунктов в маршруте
приведите пример
не срабатывает когда несколько пунктов в маршруте
приведите примерPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение не срабатывает когда несколько пунктов в маршруте
приведите примерАвтор - Pelena Дата добавления - 22.12.2019 в 07:50
Xenus91
Дата: Воскресенье, 22.12.2019, 09:27 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
Pelena, правильная формулаКод
=ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;1;4));"да";"нет")& ЕСЛИ(ДЛСТР(ПСТР(A2;6;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;6;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;11;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;11;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;16;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;16;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;21;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;21;4));"-да";"-нет");"")
Pelena, правильная формулаКод
=ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;1;4));"да";"нет")& ЕСЛИ(ДЛСТР(ПСТР(A2;6;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;6;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;11;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;11;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;16;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;16;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;21;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;21;4));"-да";"-нет");"")
Xenus91
Сообщение отредактировал Xenus91 - Воскресенье, 22.12.2019, 09:27
Ответить
Сообщение Pelena, правильная формулаКод
=ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;1;4));"да";"нет")& ЕСЛИ(ДЛСТР(ПСТР(A2;6;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;6;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;11;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;11;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;16;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;16;4));"-да";"-нет");"")& ЕСЛИ(ДЛСТР(ПСТР(A2;21;4))>0;ЕСЛИ(СЧЁТЕСЛИ(F:F;ПСТР(A2;21;4));"-да";"-нет");"")
Автор - Xenus91 Дата добавления - 22.12.2019 в 09:27
bmv98rus
Дата: Воскресенье, 22.12.2019, 10:06 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Да, подправил выше.Автор - bmv98rus Дата добавления - 22.12.2019 в 10:06
Светлый
Дата: Воскресенье, 22.12.2019, 15:03 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Для приведённых данных будет работать такая формула:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(F$2:F$9;ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");3;);7;99)
Или универсальнее:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(СМЕЩ(F$2;;;2+СЧЁТЗ(F:F));ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");3;);7;99)
*И с ограничениями количества образцов:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(F$2:F$13;ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");13-СЧЁТЗ(F:F););7;99)
**Более правильные формулы:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((СЧЁТЕСЛИ(СМЕЩ(F$2;;;СЧЁТЗ(F:F)+1);ПСТР(A2;{0;1;2;3;4}*5+1;4))+1)/10^{1;2;3;4;5});1;"-нет");2;"-да");3;);4;99)
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((СЧЁТЕСЛИ(F$2:F$13;ПСТР(A2;{0;1;2;3;4}*5+1;4))+1)/10^{1;2;3;4;5});1;"-нет");2;"-да");14-СЧЁТЗ(F:F););4;99)
Для приведённых данных будет работать такая формула:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(F$2:F$9;ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");3;);7;99)
Или универсальнее:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(СМЕЩ(F$2;;;2+СЧЁТЗ(F:F));ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");3;);7;99)
*И с ограничениями количества образцов:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(F$2:F$13;ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");13-СЧЁТЗ(F:F););7;99)
**Более правильные формулы:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((СЧЁТЕСЛИ(СМЕЩ(F$2;;;СЧЁТЗ(F:F)+1);ПСТР(A2;{0;1;2;3;4}*5+1;4))+1)/10^{1;2;3;4;5});1;"-нет");2;"-да");3;);4;99)
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((СЧЁТЕСЛИ(F$2:F$13;ПСТР(A2;{0;1;2;3;4}*5+1;4))+1)/10^{1;2;3;4;5});1;"-нет");2;"-да");14-СЧЁТЗ(F:F););4;99)
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Воскресенье, 22.12.2019, 15:38
Ответить
Сообщение Для приведённых данных будет работать такая формула:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(F$2:F$9;ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");3;);7;99)
Или универсальнее:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(СМЕЩ(F$2;;;2+СЧЁТЗ(F:F));ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");3;);7;99)
*И с ограничениями количества образцов:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(F$2:F$13;ПСТР(A2;{0;1;2;3;4}*5+1;4))/10^{1;2;3;4;5});0;"-нет");1;"-да");13-СЧЁТЗ(F:F););7;99)
**Более правильные формулы:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((СЧЁТЕСЛИ(СМЕЩ(F$2;;;СЧЁТЗ(F:F)+1);ПСТР(A2;{0;1;2;3;4}*5+1;4))+1)/10^{1;2;3;4;5});1;"-нет");2;"-да");3;);4;99)
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((СЧЁТЕСЛИ(F$2:F$13;ПСТР(A2;{0;1;2;3;4}*5+1;4))+1)/10^{1;2;3;4;5});1;"-нет");2;"-да");14-СЧЁТЗ(F:F););4;99)
Автор - Светлый Дата добавления - 22.12.2019 в 15:03
bmv98rus
Дата: Воскресенье, 22.12.2019, 15:27 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Полетели :-) Чуть тоже сократил, ну и понятно что до 15 значений в ячейке.Код
=MID(SUBSTITUTE(SUBSTITUTE(SUMPRODUCT(((COUNTIF($F$1:INDEX(F:F;COUNTA(F:F));MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)+1)*10^(-ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))));2;"-да");1;"-нет");4;99)
Полетели :-) Чуть тоже сократил, ну и понятно что до 15 значений в ячейке.Код
=MID(SUBSTITUTE(SUBSTITUTE(SUMPRODUCT(((COUNTIF($F$1:INDEX(F:F;COUNTA(F:F));MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)+1)*10^(-ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))));2;"-да");1;"-нет");4;99)
bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Полетели :-) Чуть тоже сократил, ну и понятно что до 15 значений в ячейке.Код
=MID(SUBSTITUTE(SUBSTITUTE(SUMPRODUCT(((COUNTIF($F$1:INDEX(F:F;COUNTA(F:F));MID(A2;(ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))-1)*5+1;4))>0)+1)*10^(-ROW($A$1:INDEX(A:A;LEN(A2)-LEN(SUBSTITUTE(A2;"-";))+1))));2;"-да");1;"-нет");4;99)
Автор - bmv98rus Дата добавления - 22.12.2019 в 15:27
bmv98rus
Дата: Воскресенье, 22.12.2019, 16:05 |
Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
спорно. При дубликатах в F сбойнет.
спорно. При дубликатах в F сбойнет. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение спорно. При дубликатах в F сбойнет. Автор - bmv98rus Дата добавления - 22.12.2019 в 16:05
Светлый
Дата: Воскресенье, 22.12.2019, 16:21 |
Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Тогда так:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((ЗНАК(1-СЧЁТЕСЛИ(F:F;ПСТР(A2;{0;1;2;3;4}*5+1;4)))+1)/10^{1;2;3;4;5});2;"-нет");1;"-да");4;99)
Тогда так:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((ЗНАК(1-СЧЁТЕСЛИ(F:F;ПСТР(A2;{0;1;2;3;4}*5+1;4)))+1)/10^{1;2;3;4;5});2;"-нет");1;"-да");4;99)
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Тогда так:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((ЗНАК(1-СЧЁТЕСЛИ(F:F;ПСТР(A2;{0;1;2;3;4}*5+1;4)))+1)/10^{1;2;3;4;5});2;"-нет");1;"-да");4;99)
Автор - Светлый Дата добавления - 22.12.2019 в 16:21
Светлый
Дата: Воскресенье, 22.12.2019, 17:30 |
Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
При дубликатах в F сбойнет
Лечим:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ(ТЕКСТ(ДЛСТР(10*СЧЁТЕСЛИ(F:F;ПСТР(A2;{0;1;2;3;4}*5+1;4)));"[<3]0;;\0")/10^{1;2;3;4;5});1;"-нет");2;"-да");4;99)
*До 15 значений в ячейке:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(ТЕКСТ(ДЛСТР(10*СЧЁТЕСЛИ(F:F;ПСТР(A2;СТОЛБЕЦ(A:O)*5-4;4)));"[<3]0;;\0")/10^СТОЛБЕЦ(A:O));1;"-нет");2;"-да");4;99)
При дубликатах в F сбойнет
Лечим:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ(ТЕКСТ(ДЛСТР(10*СЧЁТЕСЛИ(F:F;ПСТР(A2;{0;1;2;3;4}*5+1;4)));"[<3]0;;\0")/10^{1;2;3;4;5});1;"-нет");2;"-да");4;99)
*До 15 значений в ячейке:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(ТЕКСТ(ДЛСТР(10*СЧЁТЕСЛИ(F:F;ПСТР(A2;СТОЛБЕЦ(A:O)*5-4;4)));"[<3]0;;\0")/10^СТОЛБЕЦ(A:O));1;"-нет");2;"-да");4;99)
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Воскресенье, 22.12.2019, 18:32
Ответить
Сообщение При дубликатах в F сбойнет
Лечим:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ(ТЕКСТ(ДЛСТР(10*СЧЁТЕСЛИ(F:F;ПСТР(A2;{0;1;2;3;4}*5+1;4)));"[<3]0;;\0")/10^{1;2;3;4;5});1;"-нет");2;"-да");4;99)
*До 15 значений в ячейке:Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(ТЕКСТ(ДЛСТР(10*СЧЁТЕСЛИ(F:F;ПСТР(A2;СТОЛБЕЦ(A:O)*5-4;4)));"[<3]0;;\0")/10^СТОЛБЕЦ(A:O));1;"-нет");2;"-да");4;99)
Автор - Светлый Дата добавления - 22.12.2019 в 17:30
Xenus91
Дата: Воскресенье, 22.12.2019, 22:10 |
Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
bmv98rus, дубликатов в F быть не может
bmv98rus, дубликатов в F быть не может Xenus91
Ответить
Сообщение bmv98rus, дубликатов в F быть не может Автор - Xenus91 Дата добавления - 22.12.2019 в 22:10
Xenus91
Дата: Воскресенье, 22.12.2019, 22:30 |
Сообщение № 15
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 137
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
Всем большое спасибо за помощь в решении задачи!
Всем большое спасибо за помощь в решении задачи! Xenus91
Ответить
Сообщение Всем большое спасибо за помощь в решении задачи! Автор - Xenus91 Дата добавления - 22.12.2019 в 22:30
Светлый
Дата: Воскресенье, 22.12.2019, 23:19 |
Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
дубликатов в F быть не может
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(ТЕКСТ(1+СЧЁТЕСЛИ(F:F;ПСТР(A2;СТОЛБЕЦ(A:O)*5-4;4));"[<3]0;;\0")/10^СТОЛБЕЦ(A:O));1;"-нет");2;"-да");4;99)
дубликатов в F быть не может
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(ТЕКСТ(1+СЧЁТЕСЛИ(F:F;ПСТР(A2;СТОЛБЕЦ(A:O)*5-4;4));"[<3]0;;\0")/10^СТОЛБЕЦ(A:O));1;"-нет");2;"-да");4;99)
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение дубликатов в F быть не может
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(ТЕКСТ(1+СЧЁТЕСЛИ(F:F;ПСТР(A2;СТОЛБЕЦ(A:O)*5-4;4));"[<3]0;;\0")/10^СТОЛБЕЦ(A:O));1;"-нет");2;"-да");4;99)
Автор - Светлый Дата добавления - 22.12.2019 в 23:19
bmv98rus
Дата: Понедельник, 23.12.2019, 01:11 |
Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Светлый , Краткость сестра таланта, но не скорости, как бы это не было странно на 1800 значений расчет в секундах: 51,85693 - последняя короткая формула 2,348145 - моя последняя на 15 значений 4,795898 - моя первая на 5 Это не по тому что я отстаиваю свои решения, а просто как сисадмин , настаиваю на бережном отношении к ресурсам.
Светлый , Краткость сестра таланта, но не скорости, как бы это не было странно на 1800 значений расчет в секундах: 51,85693 - последняя короткая формула 2,348145 - моя последняя на 15 значений 4,795898 - моя первая на 5 Это не по тому что я отстаиваю свои решения, а просто как сисадмин , настаиваю на бережном отношении к ресурсам.bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Светлый , Краткость сестра таланта, но не скорости, как бы это не было странно на 1800 значений расчет в секундах: 51,85693 - последняя короткая формула 2,348145 - моя последняя на 15 значений 4,795898 - моя первая на 5 Это не по тому что я отстаиваю свои решения, а просто как сисадмин , настаиваю на бережном отношении к ресурсам.Автор - bmv98rus Дата добавления - 23.12.2019 в 01:11
Светлый
Дата: Понедельник, 23.12.2019, 07:09 |
Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1829
Репутация:
510
±
Замечаний:
0% ±
Excel 2013, 2016
Грешен. Зациклен на краткости. Если очень много маршрутов, то несложно заменить F:F на F$2:F$50. Будет считать быстрее, но надо будет иметь в виду, что этот диапазон должен перекрывать количество строк в F:F на 10 и более. А если ещё быстрее надо, то моя первая неуниверсальная формула работает ещё быстрее. И она ещё короче. [offtop]Я свои решения тоже не отстаиваю и не навязываю. Просто предлагаю различные варианты. Мне самому это интересно, да и другим может пригодиться. А универсальных быстрых и кратких решений почти никогда не удастся получить. Пусть пользователь выбирает наиболее понравившийся.[/offtop]
Грешен. Зациклен на краткости. Если очень много маршрутов, то несложно заменить F:F на F$2:F$50. Будет считать быстрее, но надо будет иметь в виду, что этот диапазон должен перекрывать количество строк в F:F на 10 и более. А если ещё быстрее надо, то моя первая неуниверсальная формула работает ещё быстрее. И она ещё короче. [offtop]Я свои решения тоже не отстаиваю и не навязываю. Просто предлагаю различные варианты. Мне самому это интересно, да и другим может пригодиться. А универсальных быстрых и кратких решений почти никогда не удастся получить. Пусть пользователь выбирает наиболее понравившийся.[/offtop] Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Грешен. Зациклен на краткости. Если очень много маршрутов, то несложно заменить F:F на F$2:F$50. Будет считать быстрее, но надо будет иметь в виду, что этот диапазон должен перекрывать количество строк в F:F на 10 и более. А если ещё быстрее надо, то моя первая неуниверсальная формула работает ещё быстрее. И она ещё короче. [offtop]Я свои решения тоже не отстаиваю и не навязываю. Просто предлагаю различные варианты. Мне самому это интересно, да и другим может пригодиться. А универсальных быстрых и кратких решений почти никогда не удастся получить. Пусть пользователь выбирает наиболее понравившийся.[/offtop] Автор - Светлый Дата добавления - 23.12.2019 в 07:09
bmv98rus
Дата: Понедельник, 23.12.2019, 07:54 |
Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация:
768
±
Замечаний:
0% ±
Excel 2013/2016
Если очень много маршрутов, то несложно заменить F:F на F$2:F$50
помогает, но не сильно. На самом деле вчера забубенил сперва данных до 180000, потом до 18000 и так как устал ждать то 1800, в результате данные не верные немного, считает все быстрее на все равно 0,1640625 против 0,1054688 интересно, похоже есть серьезная разница между версиями 2013 и 2016. Чуть позже напишу.
Если очень много маршрутов, то несложно заменить F:F на F$2:F$50
помогает, но не сильно. На самом деле вчера забубенил сперва данных до 180000, потом до 18000 и так как устал ждать то 1800, в результате данные не верные немного, считает все быстрее на все равно 0,1640625 против 0,1054688 интересно, похоже есть серьезная разница между версиями 2013 и 2016. Чуть позже напишу.bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Понедельник, 23.12.2019, 18:04
Ответить
Сообщение Если очень много маршрутов, то несложно заменить F:F на F$2:F$50
помогает, но не сильно. На самом деле вчера забубенил сперва данных до 180000, потом до 18000 и так как устал ждать то 1800, в результате данные не верные немного, считает все быстрее на все равно 0,1640625 против 0,1054688 интересно, похоже есть серьезная разница между версиями 2013 и 2016. Чуть позже напишу.Автор - bmv98rus Дата добавления - 23.12.2019 в 07:54