Cuprins
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.xlsm2 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.