Moje doświadczenia z Excelem, Accesem i programowaniem w VBA
piątek, 19 lutego 2010

Poprzednia notka Funkcje logiczne Excela: Jeżeli... to.... opisywała wstawianie pojedyńczej formuły. Prosty przykład ustalający znak liczby w sąsiedniej komórce z matematycznego punktu widzenia daje nam jednak nieco zafałszowany wynik. Wstawienie w komórce liczby "0" powoduje otrzymanie wyniku "+", a tak naprawdę to wprawdzie zero jest liczbą nieujemną, ale nie jest to wcale tożsame z tym, że jest to liczba dodatnia. Konieczne jest więc rozbudowanie wprowadzonej formuły.
Podstawowe pytanie: B1<0 pozostaje bez zmiany, podobnie jak wartość_jeżeli_prawda. Zmiany dokonujemy w polu wartość_jeżeli_fałsz. W oknie dialogowym formuły wstawiamy więc kolejną funkcję - wybierając ją z okienka po lewej stronie. Domyśłnie pokazują sie tam ostatnio używane funkcje, ale jest też opcja "więcej funkcji".  Wybieramy funkcję "Jeżeli":


funkcja zagnieżdżona

Otwiera się nowe okno dialogowe. Z punktu widzenia algorytmu - uściślamy teraz warunek - jaki ma być wynik formuły, jeżeli w komórce nie ma liczby ujemnej. Najprościej więc ocenić wartość logiczną zdania: B1=0. Jeżeli jest to prawda - to wynik ma być "+/-", jeżeli fałsz - "+".

funkcja zagnieżdżona

W okienku formuły zapis ten wygląda tak:
=JEŻELI(B1<0;"-";JEŻELI(B1=0;"+/-";"+")).

Oczywiście jest to tylko przykład, ilustrujący mechanizm wstawiania funkcji w funkcjach. Takich zagnieżdżeń funkcji i to różnych - można wstawiać więcej. Również w polu test_logiczny.
I najlepiej pobawić się tym samemu. To najlepszy sposób nauki.

czwartek, 18 lutego 2010

Funkcja logiczna "Jeżeli...to..." jest jedną z moich ulubionych i czesto wykorzystywanych. Zsada jej działania jest prosta. Jeżeli jakiś warunek jest spełniony - to komórką z wstawiona formułą ma jedną wartość , jeśli nie jest - inną.

Jeżeli..to...

Wyobraźmy sobie prosty przykład, że komórka A1 ma sprawdzać znak liczby w komórce B1. W  Test_logiczny wpisujemy (można też zaznaczyć komórkę) B1<0. W polu Wartość_jeżeli_prawda "-" (znak minusa w cudzysłowie, gdyż ten minus stanowi w tym przypadku tekstowy znak graficzny. Analogicznie w polu Wartość_jeżeli_fałsz "+".  Potem wystarczy tylko kliknąć przycisk OK.

Zapis  formuły wyglądać będzie tak:
=JEŻELI(B1<0;"-";"+")
Na czerwono zaznaczyłam średniki - oznaczają one koniec poszczególnych pól formuły. Widać ten zapis także w arkuszu, w polu formuły.

Funkcja Jeżeli to

A od strony praktycznej - lubię tę funkcję i często z niej korzystam do tworzenia raportów. W jaki sposób? W pracy sporo pracujemy na udostępnionych plikach Excela na serwerze. Są to arkusze z dużą ilością modyfikowanych i dodawanych danych, nawet ilośc wierszy ulega zmianie. Dołożenie jeszcze dodatkowych raportów - stanowiłoby niepotrzebne obciążenie. Tabeli przestawnej w ogóle nie da się stworzyć i uaktualnić w arkuszu udostępnionym. W takich przypadkach na swoim komputerze tworzę osobny skoroszyt raportów i wstawiam łącza do poszczególnych komórek pliku źródłowego. Problem jednak w tym, że proste łącze:
=[Plik_zrodlowy.xls]Arkusz!$A$1
i analogicznie - w pozostałych komórkach - wszędzie tam, gdzie w pliku źródłowym jest pusta komórka - łącze wskaże "0". Zero jednak też jest wartością i może to całkowicie zafałszować raport. I w tym momencie - korzystam właśnie z funkcji Jeżeli... to...
W pliku raportu, w komórce A1 wstawiam funkcję:
=Jeżeli(Plik_zrodlowy.xls]Arkusz!A1="";"",[Plik_zrodlowy.xls]Arkusz!A1)
Jak to czytać? Jeżeli komórka A1 w pliku żródłowym jest pusta (dwa znaki cudzysłowu obok siebie - "" - to oznaczenie pustego łańcucha tekstowego) - to wynik formuły jest też pusty. W przeciwnym przypadku (wartość jeśli fałsz) - wynkiem komóki jest wartość komórki pliku źródłowego.
Metoda wielokrotnie sprawdzona i wykorzystywana. Nawet nie muszę pilnować ilości wierszy - i tak pokażą się tylko te potrzebne.

