Wpis z mikrobloga

Mireczki potrzebny Mistrz #excel. Mam taki problem, robię konfigurator kasetonów LED(#grafika3d), że potrzebuję zrobić kombinację bez powtórzeń wszystkich możliwych wersji takiego kasetonu(obrazek poniżej).

Przykładowe kombinacje:
Prostokąt CZARNY Z PODŚWIETLENIEM G.NIEBIESKIE
Koło GRAFIKA 3 BEZ PODŚWIETLENIA G.BIAŁE

Czy wiecie jak to zrobić w excelu albo znacie jakieś narzędzie online?

#matematyka #kombinacje #problem #office
niedzviadek - Mireczki potrzebny Mistrz #excel. Mam taki problem, robię konfigurator ...

źródło: comment_evvFumnzzTOb3UsBUCaJ06hjfNAO1Zur.jpg

Pobierz
  • 13
@niedzviadek: na szybko taka formule:

Punkt 1.

'=IF(ROW()-ROW($F$1)+1>COUNTA(A:A)*COUNTA(B:B),"",INDEX(A:A,INT((ROW()-ROW($F$1))/COUNTA(B:B)+1))&INDEX(B:B,MOD(ROW()-ROW($F$1),COUNTA(B:B))+1))

Punkt 2.

Wstaw wszystko w kolumny A, B, C, D
Formule wstawiwazs do kolumny F1 i ciagniesz w dol az zrobi sie pusto. Potem kopiujesz do kolumny G dane z komorki C i wstawiasz formule do kolumny H. Zmieniasz w formule referencje na $H$1 i wszystkie count i indexy na F:F, G:G

Punkt 3.
znowu ciagniesz w dol i powtarzasz Punkt 2gi analogicznie
@niedzviadek:

Jeżeli będzie możliwość szybkiego wygenerowania takich kombinacji


"Szybkie" to pojęcie względne, ale milion wierszy razy 6 kolumn był generowany poniżej 10 sekund.

tylko nie znam się na programowaniu w ogóle :)


To wrzuć gdzieś przykładowy plik i wyślij mi link.
@niedzviadek: Tu jest przykładowy zrobiony na szybko plik:

http://www.filedropper.com/konfiguratorkombinacje

Jak to działa: jest tam procedura CrossJoin, która ma 2 parametry:
-zakres wejściowy (w przykładowym pliku D4:G11)
-komórka wyjściowa - lewy górny narożnik tabeli wyjściowej

Dodałem przycisk, po który podpięta jest procedura, która automatycznie wyznacza zakres wejściowy i wyjściowy:

Sub test()
Dim rSrc As Range
Dim rTrg As Range

'region zawierający komórkę D3
Set rSrc = Arkusz1.Range("d3").CurrentRegion

'przesunięcie i zmiejszenie zakresu
@niedzviadek: to taka szybka adaptacja istniejącej procedury, jest parę niedociągnięć typu - nie czyści wynikowego zakresu, więc sam musisz o to zadbać, ale zapewniam że zadziała sprawnie nawet dla dużej ilości wierszy