Wątek przeniesiony 2016-12-22 11:28 z Off-Topic przez furious programming.

Excel - stworzenie bazy klientów na podstawie 50 plików

0

Witajcie,
Mój temat nie jest związany z programowaniem, więc myślę, że ten dział jest dla niego najbardziej odpowiedni.
Mam 50 plików Excel z danymi, każdy plik jest z innego dnia. W każdym pliku jest lista klientów, do której w danym dniu wyjeżdża towar (około 500 klientów dziennie) wraz z wartością każdego zamówienia. Dostawy do klientów odbywają się co tydzień, więc spora część klientów z pliku z datą wskazującą na na przykład jakiś poniedziałek pokrywa się z listą z pliku z datą następnego poniedziałku. Rozbieżności w plikach z tego samego dnia tygodnia mogą wynikać z tego, że w jeden poniedziałek część klientów nie zamówiła towaru, a w następny poniedziałek zamówili, natomiast jacyś jeszcze inni mogli nie dokonać zamówienia.
50 plików to 50 dni, co przy 5 dniach roboczych daję 10 tygodni. W tym okresie raczej wszyscy klienci dokonali chociaż raz zamówienia, więc suma plików daje bazę wszystkich klientów. Potrzebuje taką bazę wyciągnąć do jednego pliku, najlepiej ze średnią wartością dokonanych zamówień. Jeśli miałbym np wszystkie poniedziałki porównywać ręcznie, to ogarnięcie wszystkich dni tygodnia pochłonęłoby bardzo dużo czasu. Niestety nie wiem jak w Excelu się za to zabrać, bo moje obecne umiejętności w nim kończą się na funkcji typu licz.jeżeli.
Ogarniam trochę JS (w tym Node.js), PHP i ewentualnie akademicki poziom C++. Chcąc użyć np JS, to pierwszy pomysł jaki mi przyszedł wydaje się dość prosty-przynajmniej w teorii: stworzyć pustą tablica obiektów będącą końcową bazą danych. Importować kolejno dane z każdego dnia po kolei (czyli kolejno z każdego pliku) do JS, dla każdego klienta z danego dnia zrobić obiekt zawierający jego nazwę i wartość zamówienia, następie z całej listy zrobić tablice obiektów. Następnie tablicę obiektów przekazać do funkcji, która będzie iterowała po elementach tablicy i sprawdzi, czy obiekt o danej nazwie znajduje się już w tablicy będącą bazą danych. Jeśli nie, to go doda - jeśli znajduje się, to przejdzie dalej.
Mój wątek powstał stąd, że chyba raczej prościej będzie zrobić to w Excelu i po prostu, że raczej należałoby to zrobić w Excelu, tylko jak wcześniej wspominałem nie do końca wiem jak się za to zabrać. Prosiłbym jedynie o nakierowanie, pod jakimi frazami powinienem przeszukiwać google. Z góry dziękuje.

1

Faktycznie, chyba w Excelu bedzie szybciej. przejzalam troche artykulow na szybko i wszyscy sugeruja utworzenie jednego folderu z wszystkimi plikami, ktore maja byc polaczone plus utworzenie w oddzielnym folderze pliku, ktory bedzie wynikowym.
Nastepnie do tego wynikowego pliku trzeba dodac skrypt, ktory przeiteruje pliki we wskazanym folderze i skopiuje dane do wynikowego pliku.

Zobacz tu http://www.mrexcel.com/forum/excel-questions/298659-using-visual-basic-applications-scripts-combine-multiple-workbooks-single-worksheet-single-workbook-multiple-worksheets.html i tu https://msdn.microsoft.com/en-us/library/office/gg549168(v=office.14).aspx

0

rezczy tego typu WG. MNIE najszybciej i najprzyjemniej to do excella + jakieś VBA do automatyzacji jakiś tam rzeczy

1 użytkowników online, w tym zalogowanych: 0, gości: 1