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

Вход

Регистрация

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

 

= Мир MS Excel/последовательный перебор 3 букв из 6 доступных букв - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
последовательный перебор 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
Дата добавления - 08.11.2024 в 10:12
Nic70y Дата: Пятница, 08.11.2024, 10:51 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9029
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
Код
=СИМВОЛ(ОКРУГЛВВЕРХ(СТРОКА(A1)/36;)+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)


Ю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
Дата добавления - 08.11.2024 в 11:35
Gustav Дата: Пятница, 08.11.2024, 11:41 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1184 ±
Замечаний: ±

начинал с 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]
Вводится в одну единственную ячейку и вниз по столбцу саморазворачивается сама.


МОИ: Ник, 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
Группа: Друзья
Ранг: Экселист
Сообщений: 9029
Репутация: 2374 ±
Замечаний: 0% ±

Excel 2010
zh3rtwa, вот для этого и нужен файл-пример, как в правилах описано
Код
=СИМВОЛ(СТОЛБЕЦ()+64)&СИМВОЛ(ОСТАТ(ОКРУГЛВВЕРХ(СТРОКА(A1)/6;)-1;6)+65)&СИМВОЛ(ОСТАТ(СТРОКА(A1)-1;6)+65)


Ю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
Группа: Проверенные
Ранг: Старожил
Сообщений: 1299
Репутация: 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)))))
К сообщению приложен файл: bukvy.xlsx (12.6 Kb)


Сообщение отредактировал прохожий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.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
  • Страница 1 из 1
  • 1
Поиск:

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