MS Excel – stempel czasu

Trudność: 🔴 (trudne)


Chcemy stworzyć arkusz, w którym wypełnienie niektórych komórek pozostawi trwały ślad w postaci stempla czasu (Time Stamp). Na początek stwórz arkusz jak na obrazku. Potrzebna nam jest kolumna B (Date) oraz C (Vol BG).

Naszym celem jest automatyczne wypełnienie kolumny B datą i godziną jeśli w kolumnie C pojawia się jakaś wartość. Inaczej pisząc… jeśli wpiszemy coś do kolumny C, to w kolumnie B ma się pojawić data i godzina wypełnienia.

Pomysł, by w kolumnie B wpisać formułę =TERAZ() jest nietrafiony. Taka formuła będzie aktualizować swój wynik za każdym razem, gdy gdziekolwiek w arkuszu się coś zmieni. Czyli… zawsze będziemy widzieć aktualny czas, a nie czas wypełnienia komórek w kolumnie C.

Rozwiązanie

Na początek ostrzeżenie. Pozbądź się „excelowego” myślenia. Zignoruj mentalne czerwone światełka dotyczące zapętlania formuł. Zobaczymy do czego nas to doprowadzi.

Chcemy stworzyć funkcję wg poniższego schematu.

Nasza funkcja (wpisana w B5) musi sprawdzić czy komórka C5 jest pusta. Są dwie możliwości.
1. albo jest pusta – wtedy do B5 wpisujemy pustą wartość (cudzysłów i cudzysłów)
2. albo nie jest pusta (czyli coś wpisano do C5) – wtedy mamy dwie kolejne możliwości do rozpatrzenia:
2.1. albo B5 było do tej pory puste – wtedy wpisujemy tam (w B5) funkcję TERAZ()
2.2. albo B5 miało już kiedyś wpisany stempel czasu – wtedy przepisujemy w B5 dotychczasową wartość.

Przeczytaj to jeszcze raz… teraz ze zrozumieniem. 🙂

Okazuje się, że załatwia to formuła =JEŻELI(CZY.PUSTA(C5);””;JEŻELI(B5=””;TERAZ();B5))

Ale uważaj, bo powyższa formuła nie zadziała! Dlaczego? Bo wewnątrz komórki B5 odwołujemy się do tej samej komórki B5. A to jest odwołanie cykliczne, czyli coś na co Excel niechętnie się zgadza. Niechętnie… a skoro tak, to go zmusimy do tolerowania odwołań cyklicznych:

  • wejdź do menu Plik / Opcje / Formuły
  • zaznacz Włącz odwołania iteracyjne

Od tej chwili ten dokument będzie tolerował odwołania cykliczne (iteracyjne), a nasza formuła zacznie poprawnie działać 🙂

Sprawdź. Wpisz coś do komórki C5. W komórce B5 pojawi się nieaktualizujący się stempel czasu. SUKCES!

Na naszych szkoleniach można się dowiedzieć takich i podobnych rzeczy. W razie pytań… pisz: biuro@kursyb2b.pl