Jeśli chcesz, żeby wartość faktury (przykładowo), pokazywała Ci się po x kolumnach, jeśli w komórkę wpiszesz wartość FV, to przede wszystkim musisz sobie przygotować kwoty, które mają się pokazywać oraz po ilu kolumn od wstawionej wartości FV ta wartość ma być wstawiona.
Żeby uzyskać taki efekt jak na obrazie powyżej potrzebujesz skorzystać z funkcji PRZESUNIĘCIE, która będzie przesuwała się od komórki, w której jest wpisana formuła (pierwszy argument funkcji) o zero wierszy i ustaloną ilość kolumn w lewo. Żeby przesunięcie odbywało się w lewo wartość musi być ujemna, czyli potrzebujesz dołożyć znak minus przed trzecim argumentem funkcji. Pamiętaj też o odpowiednich rodzajach odwołaniach:
=PRZESUNIĘCIE(D3;0;-$B3)
Czyli funkcja PRZESUNIĘCIE będzie patrzyła co jest ustaloną ilość kolumn w lewą stronę i potrzebujemy sprawdzić, czy jest tam wpisana wartość FV, czyli zwykły test logiczny:
=PRZESUNIĘCIE(D3;0;-$B3)="FV"
a skoro test logiczny, to będziemy jeszcze potrzebowali funkcji JEŻELI, która wstawi kwotę z faktury jeśli znajdzie FV lub pusty ciąg znaków:
=JEŻELI(PRZESUNIĘCIE(D3;0;-$B3)="FV";$A3;"")
Teraz wystarczy, że przeciągniesz formułę na cały zakres, gdzie chcesz mieć sprawdzane dane i uzyskasz efekt jak na pierwszym rysunku (plus dołożone jest jeszcze formatowanie warunkowe w pliku, na którym pracujemy).
Ta formuła jest prosta, ale niestety ma pewne wady:
Pierwszą jest to, że jeśli wpiszesz w komórkę wartość to nadpiszesz formułę, więc mogą się pojawiać problemy, gdy będziesz chciał później zmieniać pozycję tekstu "FV" w wierszu.
Drugą jest przesunięcie w lewo, bo możesz się przesunąć w lewo poza obszar arkusza i wtedy pojawi się błąd adresu:
Na szczęście problem łatwo można rozwiązać dodając wcześniej odpowiednią ilość kolumn.
Pozdrawiam
Adam Kopeć
Miłośnik Excela