wtorek, 16 lutego 2010

Jak wstawić funkcję do komórki?

 W starszych wersjach Excela wygląda to tak:

 wstawianie funkcji

W Excelu 2007 - bardzo podobnie:

wstawianie funkcji

Wybieramy kategorię funkcji, a następnie interesująca nas funkcję.
Spróbujmy zobaczyć to na przykładzie funkcji średniej arytmetycznej

 wstawianie funkcji

W komórce B3 wstawiamy funkcję ŚREDNIA (jedna z funkcji statystycznych). Komórki, z których chcemy wyznaczyć możemy wpisać ręcznie lub - szybciej i wygodniej - zaznaczyć myszką. Wciskając przycisk przejścia do arkusza (na rysunku zaznaczony) - możemy wybrać potrzebną komórkę (lub zakres komórek).

wstawianie funkcji

Jeżeli komórki są obok siebie - można wszystkie je zaznaczyć od razu. Powrót do okna funkcji - poprzez przycisk z prawej strony.

wstawianie funkcji

Teraz wystarczy nacisnać przycisk OK - w komórce już pojawia się obliczona wartość.

wstaw funkcję

Do okna dialogowego funkcji można w każdej chwili wrócić naciskając zaznaczony na rysunku przycisk. Z jego prawej strony widoczny jest zapis formuły. Można ją także bezpośrednio edytować - np. zmienic adresy względne na bezwzględne.

 

poniedziałek, 15 lutego 2010

Jak wstawić wiele danych do formuły? Ręczne wpisywanie adresów może być bardzo żmudne, w dodatku łatwo o pomyłki. Od czego jednak myszka? Obliczmy sumę danych korzystając z autosumowania:

 zaznaczanie zakresu danych w formule

Proste, gdy zakres jest w jednym arkuszu i  dodatku ciągły. A gdy tak nie jest? Wówczas zaznaczamy każdą z pojedyńczych komórek (lub zakresów) trzymając jednocześnie wciśnięty klawisz Ctrl

 wstawianie danych do formuły

Dla przypadków dowolnej funkcji, wstawiając formułę (w menu wybieramy Wstaw - Funkcja i z listy wybieramy konkretną funkcję) i to złożoną z danych w innym arkuszu czy nawet skoroszycie korzystamy z okna dialogowego. Klikając przycisk przejścia do arkusza - okienko zostanie zminimalizowane i mamy możliwość zaznaczenia intersujacych nas komórek arkusza.

wstawiane danych do formuły

W ten sposób możemy zaznaczyć także dane z innego arkusza tego samego skoroszuty (oo prostu przechodząc do niego) lub innego skoroszytu (musi być wcześniej otwarty w tym samym oknie). Powrót - poprzez przycisk z prawej strony oknienka dialogowego:

wstawianie danych do formuły

