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

Вход

Регистрация

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

 

= Мир MS Excel/Поочередное сравнение - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поочередное сравнение (Формулы/Formulas)
Поочередное сравнение
Xenus91 Дата: Суббота, 21.12.2019, 21:39 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
Добрый вечер!
Просьба помочь с решением задачи
Есть составленный маршрут получателей с разделителем "-" в столбце А, необходимо сравнить каждого получателя из маршрута со списком в столбце F, в случае совпадения отметить "да", в случае несовпадения-"нет"
файл пример во вложении
К сообщению приложен файл: 8230696.xlsx(8.7 Kb)
 
Ответить
СообщениеДобрый вечер!
Просьба помочь с решением задачи
Есть составленный маршрут получателей с разделителем "-" в столбце А, необходимо сравнить каждого получателя из маршрута со списком в столбце F, в случае совпадения отметить "да", в случае несовпадения-"нет"
файл пример во вложении

Автор - Xenus91
Дата добавления - 21.12.2019 в 21:39
bmv98rus Дата: Суббота, 21.12.2019, 23:03 | Сообщение № 2
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 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));"-да";"-нет");"")


Замечательный Временно просто медведь , процентов на 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
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
bmv98rus,
как смог, надеялся на то что по файлу примеру проще разобраться
спасибо, за вариант. достаточно просто получилось)
откорректировал ПСТР
 
Ответить
Сообщениеbmv98rus,
как смог, надеялся на то что по файлу примеру проще разобраться
спасибо, за вариант. достаточно просто получилось)
откорректировал ПСТР

Автор - Xenus91
Дата добавления - 21.12.2019 в 23:15
bmv98rus Дата: Суббота, 21.12.2019, 23:56 | Сообщение № 4
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 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)
К сообщению приложен файл: Copy_of_1359.xlsx(10.0 Kb)


Замечательный Временно просто медведь , процентов на 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
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
bmv98rus, попробовал, не срабатывает когда несколько пунктов в маршруте
 
Ответить
Сообщениеbmv98rus, попробовал, не срабатывает когда несколько пунктов в маршруте

Автор - Xenus91
Дата добавления - 22.12.2019 в 00:17
Pelena Дата: Воскресенье, 22.12.2019, 07:50 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 15004
Репутация: 3280 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
не срабатывает когда несколько пунктов в маршруте

приведите пример


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
Сообщение
не срабатывает когда несколько пунктов в маршруте

приведите пример

Автор - Pelena
Дата добавления - 22.12.2019 в 07:50
Xenus91 Дата: Воскресенье, 22.12.2019, 09:27 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 7 ±
Замечаний: 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));"-да";"-нет");"")
К сообщению приложен файл: 7044667.xlsx(13.1 Kb)


Сообщение отредактировал 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
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 0% ±

Excel 2013/2016
не срабатывает

Да, подправил выше.


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

Да, подправил выше.

Автор - bmv98rus
Дата добавления - 22.12.2019 в 10:06
Светлый Дата: Воскресенье, 22.12.2019, 15:03 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1392
Репутация: 370 ±
Замечаний: 0% ±

Excel 2010, 2013
Для приведённых данных будет работать такая формула:
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММПРОИЗВ(СЧЁТЕСЛИ(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
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Светлый, 22.12.2019 в 15:03, в сообщении № 9 ()
OFFSET(F$2

Полетели :-)

Чуть тоже сократил, ну и понятно что до 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)
К сообщению приложен файл: 3035443.xlsx(10.9 Kb)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата Светлый, 22.12.2019 в 15:03, в сообщении № 9 ()
OFFSET(F$2

Полетели :-)

Чуть тоже сократил, ну и понятно что до 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
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Светлый, 22.12.2019 в 15:03, в сообщении № 9 ()
Более правильные формулы
спорно. При дубликатах в F сбойнет.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата Светлый, 22.12.2019 в 15:03, в сообщении № 9 ()
Более правильные формулы
спорно. При дубликатах в F сбойнет.

Автор - bmv98rus
Дата добавления - 22.12.2019 в 16:05
Светлый Дата: Воскресенье, 22.12.2019, 16:21 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1392
Репутация: 370 ±
Замечаний: 0% ±

Excel 2010, 2013
Полетели :-)
Тогда так:
Код
=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СУММ((ЗНАК(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
Группа: Друзья
Ранг: Старожил
Сообщений: 1392
Репутация: 370 ±
Замечаний: 0% ±

Excel 2010, 2013
При дубликатах в 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
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
bmv98rus, дубликатов в F быть не может
 
Ответить
Сообщениеbmv98rus, дубликатов в F быть не может

Автор - Xenus91
Дата добавления - 22.12.2019 в 22:10
Xenus91 Дата: Воскресенье, 22.12.2019, 22:30 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 7 ±
Замечаний: 0% ±

Excel 2016
Всем большое спасибо за помощь в решении задачи!
 
Ответить
СообщениеВсем большое спасибо за помощь в решении задачи!

Автор - Xenus91
Дата добавления - 22.12.2019 в 22:30
Светлый Дата: Воскресенье, 22.12.2019, 23:19 | Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1392
Репутация: 370 ±
Замечаний: 0% ±

Excel 2010, 2013
дубликатов в 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
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 0% ±

Excel 2013/2016
Светлый, Краткость сестра таланта, но не скорости, как бы это не было странно
на 1800 значений расчет в секундах:
51,85693 - последняя короткая формула
2,348145 - моя последняя на 15 значений
4,795898 - моя первая на 5

Это не по тому что я отстаиваю свои решения, а просто как сисадмин , настаиваю на бережном отношении к ресурсам.


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеСветлый, Краткость сестра таланта, но не скорости, как бы это не было странно
на 1800 значений расчет в секундах:
51,85693 - последняя короткая формула
2,348145 - моя последняя на 15 значений
4,795898 - моя первая на 5

Это не по тому что я отстаиваю свои решения, а просто как сисадмин , настаиваю на бережном отношении к ресурсам.

Автор - bmv98rus
Дата добавления - 23.12.2019 в 01:11
Светлый Дата: Понедельник, 23.12.2019, 07:09 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1392
Репутация: 370 ±
Замечаний: 0% ±

Excel 2010, 2013
но не скорости
Грешен. Зациклен на краткости. Если очень много маршрутов, то несложно заменить 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
Группа: Проверенные
Ранг: Участник клуба
Сообщений: 2895
Репутация: 501 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата Светлый, 23.12.2019 в 07:09, в сообщении № 18 ()
Если очень много маршрутов, то несложно заменить F:F на F$2:F$50
помогает, но не сильно. На самом деле вчера забубенил сперва данных до 180000, потом до 18000 и так как устал ждать то 1800, в результате данные не верные немного, считает все быстрее на все равно
0,1640625 против 0,1054688
интересно, похоже есть серьезная разница между версиями 2013 и 2016. Чуть позже напишу.


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

Сообщение отредактировал bmv98rus - Понедельник, 23.12.2019, 18:04
 
Ответить
Сообщение
Цитата Светлый, 23.12.2019 в 07:09, в сообщении № 18 ()
Если очень много маршрутов, то несложно заменить F:F на F$2:F$50
помогает, но не сильно. На самом деле вчера забубенил сперва данных до 180000, потом до 18000 и так как устал ждать то 1800, в результате данные не верные немного, считает все быстрее на все равно
0,1640625 против 0,1054688
интересно, похоже есть серьезная разница между версиями 2013 и 2016. Чуть позже напишу.

Автор - bmv98rus
Дата добавления - 23.12.2019 в 07:54
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поочередное сравнение (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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