Stop overthinking. O co mi chodzi? Systematycznie dostaję pytania o rozwiązanie jakiegoś problemu w Excelu i czasami się zdarza, że czytelnik zaczyna myśleć, że do rozwiązania jego problemu potrzeba jakiś skomplikowanych problemów zapominają o prostych rozwiązaniach.

W tym filmie najmocniejszy przykład overthinkingu, czyli sytuacja, gdzie potrzebujemy w osobnych arkuszach mieć tylko część danych (kolumn) z głównego arkusza. Czyli w najprostszej postaci wystarczy zwykłe odwołanie do komórek z sąsiedniego arkusza. Co prawda pewnie dla każdej kolumny będzie trzeba napisać osobną formułę, żeby pobierał dane z odpowiedniej kolumny, ale da się to zrobić, mając podstawową wiedzę o Excelu. Wystarczy formuła w stylu:

=Arkusz1!A2

Już zaczęłoby działać, robić to o co nam chodzi. To jest najważniejsze. To często powtarzam na kursach programowania VBA najważniejsze, żeby nasz kod działał. Nie musi być idealny, czy optymalny. Pierwsze najważniejsze kryterium ma działać.

Jak mawia człowiek, od którego dużo się uczę: „JAKOŚ, a później JAKOŚĆ”. „Ć” dodajemy przez ćwiczenia 😀

Z powyższym przyrównaniem do danych z innego arkusza może być tylko jeden drobny problem – jeśli komórka będzie pusta, to Excel odczyta ją jako zero. Na szczęście, żeby uniknąć tego problemu wystarczy sprawdzić wartość komórki za pomocą funkcji JEŻELI, i jeśli będzie pusta, to zwrócić pusty ciąg znaków, a jak nie będzie pusta, to wartość komórki:

=JEŻELI(Dane!A2="";"";Dane!A2)

porada-278-stop-overthinking-01

A jakby zależało Ci na pojedynczej formule na całą tabelkę to przykładowa może wyglądać tak 😉

=JEŻELI(INDEKS(Dane!$A$2:$F$14;ILE.WIERSZY($I$2:I2);PODAJ.POZYCJĘ(I$1;Dane!$A$1:$F$1;0))="";"";INDEKS(Dane!$A$2:$F$14;ILE.WIERSZY($I$2:I2);PODAJ.POZYCJĘ(I$1;Dane!$A$1:$F$1;0)))

Dlatego działaj z tym co masz, a naprawdę masz duże szanse, że rozwiążesz swój problem, a pewnie się jeszcze czegoś nowego przy tym nauczysz J

Pozdrawiam
Adam Kopeć
Miłośnik Excela