Czy w Numbers możesz automatycznie wypełnić komórkę datą, kiedy zostanie zapełniona inna komórka?

6

Jestem zapalonym użytkownikiem programu Excel, a ostatnio musiałem wymyślić, jak korzystać z Numbers. Do tej pory byłem w stanie zreplikować całą funkcjonalność Excela, której używam w Numbers ... oprócz jednej rzeczy.

W programie Excel mogę dodać następującą formułę ...

=IF(A1="", "", IF(B1="", NOW(), B1))

Ta formuła mówi, gdy wartość dodana do komórki A1 zapełni komórkę B1 bieżącą datą. Aby to zadziałało, musisz włączyć funkcję programu Excel o nazwie obliczenia iteracyjne (Opcje ==> Formuły ==> Włącz obliczenia iteracyjne).

Używam tego, gdy buduję dziennik zadań Excela i chcę automatycznie wypełnić datę.

Ważną rzeczą w tej formule jest to, że wartość daty nie jest aktualizowana, wprowadza się inną zmianę.

Jak mogę to zrobić w Liczbach? Jak mogę automatycznie wypełnić wartość daty w kolumnie „B”, gdy wartość jest ustawiona w kolumnie „A”? Ważne jest, aby pamiętać, że po ustaleniu daty nie chcę, aby uległa zmianie.

Oto moja próba przetłumaczenia tej formuły na Liczby ...

=IF(A2="", "", IF(B2="", NOW(), B2))

Otrzymuję komunikat o błędzie w Numbers ...

This formula can't reference its own cell, or depend on another formula that references this cell.

Dzięki

codingguy3000
źródło
To dobre pytanie! :) Wyjaśnij moje zrozumienie: gdy pierwsza komórka jest wypełniana po raz pierwszy, kolejna komórka jest automatycznie wypełniana bieżącą datą, a następnie ta data pozostaje statyczna (tj. Nie zmienia się ponownie, jeśli / kiedy pierwsza komórka jest edytowany)?
Monomeeth
Tak, masz rację. Szukam znacznika daty / godziny.
codingguy3000

Odpowiedzi:

2

Podaję tę odpowiedź tylko dlatego, że zapewnia ona przynajmniej obejście, choć nieco ręczne.

Zakładając, że B1 jest komórką, która musi automatycznie wypełniać datę i godzinę po wypełnieniu komórki A1, wprowadź tę formułę w komórce B1:

IF(ISBLANK($A1),"",NOW())

Teraz, gdy nadejdzie czas, że komórka A1 jest wypełniona, komórka B1 automatycznie zapełni się datą i godziną.

Jednak aby zapobiec aktualizacji komórki B1, jeśli / kiedy komórka A1 zostanie ponownie edytowana, musisz teraz wykonać następujące czynności:

  1. Po wypełnieniu B1 wybierz komórkę B1
  2. Użyj commandC(lub przejdź do Edycja> Kopiuj), aby skopiować komórkę
  3. Użyj shiftcommandV(lub przejdź do Edycja> Wklej wyniki formuły)
  4. Teraz formuła w komórce B1 jest zastępowana tylko wartością obliczoną, co oznacza, że ​​nie będzie już obliczana w przyszłości

UWAGI:

Jeśli jest to przydatne dla każdego, kto próbuje znaleźć odpowiedź, pomyślałem również:

  • używając skryptu AppleScript w celu zreplikowania powyższego, ale potem zdałem sobie sprawę, że użycie skryptu nie byłoby szybsze niż użycie funkcji Kopiuj / Wklej w Numbers.

  • utworzenie usługi Automator, a następnie przypisanie do niej skrótu klawiaturowego, ale to również nie będzie szybsze, ponieważ nadal będziesz musiał wybrać komórkę, więc użycie wbudowanego shiftcommandVskrótu nie jest wolniejsze niż użycie dostosowywanego skrótu.

Niezależnie od tego, ktoś bardziej biegły w AppleScript może pomyśleć o bardziej eleganckim rozwiązaniu, które współpracuje z Numbers, aby osiągnąć cel PO.

Monomeeth
źródło
3

Niestety, nawet jeśli możesz odwoływać się do własnej komórki w Numbers, nie ma operatora przypisania.

Oznacza to, że nie będzie sposobu na zastąpienie bieżącej wartości komórki.

rockhopper72
źródło
1
Myślę, że masz rację, że jest to rzadka rzecz, której po prostu nie da się zrobić. Prawdopodobnie wygrasz nagrodę.
codingguy3000