Как разбить числовую последовательность по ячейкам
Leonid9156
Дата: Вторник, 19.09.2023, 22:14 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 49
Здравствуйте! Имеется в столбце В3:В23 числовая последовательность, из которой надо разбить на определенное количество чисел (их 7). А ячейках C3:I23 показано как должно быть. Числа идут не по возрастанию к сожелению. Известно максимальное и минимальное число (это от 1 до 31). Приложу файл, там как образец для понимания.
Здравствуйте! Имеется в столбце В3:В23 числовая последовательность, из которой надо разбить на определенное количество чисел (их 7). А ячейках C3:I23 показано как должно быть. Числа идут не по возрастанию к сожелению. Известно максимальное и минимальное число (это от 1 до 31). Приложу файл, там как образец для понимания. Leonid9156
Ответить
Сообщение Здравствуйте! Имеется в столбце В3:В23 числовая последовательность, из которой надо разбить на определенное количество чисел (их 7). А ячейках C3:I23 показано как должно быть. Числа идут не по возрастанию к сожелению. Известно максимальное и минимальное число (это от 1 до 31). Приложу файл, там как образец для понимания. Автор - Leonid9156 Дата добавления - 19.09.2023 в 22:14
msi2102
Дата: Вторник, 19.09.2023, 22:36 |
Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация:
129
±
Замечаний:
0% ±
Excel 2007
А попробуйте сами разбить это число 11231221313 Варианты: 1 12 31 2 21 3 13 или 11 23 1 2 21 31 3 и т.д. Должен быть какой-то принцип деления
А попробуйте сами разбить это число 11231221313 Варианты: 1 12 31 2 21 3 13 или 11 23 1 2 21 31 3 и т.д. Должен быть какой-то принцип деления msi2102
Сообщение отредактировал msi2102 - Вторник, 19.09.2023, 22:37
Ответить
Сообщение А попробуйте сами разбить это число 11231221313 Варианты: 1 12 31 2 21 3 13 или 11 23 1 2 21 31 3 и т.д. Должен быть какой-то принцип деления Автор - msi2102 Дата добавления - 19.09.2023 в 22:36
Leonid9156
Дата: Вторник, 19.09.2023, 22:43 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 49
msi2102, Из принципов только это максимальное 31 известно и количеств равно семи.
msi2102, Из принципов только это максимальное 31 известно и количеств равно семи. Leonid9156
Сообщение отредактировал Leonid9156 - Вторник, 19.09.2023, 22:43
Ответить
Сообщение msi2102, Из принципов только это максимальное 31 известно и количеств равно семи. Автор - Leonid9156 Дата добавления - 19.09.2023 в 22:43
msi2102
Дата: Вторник, 19.09.2023, 22:54 |
Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация:
129
±
Замечаний:
0% ±
Excel 2007
Я в сообщении №2 предложил Вам разбить число и показал два варианта, какой будет правильный?
Я в сообщении №2 предложил Вам разбить число и показал два варианта, какой будет правильный? msi2102
Ответить
Сообщение Я в сообщении №2 предложил Вам разбить число и показал два варианта, какой будет правильный? Автор - msi2102 Дата добавления - 19.09.2023 в 22:54
прохожий2019
Дата: Вторник, 19.09.2023, 23:37 |
Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1301
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
15.9.2023 : 20 19 29 15 1 14 13 - почему не 20 19 29 15 11 4 13? 16.9.2023 : 3 19 26 5 11 20 6 - почему не 31 9 26 5 11 20 6? 17.9.2023 : 20 7 1 17 17 11 10 - почему не 20 7 11 7 17 11 10? 18.9.2023 : 15 1 3 7 20 28 6 - почему не 15 13 7 20 2 8 6? 23.9.2023 : 5 25 13 12 15 1 16 - почему не 5 25 13 12 15 11 6? но для альтернативных вариантов хоть логика есть, и то за 18.9.2023 - 2 8 вместо 28 - но там уже тупо цифр не хватает а вот за 20.9.2023 - как бы вообще полёт фантазии с точки зрения вариантов что за источник? может там табы какие затерялись? или 10-е символы...
15.9.2023 : 20 19 29 15 1 14 13 - почему не 20 19 29 15 11 4 13? 16.9.2023 : 3 19 26 5 11 20 6 - почему не 31 9 26 5 11 20 6? 17.9.2023 : 20 7 1 17 17 11 10 - почему не 20 7 11 7 17 11 10? 18.9.2023 : 15 1 3 7 20 28 6 - почему не 15 13 7 20 2 8 6? 23.9.2023 : 5 25 13 12 15 1 16 - почему не 5 25 13 12 15 11 6? но для альтернативных вариантов хоть логика есть, и то за 18.9.2023 - 2 8 вместо 28 - но там уже тупо цифр не хватает а вот за 20.9.2023 - как бы вообще полёт фантазии с точки зрения вариантов что за источник? может там табы какие затерялись? или 10-е символы... прохожий2019
Ответить
Сообщение 15.9.2023 : 20 19 29 15 1 14 13 - почему не 20 19 29 15 11 4 13? 16.9.2023 : 3 19 26 5 11 20 6 - почему не 31 9 26 5 11 20 6? 17.9.2023 : 20 7 1 17 17 11 10 - почему не 20 7 11 7 17 11 10? 18.9.2023 : 15 1 3 7 20 28 6 - почему не 15 13 7 20 2 8 6? 23.9.2023 : 5 25 13 12 15 1 16 - почему не 5 25 13 12 15 11 6? но для альтернативных вариантов хоть логика есть, и то за 18.9.2023 - 2 8 вместо 28 - но там уже тупо цифр не хватает а вот за 20.9.2023 - как бы вообще полёт фантазии с точки зрения вариантов что за источник? может там табы какие затерялись? или 10-е символы... Автор - прохожий2019 Дата добавления - 19.09.2023 в 23:37
Светлый
Дата: Среда, 20.09.2023, 01:12 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1852
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
Разбивка немного другая, но рабочая. *Добавил варианты разбивки. Файл перезалил. **Немного причесал формулу. Файл перезалил.
Разбивка немного другая, но рабочая. *Добавил варианты разбивки. Файл перезалил. **Немного причесал формулу. Файл перезалил. Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Среда, 20.09.2023, 06:58
Ответить
Сообщение Разбивка немного другая, но рабочая. *Добавил варианты разбивки. Файл перезалил. **Немного причесал формулу. Файл перезалил. Автор - Светлый Дата добавления - 20.09.2023 в 01:12
bmv98rus
Дата: Среда, 20.09.2023, 10:26 |
Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4125
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
Показалось интересным, накидал массивкуКод
=MID($B3; (COLUMN(A1)-1)*2+1-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\3\5\7\9\11\13}-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{0\1\2\3\4\5\6});1;));MID(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{7\6\5\4\3\2\1};1)+1)-32<0);)*(14-LEN(SUBSTITUTE(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");1;))=LEN($B3));{1;1;1;1;1;1;1});)-1);"0000000");COLUMN(A1)-1);1;)); MID(TEXT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\3\5\7\9\11\13}-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(ROW($1:$256)-1);REPT(0;7));{0\1\2\3\4\5\6});1;));MID(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{7\6\5\4\3\2\1};1)+1)-32<0);)*(14-LEN(SUBSTITUTE(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");1;))=LEN($B3));{1;1;1;1;1;1;1});)-1);"0000000");8-COLUMN(A1);1)+1)
Есть отличие от "эталона" из-за вариантов возможных.
Показалось интересным, накидал массивкуКод
=MID($B3; (COLUMN(A1)-1)*2+1-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\3\5\7\9\11\13}-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{0\1\2\3\4\5\6});1;));MID(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{7\6\5\4\3\2\1};1)+1)-32<0);)*(14-LEN(SUBSTITUTE(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");1;))=LEN($B3));{1;1;1;1;1;1;1});)-1);"0000000");COLUMN(A1)-1);1;)); MID(TEXT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\3\5\7\9\11\13}-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(ROW($1:$256)-1);REPT(0;7));{0\1\2\3\4\5\6});1;));MID(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{7\6\5\4\3\2\1};1)+1)-32<0);)*(14-LEN(SUBSTITUTE(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");1;))=LEN($B3));{1;1;1;1;1;1;1});)-1);"0000000");8-COLUMN(A1);1)+1)
Есть отличие от "эталона" из-за вариантов возможных. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Среда, 20.09.2023, 10:29
Ответить
Сообщение Показалось интересным, накидал массивкуКод
=MID($B3; (COLUMN(A1)-1)*2+1-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\3\5\7\9\11\13}-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{0\1\2\3\4\5\6});1;));MID(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{7\6\5\4\3\2\1};1)+1)-32<0);)*(14-LEN(SUBSTITUTE(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");1;))=LEN($B3));{1;1;1;1;1;1;1});)-1);"0000000");COLUMN(A1)-1);1;)); MID(TEXT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\3\5\7\9\11\13}-LEN(SUBSTITUTE(RIGHT(TEXT(DEC2BIN(ROW($1:$256)-1);REPT(0;7));{0\1\2\3\4\5\6});1;));MID(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");{7\6\5\4\3\2\1};1)+1)-32<0);)*(14-LEN(SUBSTITUTE(TEXT(DEC2BIN(ROW($1:$256)-1);"0000000");1;))=LEN($B3));{1;1;1;1;1;1;1});)-1);"0000000");8-COLUMN(A1);1)+1)
Есть отличие от "эталона" из-за вариантов возможных. Автор - bmv98rus Дата добавления - 20.09.2023 в 10:26
прохожий2019
Дата: Среда, 20.09.2023, 11:02 |
Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1301
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
оптимизацией не занимался [vba]Код
=LET(x;ТЕКСТРАЗД(ОБЪЕДИНИТЬ(";";;MAP(ТЕКСТРАЗД(СЦЕП(MAP(ПСТР(B3;ПОСЛЕД(ДЛСТР(B3)-1);2);LAMBDA(x;ЛЕВБ(x)&ЕСЛИ(--x>31;";";"")));ПРАВБ(B3));";");LAMBDA(x;ЕСЛИ(ДЛСТР(x)>2;ОБЪЕДИНИТЬ(";";;ПСТР(x;ПОСЛЕД(ОКРВВЕРХ(ДЛСТР(x)/2;1);;1;2);2));x))));";"); ЕСЛИ(СЧЁТЗ(x)=7;x;LET(a;МАКС(--ЕСЛИ(--x>=10;x;0))&"";b;ПОИСКПОЗ(a;x;0);ПЕРЕКЛЮЧ(b;1;ГСТОЛБИК(ЛЕВБ(a);ПРАВБ(a);СБРОСИТЬ(x;;b));6;ГСТОЛБИК(ВЗЯТЬ(x;;b-1);ЛЕВБ(a);ПРАВБ(a));ГСТОЛБИК(ВЗЯТЬ(x;;b-1);ЛЕВБ(a);ПРАВБ(a);СБРОСИТЬ(x;;b))))))
[/vba]
оптимизацией не занимался [vba]Код
=LET(x;ТЕКСТРАЗД(ОБЪЕДИНИТЬ(";";;MAP(ТЕКСТРАЗД(СЦЕП(MAP(ПСТР(B3;ПОСЛЕД(ДЛСТР(B3)-1);2);LAMBDA(x;ЛЕВБ(x)&ЕСЛИ(--x>31;";";"")));ПРАВБ(B3));";");LAMBDA(x;ЕСЛИ(ДЛСТР(x)>2;ОБЪЕДИНИТЬ(";";;ПСТР(x;ПОСЛЕД(ОКРВВЕРХ(ДЛСТР(x)/2;1);;1;2);2));x))));";"); ЕСЛИ(СЧЁТЗ(x)=7;x;LET(a;МАКС(--ЕСЛИ(--x>=10;x;0))&"";b;ПОИСКПОЗ(a;x;0);ПЕРЕКЛЮЧ(b;1;ГСТОЛБИК(ЛЕВБ(a);ПРАВБ(a);СБРОСИТЬ(x;;b));6;ГСТОЛБИК(ВЗЯТЬ(x;;b-1);ЛЕВБ(a);ПРАВБ(a));ГСТОЛБИК(ВЗЯТЬ(x;;b-1);ЛЕВБ(a);ПРАВБ(a);СБРОСИТЬ(x;;b))))))
[/vba] прохожий2019
Ответить
Сообщение оптимизацией не занимался [vba]Код
=LET(x;ТЕКСТРАЗД(ОБЪЕДИНИТЬ(";";;MAP(ТЕКСТРАЗД(СЦЕП(MAP(ПСТР(B3;ПОСЛЕД(ДЛСТР(B3)-1);2);LAMBDA(x;ЛЕВБ(x)&ЕСЛИ(--x>31;";";"")));ПРАВБ(B3));";");LAMBDA(x;ЕСЛИ(ДЛСТР(x)>2;ОБЪЕДИНИТЬ(";";;ПСТР(x;ПОСЛЕД(ОКРВВЕРХ(ДЛСТР(x)/2;1);;1;2);2));x))));";"); ЕСЛИ(СЧЁТЗ(x)=7;x;LET(a;МАКС(--ЕСЛИ(--x>=10;x;0))&"";b;ПОИСКПОЗ(a;x;0);ПЕРЕКЛЮЧ(b;1;ГСТОЛБИК(ЛЕВБ(a);ПРАВБ(a);СБРОСИТЬ(x;;b));6;ГСТОЛБИК(ВЗЯТЬ(x;;b-1);ЛЕВБ(a);ПРАВБ(a));ГСТОЛБИК(ВЗЯТЬ(x;;b-1);ЛЕВБ(a);ПРАВБ(a);СБРОСИТЬ(x;;b))))))
[/vba] Автор - прохожий2019 Дата добавления - 20.09.2023 в 11:02
Светлый
Дата: Среда, 20.09.2023, 12:25 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1852
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
bmv98rus , взял на себя смелость по-быстрому почистить от лишнего Вашу формулу:Код
=ПСТР($B3; (СТОЛБЕЦ(A1)-1)*2+1-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(ПОИСКПОЗ(7;МУМНОЖ(ЕСЛИОШИБКА(--(ПСТР($B3;{1;3;5;7;9;11;13}-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{0;1;2;3;4;5;6});1;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1)-32<0);)*(14-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);1;))=ДЛСТР($B3));{1:1:1:1:1:1:1});)-1;7);СТОЛБЕЦ(A1)-1);1;)); ПСТР(ДЕС.В.ДВ(ПОИСКПОЗ(7;МУМНОЖ(ЕСЛИОШИБКА(--(ПСТР($B3;{1;3;5;7;9;11;13}-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ТЕКСТ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);ПОВТОР(0;7));{0;1;2;3;4;5;6});1;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1)-32<0);)*(14-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);1;))=ДЛСТР($B3));{1:1:1:1:1:1:1});)-1;7);8-СТОЛБЕЦ(A1);1)+1)
Пока ещё не вникал в суть.
bmv98rus , взял на себя смелость по-быстрому почистить от лишнего Вашу формулу:Код
=ПСТР($B3; (СТОЛБЕЦ(A1)-1)*2+1-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(ПОИСКПОЗ(7;МУМНОЖ(ЕСЛИОШИБКА(--(ПСТР($B3;{1;3;5;7;9;11;13}-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{0;1;2;3;4;5;6});1;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1)-32<0);)*(14-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);1;))=ДЛСТР($B3));{1:1:1:1:1:1:1});)-1;7);СТОЛБЕЦ(A1)-1);1;)); ПСТР(ДЕС.В.ДВ(ПОИСКПОЗ(7;МУМНОЖ(ЕСЛИОШИБКА(--(ПСТР($B3;{1;3;5;7;9;11;13}-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ТЕКСТ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);ПОВТОР(0;7));{0;1;2;3;4;5;6});1;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1)-32<0);)*(14-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);1;))=ДЛСТР($B3));{1:1:1:1:1:1:1});)-1;7);8-СТОЛБЕЦ(A1);1)+1)
Пока ещё не вникал в суть.Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение bmv98rus , взял на себя смелость по-быстрому почистить от лишнего Вашу формулу:Код
=ПСТР($B3; (СТОЛБЕЦ(A1)-1)*2+1-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(ПОИСКПОЗ(7;МУМНОЖ(ЕСЛИОШИБКА(--(ПСТР($B3;{1;3;5;7;9;11;13}-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{0;1;2;3;4;5;6});1;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1)-32<0);)*(14-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);1;))=ДЛСТР($B3));{1:1:1:1:1:1:1});)-1;7);СТОЛБЕЦ(A1)-1);1;)); ПСТР(ДЕС.В.ДВ(ПОИСКПОЗ(7;МУМНОЖ(ЕСЛИОШИБКА(--(ПСТР($B3;{1;3;5;7;9;11;13}-ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ТЕКСТ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);ПОВТОР(0;7));{0;1;2;3;4;5;6});1;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1)-32<0);)*(14-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);1;))=ДЛСТР($B3));{1:1:1:1:1:1:1});)-1;7);8-СТОЛБЕЦ(A1);1)+1)
Пока ещё не вникал в суть.Автор - Светлый Дата добавления - 20.09.2023 в 12:25
bmv98rus
Дата: Среда, 20.09.2023, 12:45 |
Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4125
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
Светлый , все правильно я потом решил почистить.оптимизацией не занимался
за тебя Microsoft 'это делал :-) а мне пришлосьКод
=MID($B3; COLUMN(A1)+LEN(SUBSTITUTE(RIGHT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$256)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$256)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$256)-1);0;))=LEN($B3));{1;1;1;1;1;1;1});)-1);COLUMN(A1)-1);0;)); MID(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$256)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$256)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$256)-1);0;))=LEN($B3));{1;1;1;1;1;1;1});)-1;7);8-COLUMN(A1);1)+1)
Светлый , все правильно я потом решил почистить.оптимизацией не занимался
за тебя Microsoft 'это делал :-) а мне пришлосьКод
=MID($B3; COLUMN(A1)+LEN(SUBSTITUTE(RIGHT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$256)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$256)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$256)-1);0;))=LEN($B3));{1;1;1;1;1;1;1});)-1);COLUMN(A1)-1);0;)); MID(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$256)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$256)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$256)-1);0;))=LEN($B3));{1;1;1;1;1;1;1});)-1;7);8-COLUMN(A1);1)+1)
bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Среда, 20.09.2023, 12:54
Ответить
Сообщение Светлый , все правильно я потом решил почистить.оптимизацией не занимался
за тебя Microsoft 'это делал :-) а мне пришлосьКод
=MID($B3; COLUMN(A1)+LEN(SUBSTITUTE(RIGHT(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$256)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$256)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$256)-1);0;))=LEN($B3));{1;1;1;1;1;1;1});)-1);COLUMN(A1)-1);0;)); MID(DEC2BIN(MATCH(7;MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$256)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$256)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$256)-1);0;))=LEN($B3));{1;1;1;1;1;1;1});)-1;7);8-COLUMN(A1);1)+1)
Автор - bmv98rus Дата добавления - 20.09.2023 в 12:45
прохожий2019
Дата: Среда, 20.09.2023, 12:56 |
Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1301
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
за тебя Microsoft 'это делал
дать возможность написать короче и оптимизировать работу - немножко разные вещи, 365-ые не такие быстрые, поверь
за тебя Microsoft 'это делал
дать возможность написать короче и оптимизировать работу - немножко разные вещи, 365-ые не такие быстрые, поверьпрохожий2019
Ответить
Сообщение за тебя Microsoft 'это делал
дать возможность написать короче и оптимизировать работу - немножко разные вещи, 365-ые не такие быстрые, поверьАвтор - прохожий2019 Дата добавления - 20.09.2023 в 12:56
bmv98rus
Дата: Среда, 20.09.2023, 13:21 |
Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4125
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
прохожий2019 , сравни по скорости с моим вариантом. И нет желания на планету вернуться?
прохожий2019 , сравни по скорости с моим вариантом. И нет желания на планету вернуться?bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение прохожий2019 , сравни по скорости с моим вариантом. И нет желания на планету вернуться?Автор - bmv98rus Дата добавления - 20.09.2023 в 13:21
прохожий2019
Дата: Среда, 20.09.2023, 13:44 |
Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 1301
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
гм... ну да, множить матрицы затратно... )))
Сообщение отредактировал прохожий2019 - Среда, 20.09.2023, 13:44
Ответить
Сообщение гм... ну да, множить матрицы затратно... ))) Автор - прохожий2019 Дата добавления - 20.09.2023 в 13:44
Светлый
Дата: Среда, 20.09.2023, 20:47 |
Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1852
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
Пересмотрел методику. Разбивка в голубых ячейках. Номер допустимого варианта в столбце J. Формула массива:Код
=ИНДЕКС(ПСТР($B3;ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;))+СТОЛБЕЦ($A:$G);ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1);НАИМЕНЬШИЙ(ЕСЛИ((МУМНОЖ(-(31-(0&ПСТР($B3;ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;))+СТОЛБЕЦ($A:$G);ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1))<0);СТРОКА(1:7))=0)*(ДЛСТР($B3)-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);0;))=7);СТРОКА($1:$128));$J3+1);СТОЛБЕЦ(A3))
Пересмотрел методику. Разбивка в голубых ячейках. Номер допустимого варианта в столбце J. Формула массива:Код
=ИНДЕКС(ПСТР($B3;ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;))+СТОЛБЕЦ($A:$G);ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1);НАИМЕНЬШИЙ(ЕСЛИ((МУМНОЖ(-(31-(0&ПСТР($B3;ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;))+СТОЛБЕЦ($A:$G);ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1))<0);СТРОКА(1:7))=0)*(ДЛСТР($B3)-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);0;))=7);СТРОКА($1:$128));$J3+1);СТОЛБЕЦ(A3))
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение Пересмотрел методику. Разбивка в голубых ячейках. Номер допустимого варианта в столбце J. Формула массива:Код
=ИНДЕКС(ПСТР($B3;ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;))+СТОЛБЕЦ($A:$G);ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1);НАИМЕНЬШИЙ(ЕСЛИ((МУМНОЖ(-(31-(0&ПСТР($B3;ДЛСТР(ПОДСТАВИТЬ(ПРАВБ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;))+СТОЛБЕЦ($A:$G);ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1))<0);СТРОКА(1:7))=0)*(ДЛСТР($B3)-ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);0;))=7);СТРОКА($1:$128));$J3+1);СТОЛБЕЦ(A3))
Автор - Светлый Дата добавления - 20.09.2023 в 20:47
bmv98rus
Дата: Среда, 20.09.2023, 22:38 |
Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4125
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
Светлый , обоснуйте почему 128 ? Результат верен, и даже в моей формуле если изменить, но почему половина вариантов?
Светлый , обоснуйте почему 128 ? Результат верен, и даже в моей формуле если изменить, но почему половина вариантов?bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение Светлый , обоснуйте почему 128 ? Результат верен, и даже в моей формуле если изменить, но почему половина вариантов?Автор - bmv98rus Дата добавления - 20.09.2023 в 22:38
Светлый
Дата: Среда, 20.09.2023, 22:44 |
Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1852
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
Всего семь чисел, для каждого из них 2 состояния, 0-1 символ, 1-2 символа. 2^7=128 вариантов. 0=0000000, 127=1111111 и все промежуточные.
Всего семь чисел, для каждого из них 2 состояния, 0-1 символ, 1-2 символа. 2^7=128 вариантов. 0=0000000, 127=1111111 и все промежуточные. Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Среда, 20.09.2023, 22:45
Ответить
Сообщение Всего семь чисел, для каждого из них 2 состояния, 0-1 символ, 1-2 символа. 2^7=128 вариантов. 0=0000000, 127=1111111 и все промежуточные. Автор - Светлый Дата добавления - 20.09.2023 в 22:44
bmv98rus
Дата: Среда, 20.09.2023, 22:47 |
Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4125
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
ВОТ ЭТО Я ТУПАНУЛ. Почему 2^8 взял - даже не знаю.
ВОТ ЭТО Я ТУПАНУЛ. Почему 2^8 взял - даже не знаю. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Ответить
Сообщение ВОТ ЭТО Я ТУПАНУЛ. Почему 2^8 взял - даже не знаю. Автор - bmv98rus Дата добавления - 20.09.2023 в 22:47
прохожий2019
Дата: Среда, 20.09.2023, 23:08 |
Сообщение № 18
Группа: Проверенные
Ранг: Старожил
Сообщений: 1301
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
кстати о полном переборе... [vba]Код
=LET(x;ТЕКСТ(B28;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ДЕС.В.ДВ(ПОСЛЕД(128;;0);7);"0";"0\;");"1";"00\;"));y;ЛЕВБ(x;ДЛСТР(x)-1);z;ФИЛЬТР(y;MAP(y;LAMBDA(i;МАКС(ЕСЛИОШИБКА(--ТЕКСТРАЗД(i;";");0))<=31)));ИНДЕКС(z;1))
[/vba]
кстати о полном переборе... [vba]Код
=LET(x;ТЕКСТ(B28;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ДЕС.В.ДВ(ПОСЛЕД(128;;0);7);"0";"0\;");"1";"00\;"));y;ЛЕВБ(x;ДЛСТР(x)-1);z;ФИЛЬТР(y;MAP(y;LAMBDA(i;МАКС(ЕСЛИОШИБКА(--ТЕКСТРАЗД(i;";");0))<=31)));ИНДЕКС(z;1))
[/vba] прохожий2019
Ответить
Сообщение кстати о полном переборе... [vba]Код
=LET(x;ТЕКСТ(B28;ПОДСТАВИТЬ(ПОДСТАВИТЬ(ДЕС.В.ДВ(ПОСЛЕД(128;;0);7);"0";"0\;");"1";"00\;"));y;ЛЕВБ(x;ДЛСТР(x)-1);z;ФИЛЬТР(y;MAP(y;LAMBDA(i;МАКС(ЕСЛИОШИБКА(--ТЕКСТРАЗД(i;";");0))<=31)));ИНДЕКС(z;1))
[/vba] Автор - прохожий2019 Дата добавления - 20.09.2023 в 23:08
bmv98rus
Дата: Среда, 20.09.2023, 23:27 |
Сообщение № 19
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4125
Репутация:
769
±
Замечаний:
0% ±
Excel 2013/2016
А мы по старинке вот такКод
=LOOKUP(2;1/(7= MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$128)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$128)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$128)-1);0;))=LEN($B3));{1;1;1;1;1;1;1})); MID($B3;COLUMN(A1)+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$128)-1);COLUMN(A1)-1);0;));1+MID(DEC2BIN(ROW($1:$128)-1;7);8-COLUMN(A1);1)))
на треть быстрее чем у светлого, но у него подсмотрел что генерировать варианты можно сразу ка не вычислять дважды подходящий.
А мы по старинке вот такКод
=LOOKUP(2;1/(7= MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$128)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$128)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$128)-1);0;))=LEN($B3));{1;1;1;1;1;1;1})); MID($B3;COLUMN(A1)+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$128)-1);COLUMN(A1)-1);0;));1+MID(DEC2BIN(ROW($1:$128)-1;7);8-COLUMN(A1);1)))
на треть быстрее чем у светлого, но у него подсмотрел что генерировать варианты можно сразу ка не вычислять дважды подходящий. bmv98rus
Замечательный Временно просто медведь , процентов на 20 .
Сообщение отредактировал bmv98rus - Среда, 20.09.2023, 23:28
Ответить
Сообщение А мы по старинке вот такКод
=LOOKUP(2;1/(7= MMULT(IFERROR(--(MID($B3;{1\2\3\4\5\6\7}+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$128)-1);{0\1\2\3\4\5\6});0;));MID(DEC2BIN(ROW($1:$128)-1;7);{7\6\5\4\3\2\1};1)+1)-32<0);)*(7+LEN(SUBSTITUTE(DEC2BIN(ROW($1:$128)-1);0;))=LEN($B3));{1;1;1;1;1;1;1})); MID($B3;COLUMN(A1)+LEN(SUBSTITUTE(RIGHT(DEC2BIN(ROW($1:$128)-1);COLUMN(A1)-1);0;));1+MID(DEC2BIN(ROW($1:$128)-1;7);8-COLUMN(A1);1)))
на треть быстрее чем у светлого, но у него подсмотрел что генерировать варианты можно сразу ка не вычислять дважды подходящий. Автор - bmv98rus Дата добавления - 20.09.2023 в 23:27
Светлый
Дата: Четверг, 21.09.2023, 08:21 |
Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1852
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
bmv98rus , можно избавиться от ЕСЛИОШИБКА:Код
=ПРОСМОТР(2;1/(7= МУМНОЖ(--((0&ПСТР($B3;{1;2;3;4;5;6;7}+ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1))-32<0)*(7+ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);0;))=ДЛСТР($B3));{1:1:1:1:1:1:1})); ПСТР($B3;СТОЛБЕЦ(A1)+ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);СТОЛБЕЦ(A1)-1);0;));1+ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);8-СТОЛБЕЦ(A1);1)))
bmv98rus , можно избавиться от ЕСЛИОШИБКА:Код
=ПРОСМОТР(2;1/(7= МУМНОЖ(--((0&ПСТР($B3;{1;2;3;4;5;6;7}+ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1))-32<0)*(7+ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);0;))=ДЛСТР($B3));{1:1:1:1:1:1:1})); ПСТР($B3;СТОЛБЕЦ(A1)+ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);СТОЛБЕЦ(A1)-1);0;));1+ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);8-СТОЛБЕЦ(A1);1)))
Светлый
Программировать проще, чем писать стихи.
Ответить
Сообщение bmv98rus , можно избавиться от ЕСЛИОШИБКА:Код
=ПРОСМОТР(2;1/(7= МУМНОЖ(--((0&ПСТР($B3;{1;2;3;4;5;6;7}+ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);{0;1;2;3;4;5;6});0;));ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);{7;6;5;4;3;2;1};1)+1))-32<0)*(7+ДЛСТР(ПОДСТАВИТЬ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);0;))=ДЛСТР($B3));{1:1:1:1:1:1:1})); ПСТР($B3;СТОЛБЕЦ(A1)+ДЛСТР(ПОДСТАВИТЬ(ПРАВСИМВ(ДЕС.В.ДВ(СТРОКА($1:$128)-1);СТОЛБЕЦ(A1)-1);0;));1+ПСТР(ДЕС.В.ДВ(СТРОКА($1:$128)-1;7);8-СТОЛБЕЦ(A1);1)))
Автор - Светлый Дата добавления - 21.09.2023 в 08:21