Cum se inserează timestamp în Excel atunci când se schimbă celula (2 moduri eficiente)

  • Imparte Asta
Hugh West

Acest articol ilustrează cum să marcați ora în excel atunci când o celulă se modifică. Este posibil să aveți nevoie să urmăriți intrările de date în celulele unei anumite coloane. De exemplu, ați rezervat coloana B pentru a introduce date. Acum doriți marcajul de timp într-o celulă adiacentă din coloana C atunci când o celulă este actualizată în coloana B. Acest articol vă va ajuta să faceți acest lucru în 2 moduri eficiente.

Descărcați caietul de practică

Puteți descărca caietul de practică de la butonul de descărcare de mai jos.

Timestamp în Excel.xlsm

2 moduri de a insera timestamp în Excel atunci când se modifică celula

1. Utilizați IF, AND, NOW și alte funcții pentru a insera timestamp în Excel

Urmați pașii de mai jos pentru a obține un timestamp folosind formule atunci când o celulă se modifică.

📌 Pași

  • Prima presă ALT+F+T pentru a deschide Opțiuni Excel . apoi mergeți la Formule În continuare, verificați caseta Activați calculul iterativ Apoi, setați caseta de selectare Numărul maxim de iterații la 1. După aceea, faceți clic pe OK.

  • Acum, introduceți următoarea formulă în celulă C5 Apoi, trageți butonul Mâner de umplere pentru a copia formula în celulele de mai jos.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))

  • Apoi, introduceți următoarea formulă în celulă D5 Apoi trageți de butonul Mâner de umplere în celulele de mai jos, la fel ca mai devreme.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))

  • Acum, începeți să introduceți valori în celulele din coloana B După aceea, veți obține următorul rezultat. Aici, coloana D este o coloană de ajutor. Puteți să o ascundeți făcând clic dreapta după selectarea coloanei.

  • Alternativ, puteți introduce următoarea formulă în celulă C5 pentru a obține același rezultat.
=IF(B5"",IF(C5="",NOW(),C5),"")

  • Este posibil să fie necesar să modificați formatarea celulelor din coloana C Selectați coloana făcând clic pe numărul coloanei din partea de sus, apoi apăsați tasta CTRL+1 pentru a deschide fereastra Formatarea celulelor Acum, faceți clic pe caseta de dialog Personalizat Formatul numerelor. În continuare, introduceți d-mmm-yyyy hh:mm:ss AM/PM în Tip În cele din urmă, faceți clic pe OK.

Repartizarea formulei:

Formula din celula C5:

➤ IF(B5="","","",C5))

The Funcția IF nu returnează nimic dacă celula B5 este goală. În caz contrar, returnează aceeași valoare stocată în C5 .

➤ NOW()

The Funcția NOW returnează data și ora curente.

➤ ȘI(B5"",D5B5)

The Funcția AND returnează ADEVĂRAT dacă ambele argumente sunt adevărate, adică celula B5 nu este gol și celule B5 și D5 nu au aceeași valoare.

