последовательный перебор 3 букв из 6 доступных букв
zh3rtwa
Дата: Пятница, 08.11.2024, 10:12 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
2108
Здраствуйте. у меня имеются доступными 6 букв "A B C D E F" и нужно, что бы EXCEL из этих букв перебирал по очереди по 3 буквы всеми доступными вариантами. Например AAA, AAB, AAC...ABA и так далее и нужно перебрать все 6 букв и что бы все результаты показались в таблице.... как это можно сделать, подскажите пожалуйста...
Здраствуйте. у меня имеются доступными 6 букв "A B C D E F" и нужно, что бы EXCEL из этих букв перебирал по очереди по 3 буквы всеми доступными вариантами. Например AAA, AAB, AAC...ABA и так далее и нужно перебрать все 6 букв и что бы все результаты показались в таблице.... как это можно сделать, подскажите пожалуйста... zh3rtwa
Ответить
Сообщение Здраствуйте. у меня имеются доступными 6 букв "A B C D E F" и нужно, что бы EXCEL из этих букв перебирал по очереди по 3 буквы всеми доступными вариантами. Например AAA, AAB, AAC...ABA и так далее и нужно перебрать все 6 букв и что бы все результаты показались в таблице.... как это можно сделать, подскажите пожалуйста... Автор - zh3rtwa Дата добавления - 08.11.2024 в 10:12
Nic70y
Дата: Пятница, 08.11.2024, 10:51 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9000
Репутация:
2367
±
Замечаний:
0% ±
Excel 2010
Код
=СИМВОЛ(ОКРУГЛВВЕРХ(СТРОКА(A1)/36;)+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)
Код
=СИМВОЛ(ОКРУГЛВВЕРХ(СТРОКА(A1)/36;)+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)
Nic70y
ЮMoney 41001841029809
Ответить
Сообщение Код
=СИМВОЛ(ОКРУГЛВВЕРХ(СТРОКА(A1)/36;)+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)
Автор - Nic70y Дата добавления - 08.11.2024 в 10:51
zh3rtwa
Дата: Пятница, 08.11.2024, 11:35 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
2108
Nic70y , Спасибо, работает, но оно все вниз делает, а я в ручную сделал и по столбцам в каждую букву столбца свои варианты сделал и по ходу печатания программа сама предлаегает сделать вариант вставки... но ваш вариант быстрый конечно, но не знаю как разделить по столбцам, например для A свои значения мз 3 букв, для B свои значения из 3 букв... но спасибо оч быстро сделалось, но немного неудобно....
Nic70y , Спасибо, работает, но оно все вниз делает, а я в ручную сделал и по столбцам в каждую букву столбца свои варианты сделал и по ходу печатания программа сама предлаегает сделать вариант вставки... но ваш вариант быстрый конечно, но не знаю как разделить по столбцам, например для A свои значения мз 3 букв, для B свои значения из 3 букв... но спасибо оч быстро сделалось, но немного неудобно....zh3rtwa
Ответить
Сообщение Nic70y , Спасибо, работает, но оно все вниз делает, а я в ручную сделал и по столбцам в каждую букву столбца свои варианты сделал и по ходу печатания программа сама предлаегает сделать вариант вставки... но ваш вариант быстрый конечно, но не знаю как разделить по столбцам, например для A свои значения мз 3 букв, для B свои значения из 3 букв... но спасибо оч быстро сделалось, но немного неудобно....Автор - zh3rtwa Дата добавления - 08.11.2024 в 11:35
Gustav
Дата: Пятница, 08.11.2024, 11:41 |
Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация:
1160
±
Замечаний:
±
начинал с Excel 4.0, видел 2.1
Если дальше F букв не предвидится, то можно задействовать шестнадцатиричную арифметику. Формула для последних версий Excel (отлажена в Google Sheets): [vba]Код
=LET( _from; HEX2DEC("AAA"); _to; HEX2DEC("FFF"); _map; MAP(SEQUENCE(_to-_from+1;1;_from); LAMBDA(_x; DEC2HEX(_x))); FILTER(_map; REGEXMATCH(_map;"\D\D\D")) )
[/vba] Вводится в одну единственную ячейку и вниз по столбцу саморазворачивается сама.
Если дальше F букв не предвидится, то можно задействовать шестнадцатиричную арифметику. Формула для последних версий Excel (отлажена в Google Sheets): [vba]Код
=LET( _from; HEX2DEC("AAA"); _to; HEX2DEC("FFF"); _map; MAP(SEQUENCE(_to-_from+1;1;_from); LAMBDA(_x; DEC2HEX(_x))); FILTER(_map; REGEXMATCH(_map;"\D\D\D")) )
[/vba] Вводится в одну единственную ячейку и вниз по столбцу саморазворачивается сама. Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Если дальше F букв не предвидится, то можно задействовать шестнадцатиричную арифметику. Формула для последних версий Excel (отлажена в Google Sheets): [vba]Код
=LET( _from; HEX2DEC("AAA"); _to; HEX2DEC("FFF"); _map; MAP(SEQUENCE(_to-_from+1;1;_from); LAMBDA(_x; DEC2HEX(_x))); FILTER(_map; REGEXMATCH(_map;"\D\D\D")) )
[/vba] Вводится в одну единственную ячейку и вниз по столбцу саморазворачивается сама. Автор - Gustav Дата добавления - 08.11.2024 в 11:41
Nic70y
Дата: Пятница, 08.11.2024, 11:44 |
Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9000
Репутация:
2367
±
Замечаний:
0% ±
Excel 2010
zh3rtwa , вот для этого и нужен файл-пример, как в правилах описаноКод
=СИМВОЛ(СТОЛБЕЦ()+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)
zh3rtwa , вот для этого и нужен файл-пример, как в правилах описаноКод
=СИМВОЛ(СТОЛБЕЦ()+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)
Nic70y
ЮMoney 41001841029809
Ответить
Сообщение zh3rtwa , вот для этого и нужен файл-пример, как в правилах описаноКод
=СИМВОЛ(СТОЛБЕЦ()+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)
Автор - Nic70y Дата добавления - 08.11.2024 в 11:44
zh3rtwa
Дата: Пятница, 08.11.2024, 12:16 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация:
0
±
Замечаний:
0% ±
2108
Nic70y , круто ))) ппц
Ответить
Сообщение Nic70y , круто ))) ппцАвтор - zh3rtwa Дата добавления - 08.11.2024 в 12:16
прохожий2019
Дата: Пятница, 08.11.2024, 15:08 |
Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1298
Репутация:
327
±
Замечаний:
0% ±
365 Beta Channel
Код
=MAP(ОСНОВАНИЕ(ПОСЛЕД(6^3;;0);6;3);LAMBDA(x;СЦЕП(СИМВОЛ(ПСТР(x;{1;2;3};1)+65))))
по разным столбцамКод
=ТРАНСП(MAP(ОСНОВАНИЕ(ПОСЛЕД(6;6^2;0);6;3);LAMBDA(x;СЦЕП(СИМВОЛ(ПСТР(x;{1;2;3};1)+65)))))
ну и если "последние версии" обязательно ассоциируются с LET - вариант с возможностью задать число букв (в пределах десяти, разумеется) и их количество:Код
=LET(x;A1;y;A2;MAP(ОСНОВАНИЕ(ПОСЛЕД(x^y;;0);x;y);LAMBDA(z;СЦЕП(СИМВОЛ(ПСТР(z;ПОСЛЕД(y);1)+65)))))
Код
=MAP(ОСНОВАНИЕ(ПОСЛЕД(6^3;;0);6;3);LAMBDA(x;СЦЕП(СИМВОЛ(ПСТР(x;{1;2;3};1)+65))))
по разным столбцамКод
=ТРАНСП(MAP(ОСНОВАНИЕ(ПОСЛЕД(6;6^2;0);6;3);LAMBDA(x;СЦЕП(СИМВОЛ(ПСТР(x;{1;2;3};1)+65)))))
ну и если "последние версии" обязательно ассоциируются с LET - вариант с возможностью задать число букв (в пределах десяти, разумеется) и их количество:Код
=LET(x;A1;y;A2;MAP(ОСНОВАНИЕ(ПОСЛЕД(x^y;;0);x;y);LAMBDA(z;СЦЕП(СИМВОЛ(ПСТР(z;ПОСЛЕД(y);1)+65)))))
прохожий2019
Сообщение отредактировал прохожий2019 - Пятница, 08.11.2024, 16:59
Ответить
Сообщение Код
=MAP(ОСНОВАНИЕ(ПОСЛЕД(6^3;;0);6;3);LAMBDA(x;СЦЕП(СИМВОЛ(ПСТР(x;{1;2;3};1)+65))))
по разным столбцамКод
=ТРАНСП(MAP(ОСНОВАНИЕ(ПОСЛЕД(6;6^2;0);6;3);LAMBDA(x;СЦЕП(СИМВОЛ(ПСТР(x;{1;2;3};1)+65)))))
ну и если "последние версии" обязательно ассоциируются с LET - вариант с возможностью задать число букв (в пределах десяти, разумеется) и их количество:Код
=LET(x;A1;y;A2;MAP(ОСНОВАНИЕ(ПОСЛЕД(x^y;;0);x;y);LAMBDA(z;СЦЕП(СИМВОЛ(ПСТР(z;ПОСЛЕД(y);1)+65)))))
Автор - прохожий2019 Дата добавления - 08.11.2024 в 15:08
Светлый
Дата: Воскресенье, 10.11.2024, 23:31 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация:
523
±
Замечаний:
0% ±
Excel 2013, 2016
Можно ещё так:Код
=ОСНОВАНИЕ(СУММ((10+ПСТР(ОСНОВАНИЕ(СТРОКА()-1;6;3);{1;2;3};1))*{256;16;1});16;3)
Код
=ОСНОВАНИЕ(СУММ((ОСТАТ(ОТБР((СТРОКА()-1)/{1;6;36});6)+10)*{1;16;256});16;3)
*С разбивкой по столбцам:Код
=ОСНОВАНИЕ(СУММ(СТОЛБЕЦ(J1)*256;(ОСТАТ(ОТБР((СТРОКА()-1)/{1;6});6)+10)*{1;16});16;3)
Можно ещё так:Код
=ОСНОВАНИЕ(СУММ((10+ПСТР(ОСНОВАНИЕ(СТРОКА()-1;6;3);{1;2;3};1))*{256;16;1});16;3)
Код
=ОСНОВАНИЕ(СУММ((ОСТАТ(ОТБР((СТРОКА()-1)/{1;6;36});6)+10)*{1;16;256});16;3)
*С разбивкой по столбцам:Код
=ОСНОВАНИЕ(СУММ(СТОЛБЕЦ(J1)*256;(ОСТАТ(ОТБР((СТРОКА()-1)/{1;6});6)+10)*{1;16});16;3)
Светлый
Программировать проще, чем писать стихи.
Сообщение отредактировал Светлый - Воскресенье, 10.11.2024, 23:44
Ответить
Сообщение Можно ещё так:Код
=ОСНОВАНИЕ(СУММ((10+ПСТР(ОСНОВАНИЕ(СТРОКА()-1;6;3);{1;2;3};1))*{256;16;1});16;3)
Код
=ОСНОВАНИЕ(СУММ((ОСТАТ(ОТБР((СТРОКА()-1)/{1;6;36});6)+10)*{1;16;256});16;3)
*С разбивкой по столбцам:Код
=ОСНОВАНИЕ(СУММ(СТОЛБЕЦ(J1)*256;(ОСТАТ(ОТБР((СТРОКА()-1)/{1;6});6)+10)*{1;16});16;3)
Автор - Светлый Дата добавления - 10.11.2024 в 23:31