Pełne okno dialogowe pozwala w tym momencie innego, niezależnego zakresu (tym razem wybieramy "Liczba2" - analogicznie - dalej. Jesli sa takie potrzeby.

wstawianie danych do formuły

Ostatecznie poprzez przycisk OK - wracamy do komórki, w której wpisywaliśmy formułę. Wynik gotowy.

Warto przy tym pamiętać, ze  w ramach tego samego skoroszytu - Excel wstawia adresy względne. Jeżeli w formule mamy dane z innego arkusza tego samego skoroszytu - to zmiana nazwy tego arkusza - spowoduje autmatyczną zmianę jego nazwy również w formułach. Nie mam potrzeby nic poprawiać.
Jeżeli korzystamy z danych innego skoroszytu - adresy komórek defaultowo są bezwzględne. I nie ma tu automatycznej korekty formuł w przypadku zmiany nazwy.

niedziela, 14 lutego 2010

Poprzednia notka dotyczyła automatycznego wypełniania komórek w tabeli:
Wypełnianie komórek w arkuszu
W ramach uzupełnienia jeszcze kilka szczegółów. Automatyczne wypełnianie działa bez problemu przy danych standardowych (miesiac, dzień tygodnia). Przy danych liczbowych - Excel na podstawie kilku wpisanych komórek - odczyta je jako kolejne wyrazy ciągu arytmetycznego i też bez problemu dopisze następne. Co jednak zrobić, gdy nasze potrzeby są nietypowe? Wówczas musimy stworzyć własną listę, która po zdefiniowaniu też będzie automatycznie uzupełniana. Jak to zrobić?

Robimy to w opcjach programu Excel:

opcje programu Excel

(to tak na wszelki wypadek - dla użytkowników korzystajacych zawsze z ustawień domyślnych)

Z lewej strony wybieramy "Popularne", a następnie klikamy w przycisk "Edytuj listy niestandardowe". W nowym oknie możemy już tworzyć własną listę:

definiowanie listy niestandardowej 

Potem wystarczy nacisną przycisk "Dodaj" i nasza lista jest już gotowa do wykorzystania.
Zamiast ręcznego wpisywania danych - możemy też wykorzystać dane już istniejące w arkuszu. Naciskamy przycisk przejścia do arkusza:

importowanie listy

W arkuszu zaznaczamy komórki, w których znajdują się dane do zaimportowania:

importowanie danych do listy

Powrót do opcji poprzez przycisk okna dialogowego:

import danych do listy niestandardowej

Teraz pozostaje tylko zatwierdzenie wyboru poprzez przycisk "Importuj" i mamy nowa listę.

Wstawione przez nas listy można edytować lub usuwać. Nietykalne są listy standardowe Excela.

Tagi: lista tabela
10:39, marzatela , Excel
Link Dodaj komentarz »
piątek, 12 lutego 2010

Jak szybko i efektywnie wypełnić arkusz danymi? Oczywiście, można część komórek skopiować i wkleić, ale dla danych typowych i przewidywalnych - są znacznie szybsze i efektywniejsze sposoby.
Zobaczmy to na bardzo prostym przykładzie. W komórce A2 mamy liczbę 1 i chcemy ją szybko skopiować do innych komórek.

wypełnianie komórek

Po zaznaczeniu komórki ustawiamy myszką kursor w prawym dolnym rogu komórki, aż widoczny będzie tam czarny krzyżyk (na rysunku wstawilam czerwony w celu lepszego jego zobrazowania). Następnie z wciśniętym lewym przyciskiem myszy przeciągamy w dól (lub w prawo - jeżeli kopiowanie ma być w poziomie.

wypełnianie komórek

Szybko i prosto?  Spróbujmy więc sobie utrudnić zadanie.
Skoro kolumna ma w nagłówku "Lp." - to spróbujmy wypełnić ja kolejnymi liczbami naturalnymi. Do komórki A2 pisujemy 1, do komórki A3 - 2.  

wypełnianie komórek

Tym razem zaznaczamy 2 komórki A2 i A3. Znowu przeciągamy w dół. Otrzymany efekt to:

wypełnianie komórek

Przy długiej liście - sporo musielibyśmy się namęczyć, żeby tak wypełnić komórki. 
Próbujmy dalej. Do naszej tabeli dołóżmy drugą kolumnę z oznaczeniami miesięcy. Wypełnijmy tam 2 pierwsze komórki i zaznaczmy je:

automatyczne wypełnianie tabeli

Tym razem jednak nie przeciagajmy, tylko dwukrotnie kliknijmy (lewy przycisk myszy) w krzyżyk prawego dolnego rogu.

automatyczne wypełnianie tabeli

Kolumna tabeli wypełniła się automatycznie. Gdyby tak było tam np. 100 lub 1000 wierszy - optymalizacja imponująca, prawda? Warto przy tym pamiętać, że o tym - jaka duża jest tabela nie decyduje w żadny przypadku obramowanie - to tylko ozdobniki. Excel koniec tabeli widzi w ostatnim wypełnionym wierszu sąsiedniej kolumny. No i oczywiście tabela wcale nie musi się zaczynać w komórce A1.
Wypełnianie komórek w tabeli nie musi także być tylko w pionie, wzdłuż kolumn. Doskonale działa także w wierszach, poziomo.

wypełnianie poziome

A teraz zachęcam każdego do samodzielnego przećwiczenia w Excelu. Pracy w apikacjach trudno uczyc się "na sucho". To ćwiczenie czyni mistrza.

czwartek, 11 lutego 2010

Każda komórka w arkuszu Excela ma swój adres. Na przykład pierwsza komórka (lewy górny róg), na przecięciu kolumny A i wiersza numer 1 ma swój adres A1. Zapis A1 jest to adres względny komórki, jej adres bezwzględny to $A$1. Oczywiście można to zapisać również w sposób mieszany:
$A1 - bezwzględne odwołanie do kolumny, względne do wiersza
A$1 - względne odwołanie do kolumny, bezwzględne do wiersza

Tyle teorii. Wyglada to malo ciekawie i od razu wywołuje pytanie: po co to wszystko? Cóż, jest to ważne i istotne. Najlepiej zobaczyć to na przykładzie.

W arkuszu mamy fragment tabeli. W wierszu 2 (pierwszy to nagłówek tabeli) , w komórce C2 wpisujemy formułę C2=A2/B2 - Liczbę dzielimy przez dzielnik i otrzymujemy wynik1. Podobna sytuacja występuje w komórce D2, tylko tym razem adres dzielnika jest zapisany w jako adres bezwzględny : D2=A2/$B$2. Oczywiście wynik działania jest identyczny.
Różnice zaczynją być widoczne w kolejnych wierszach. Jeżeli skopiujemy warości formuł z kolumn C i D - tam gdzie są adresy względne - automatycznie formuła zmieni adres dzielnika, tam gdzie bezwzględne - dzIelnikiem zawsze będzie komórka B2.  

   adres względny i bezwzględny

W efekcie otrzymamy tez różne wyniki :

adres względny 

W zależności więc od tego, czy przy kopiowaniu formuł chcemy lub nie na stałe odnieść się do jakiejś komórki - używamy adresów względnych lub bezwzględnych.
Excel domyślnie przy kopiowaniu używa adresów względnych. Gdy jednak będziemy wstawiać powiązania z danymi z innego skoroszytu - domyślnym ustawieniem będą adresy bezwględne.

 

 Czy są pytania?  

środa, 10 lutego 2010

Excel czy Acces? Która z aplikacji pozwoli nam lepiej zoptymalizować pracę i wykorzystać wszystkie możliwości? Cóż, tak naprawdę odpowiedź wcale nie jest trudna, obie aplikacje wcale się nie wykluczają, a wprost przeciwnie - uzupełniają. Wszystko zależy od tego - co i z czym chcemy zrobić. Są sytuacje, gdy efektywniejszy jest Excel, a są takie, że konieczny jest Access.

Kilka istotnych uwag, które mogą pomóc podjąć nam decyzję:

  • mała ilość danych, które poddajemy obróbce, przeliczeniom, zobrazowaniu na wykresie itp. - zdecydowanie Excel.
  • im więcej danych - tym bardziej spada wydajność Excela. Nie tylko zamula,  ale pewne funkcje w praktyce przestają działać.
    Cyklicznie opracowywałam swego czasu plik txt, w którym za każdym zrzutem - było coraz więcej danych. Importowałąm je do Excela i wszystko było OK dopóki liczba rekordów nie zaczęła się zbliżać do 50000 rekordów. Rozspywało się nawet importowanie do odpowiednich kolumn i plik był bezużyteczny. o wstawieniu formuł w ogóle nie było mowy. Po przejściu na Acces - wszystkie problemy zniknęly.  
  • pracujemy sami czy plik jest współdzielony? Moje doświadczenia pokazują, że gdy w arkuszu Excela pracuje jednocześnie nawet kilku użytkowników - to zawsze coś się wysypie. Access ma jednak więcej możliwości pracy bezkolizyjnej
  • w pracy często zdarza mi się, ze dane do obróbki pozyskuję ze stron w firmowym intranecie. Proste skopiowanie tabeli ze strony i wklejenie danych do arkusza Excela nie jest żadnym problemem. Pozostaje tylko wycięcie tego co niepotrzebne i już mozemy pracować. W Accessie tak się nie da. 
  • dla użytkowników mało obytych w świecie aplikacji - łatwiej jest napisać program w Accessie niz zabezpieczyć skoroszyt Excela przed róznymi, czasem trudnymi do przewidzenia pomysłami, które rozsypią nam całkowicie działanie programu.
  • Excel jest zdecydowanie bardziej popularny i dostępny. Access wciąz jest traktowany jako aplikacja profesjonalna i droga. Z własnego doświadczenia widzę też na co dzień, że wiele osób nawet na co dzień pracujących na komputerze - Accesa się boi.

Niezależnie od tego, czy pracuję w Accessie czy Excelu - zawsze pamiętam o tym, że w nazwach plików, tabel, skoroszytów czy arkuszy - w ogóle nie używam polskich znaków z ogonkami ani spacji. Oszczędza to wielu problemów.  

06:14, marzatela
Link Komentarze (2) »
niedziela, 07 lutego 2010

Arkusz kalkulacyjny. Sama nazwa kojarzyła mi się kiedyś z czymś bardzo silnie związanym z księgowością i rachunkowością, a więc skutecznie mnie odstraszała. Gdy zaczęłam jednak pracować w Excelu - okazało się, że moje obawy były kompletnie nieuzasadnione. Jest to po prostu narzędzie, które może być wykorzystywane w róznych dziedzinach. Podobnie jak kalkulator - może przydać się wszędzie. W księgowości i rachunkowości również - jako jednej z wielu dziedzin.
A potem poznałam Accessa. I jeszcze zakochałam się w tej aplikacji. Szczególnie, gdy zaczęłam próbować pisac pierwsze funkcje i procedury w VBA (Visual Basic for Aplication).
Teraz jestem na tym etapie, że całkiem nieźle sobie radzę w całym pakiecie Office'a. Przeszłam nawet kilka kursów, ale tak naprawdę - to większości nauczyłam się sama: ksiązki, grupy dyskusyjne, szukanie informacji w internecie, ciągłe próby i poszukiwania. Człowiek z natury jest leniwy - nic dziwnego, ze szuka możłiwości ułatwienia sobie życia. Zaróno Excel jak i Access idealnie się do tego nadają. A jako ze w chwili obecnej sporo pracuję na bazach danych - to mam okazję na co dzień wykorzystywać, sprawdzać i rozszerzać swoją wiedzę i umiejętności.
Tak naprawdę - to trudno się tego wszystkiego nauczyć - jeżeli robimy to na sucho. Nawet czytanie specjalistycznych książek nic nie pomoże, jeżeli po prostu nie siądziemy przed komputerem i nie zaczniemy sami próbować.

To tyle na wstępie....

12:05, marzatela
Link Dodaj komentarz »
1 ... 36
 
| < Lipiec 2017 > |
Pn Wt Śr Cz Pt So N
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:





ministat liczniki.org



Napisz do mnie!