➤ IF(AND(B5"",D5B5),NOW(),IF(B5="",""",C5))

În cazul în care Funcția AND returnează ADEVĂRAT , atunci Funcția IF returnează data și ora curente obținute din Funcția NOW În caz contrar, se returnează rezultatul obținut din argumentul care conține Funcția IF .

Formula din celula D5:

➤ ISNUMBER(D5)

The Funcția ISNUMBER returnează ADEVĂRAT dacă celula D5 conține un număr. În caz contrar, se returnează Fals .

➤ AND(ISNUMBER(D5),B5=D5)

The Funcția AND returnează ADEVĂRAT dacă celula D5 conține un număr și celule B5 și D5 au aceeași valoare. Se returnează FALSE altfel.

➤ OR(C5="",AND(ISNUMBER(D5),B5=D5)))

The Funcția OR returnează ADEVĂRAT dacă oricare dintre argumente este adevărat, adică celula C5 este goală sau dacă Funcția AND returnează ADEVĂRAT . se întoarce FALSE dacă toate argumentele sunt false.

➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5),D5,B5)

The Funcția IF returnează aceeași valoare stocată în celula D5 în cazul în care Funcția OR returnează ADEVĂRAT În caz contrar, se returnează valoarea celulei B5 .

➤ IF(B5="","","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5))),D5,B5)))))

The Funcția IF nu returnează nimic dacă celula B5 este gol. În caz contrar, se returnează rezultatul obținut din argumentul care conține Funcția IF .

Citește mai mult: Cum să inserați Excel Timestamp atunci când se schimbă celula fără VBA (3 moduri)

Lecturi similare

  • Cum să inserați data statică în Excel (4 metode simple)
  • Excel VBA: Inserarea mărcii temporale atunci când se execută un macro
  • Cum se inserează ștampila de dată Excel atunci când celulele din rând sunt modificate
  • Conversia Timestamp Unix în Data în Excel (3 metode)

2. Aplicați codul VBA pentru a insera timestamp în Excel atunci când se schimbă celula

Puteți obține, de asemenea, un timestamp în Excel atunci când o celulă se modifică folosind VBA. Urmați pașii de mai jos pentru a putea face acest lucru.

📌 Pași

  • În primul rând, faceți clic dreapta pe fila foii de lucru țintă. Apoi, selectați Vezi codul Se va deschide modulul de cod pentru foaia de lucru respectivă.

  • Apoi, copiați următorul cod folosind butonul de copiere din colțul din dreapta sus.
 Private Sub Worksheet_Change(ByVal Target As Range) Dim CellCol, TimeCol, Row, Col As Integer Dim DpRng, Rng As Range CellCol = 2 TimeCol = 3 Row = Target.Row Col = Target.Column If Row <= 4 Then Exit Sub Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM") If Target.Text "" Then If Col = CellCol Then Cells(Row, TimeCol) = Timestamp Else On Error Resume Next Set DpRng = Target.Dependents ForEach Rng In DpRng If Rng.Column = CellCol Then Cells(Rng.Row, TimeCol) = Timestamp End If Next End If End If End If End If End Sub 
  • După aceea, inserați codul copiat în modulul gol, așa cum se arată mai jos.

  • În continuare, salvați documentul ca fișier registru de lucru activat de macro Acum, începeți să introduceți date în celulele din coloana B. Veți obține aceleași rezultate ca mai devreme.

Explicația codului VBA:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim CellCol, TimeCol, Row, Col ca întreg

Dim DpRng, Rng ca interval

Declararea variabilelor necesare.

CellCol = 2

Coloana de introducere a datelor.

TimeCol = 3

Coloana Timestamp.

Rând = Target.Row

Col = Target.Column

Stocarea numerelor de rând și de coloană ale celulei selectate.

If Row <= 4 Then Exit Sub

Orice modificare din primele 4 rânduri nu va crea un marcaj temporal.

Timestamp = Format(Now, "DD-MM-YYYY HH:MM:SS AM/PM")

Marca temporală va fi formatată în acest mod. Modificați-o după cum este necesar.

If Target.Text "" Then

Dacă Col = CellCol Atunci

Cells(Row, TimeCol) = Timestamp

Creează o marcă temporală în cazul în care celula selectată este goală.

La eroare, reluați Următorul

Ignoră orice eroare care apare.

Set DpRng = Target.Dependents

Pentru fiecare Rng din DpRng

Dacă Rng.Column = CellCol Atunci

Cells(Rng.Row, TimeCol) = Timestamp

Creează marcaje temporale pentru un interval de celule, dacă acesta nu este gol.

Citiți mai mult: Cum să inserați automat intrări de date cu marcaj temporal în Excel (5 metode)

Lucruri de reținut

  • Trebuie să folosiți un format personalizat pentru celulele din coloana B pentru a obține o dată și ora formatată corespunzător.
  • Formula alternativă funcționează numai atunci când datele sunt introduse în celule goale.
  • Aici, introducerea datelor și coloana de marcaj temporal sunt codificate în codul VBA. Trebuie să modificați codul în funcție de setul dvs. de date.

Concluzie

Acum știți cum să marcați timpul în Excel atunci când o celulă se schimbă. Aveți alte întrebări sau sugestii? Vă rugăm să utilizați secțiunea de comentarii de mai jos pentru asta. Puteți vizita, de asemenea, pagina noastră de ExcelWIKI blog pentru a explora mai multe despre excel. Rămâneți alături de noi și continuați să învățați.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.