A nie lepiej użyć funkcji wyszukiwania pionowego? Robisz coś w tym stylu: =wyszukaj.pionowo(nazwisko_w_pliku_1;tabela_z_danymi_w_pliku_2;numer_kolumny_w_której_znajduje_sie_numer_telefonu;FAŁSZ_czyli_dopasowanie_dokładne).
Oczywiście najlepiej zerknąć na to na konkretnym przykładzie. Może podwiesisz gdzieś pliki z przykładowymi danymi?
Przykładowe pliki to już ustaliliśmy na priv, bo nie może kolega za dużo oficjalnie pisać. Jakaś instytucja państwowa Tylko Tomek musi dodać na forum xls, czy jak się te nowe pliki z excela rozszerzają.
W pliku pierwszym formuła dla komórki B2 wygląda tak: =WYSZUKAJ.PIONOWO(A2;[Zeszyt2.xlsx]Arkusz1!$A$2:$C$21;3;FAŁSZ),
zaś dla komórki B3 tak: =WYSZUKAJ.PIONOWO(A3;[Zeszyt2.xlsx]Arkusz1!$A$2:$C$21;3;FAŁSZ)
Zmienia się oczywiście tylko pierwszy argument funkcji, bo wyszukujemy kolejne nazwiska. Gdy zamkniemy drugi z plików, Excel przemieni formułę na adresowanie bezwzględne do lokalizacji pliku i otrzymamy dla B2 taką formułę: =WYSZUKAJ.PIONOWO(A2;'C:\Users\Dimatheus\Desktop\[Zeszyt2.xlsx]Arkusz1'!$A$2:$C$21;3;FAŁSZ)
“[baza stara.xls]Zeszyt1!.$C$2:$Y$9999” - zaznaczenie fragmentu na starej bazie z zablokowaniem zmiany obszaru $.
Tylko nie wiem jak uratować te dwa ręcznie wpisane numery (kolumną poboczną / makrem). Chyba wystarczająco zadziała aktywne inteligentne sortowanie i ustawienie go na widoczność pustych pół.
Na początku próbowałem ogarnąć jak to działa i dlaczego Calc głupieje i wszędzie zgłaszał błąd.
W kolumnie C są pesele (obu); po 5 i 3 rekordach trudno określić czy w bazie są osoby bez niego i mają w miarę unikalne nazwisko (wolałem nie sprawdzać co się dzieje jak jest dziesięciu Kowalskich i każdy z innym numerem i może dwóch z takim samym imieniem, wtedy pewnie pomógł by zakres zamiast konkretnej komórki do momentu aż obie się nie powtórzą).
Jeszcze jedną sprawę mam jak już zawracam wam głowę starałem się funkcję datę zrobić
przykład
w dniu 12.01.2010 było szkolenie które jest ważne 10 lat czyli żeby obok w kolumnie z automatu wyliczyło mi że ma być 12.01.2010 czytałem coś że trzeba miesiące dodawać nie wiem łatwiej było mi wpisywać recznie bo tylko parę takich sytuacji miałem ale tak na przyszłość może mi się przyda
z góry dziękuję za fatygę
Do pliku dodałem odpowiednie formuły. Załączam poniżej w spakowanym archiwum. Pliki.zip (10,0 KB)
Generalnie można w formule dodać jeszcze jeden warunek, żeby w przypadku, gdy nie uda się znaleźć odpowiednich danych pojawiał się komunikat, że dane nie zostały znalezione. Wtedy zamiast takiej formuły: =WYSZUKAJ.PIONOWO(C2;'[stara baza.xls]Sheet1'!$C$2:$Z$13;23;FAŁSZ)
będzie taka: =JEŻELI.BŁĄD(WYSZUKAJ.PIONOWO(C2;'[stara baza.xls]Sheet1'!$C$2:$Z$13;23;FAŁSZ);"Brak danych w bazie")
Tutaj w sumie można łatwo dodać 10 lat korzystając z formuły DATA, wyglądać ona będzie tak (przy założeniu, że data wykonania badań jest w kolumnie X, a długość ważności badań definiujemy wartością lat w komórce AC2): =DATA(ROK(X2)+$AC$2;MIESIĄC(X2);DZIEŃ(X2))
Aczkolwiek pomyślałem, że w sytuacji, gdy badania będą wykonane w dniu 29 lutego (na przykład w dniu 2012-02-29), to dodanie 10 lat spowoduje, że pojawi się data ważności 2022-03-01. Da się to ominąć, stosując dodatkowe formuły zabezpieczające, która po wykryciu, że mamy datę 29 lutego i ustawioną ilość lat na wielokrotność 4, zmodyfikują formułę tak, by pojawiła się data 29 lutego, a w przypadku ilości lat nie będących wielokrotnością 4, wskaże datę 28 lutego. Wtedy będzie to wyglądać mniej więcej tak: =JEŻELI(ORAZ(DZIEŃ(X2)=29;MIESIĄC(X2)=2;MOD($AC$2;4)=0);DATA(ROK(X2)+$AC$2;MIESIĄC(X2);DZIEŃ(X2));JEŻELI(ORAZ(DZIEŃ(X2)=29;MIESIĄC(X2)=2;MOD($AC$2;4)<>0);DATA(ROK(X2)+$AC$2;MIESIĄC(X2);DZIEŃ(X2)-1);DATA(ROK(X2)+$AC$2;MIESIĄC(X2);DZIEŃ(X2))))
W pliku bazy w komórkach zaznaczonych na żółto znajduje się taka zmodyfikowana formuła, w dwóch niższych komórkach formuła bez zabezpieczeń związanych z rokiem przestępnym.
Dziękuję bardzo o to chodziło teraz i ja zrozumiałem funkcję wyszukaj pionowo
Dziękuję bardzo za pomoc.
hmmm muszę jakiś kurs zrobić sobie z funkcji fajne są i przydatne a człowiek nie wie nawet że automat może za niego to zrobić a nie męczy się.
Jak tak szalejemy to jeszcze jedna do głowy rzecz mi przychodzi jak zrobić by w nowej bazie w zakładce jakiejś nowej np termin ważności badań wyświetłały mi się osoby w którym np za 6 miesięcy kończą się badania i była możliwość że jak przejdzie badania i wpiszę dane w tej zakładce co wyświetla się by dane synchronizowały się z bazą główną i znikał automatycznie z tej listy
ale to już nadprogramowe ;p
choć ciekawe było by to
Tutaj już musielibyśmy zastosować VBA i napisać makro, które robiłoby takie zestawienie. Jeśli chodzi o same funkcje Excela, to można posiłkować się na przykład filtrowaniem danych oraz formatowaniem warunkowym. Dodaję formułę do formatowania warunkowego o treści: =AA2-DZIŚ()<30
i na czerwono podświetlają się wszystkie badania, których termin kończy się poniżej 30 dni od bieżącej daty.
Dziękuję za pomoc znalazłem parę błędów pracując na docelowej bazie
jak korzystam z funkcji wyszukaj pionowo (w pliku w 1 arkuszu aktualna baza dane pobierane z 2 arkusza ) jak usuwam ten już niepotrzebny arkusz to tracę wszystkie dane w nowej bazie…
Można też posłużyć się kopiowaniem - zaznaczasz zakres z danymi zaciągniętymi przez funkcje, kopiujesz je używając Ctrl+C, następnie wklejasz specjalnie wybierając opcję Wartości.
Ewentualnie zerwanie łącz. Zakładka Dane i przycisk Edytuj linki. W wyświetlonym oknie wybierasz opcję Przerwij link i formuły przerabiają się na wartości.
hmmm mam kolejny problem z listy rozwijanej zrobiłem wybór kursów
kurs 1
kurs 2
kurs 3
każdy kurs jest ważny określony czas i by mieć 2 trzeba zaliczyć 1 i analogicznie by mieć 3 trzeba zaliczyć 2 i 1
kurs 1 / 10 lat
kurs 2 / 5 lat
kurs 3 / 7 lat
I chciałbym by po wybraniu danego kursu np uczestnik kursu 3 z automatu wyliczyło mu że w kolumnie jednej kurs 3 ważny jest do danego roku tak samo w innej kolumnie kurs 2 oraz 1 do którego roku, wybierając kurs 2 by w kolumnach pokazywało ważność kursu 2 oraz 1 jak to ugryźć?
Wszystko da się ugryźć. Ale w tej chwili nie potrafię dokładnie wyczytać, czego oczekujesz.
Wszystkie kursy będą wpisywane dla każdej osoby?
Terminy ważności kursów się dodają czy zawierają w sobie?
Może dorzuciłbyś przykład w formatce z danymi i pokazał, gdzie co wpisujesz i gdzie chcesz, by określona formuła wskazała jaką wartość. Oczywiście Ty wpiszesz wartości, ja zamienię je na formuły…