Turinys
Šiame straipsnyje parodyta, kaip "Excel" programoje nustatyti laiko žymą, kai pasikeičia ląstelė. Gali prireikti sekti duomenų įrašus tam tikro stulpelio ląstelėse. Pavyzdžiui, duomenims įvesti rezervavote stulpelį B. Dabar norite, kad gretimoje C stulpelio ląstelėje būtų nustatyta laiko žyma, kai atnaujinama B stulpelio ląstelė. Šis straipsnis padės tai padaryti 2 veiksmingais būdais.
Atsisiųsti praktikos sąsiuvinį
Praktikos sąsiuvinį galite atsisiųsti iš toliau esančio atsisiuntimo mygtuko.
Laiko žyma Excel.xlsm2 būdai, kaip įterpti laiko žymą "Excel", kai pasikeičia ląstelė
1. Naudokite IF, AND, NOW ir kitas funkcijas, norėdami įterpti laiko žymą į "Excel
Atlikite toliau nurodytus veiksmus, norėdami gauti laiko žymą, kai pasikeičia ląstelė, naudodami formules.
📌 Žingsniai
- Pirmoji spauda ALT+F+T atidaryti "Excel" parinktys Tada eikite į Formulės skirtuką. Tada patikrinkite Įgalinti iteracinį skaičiavimą tada nustatykite žymimąjį langelį Didžiausios iteracijos į 1. Po to spustelėkite OK.
- Dabar ląstelėje įveskite šią formulę C5 . Tada vilkite Užpildymo rankena piktogramą, kad nukopijuotumėte formulę į toliau esančias ląsteles.
=IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
- Tada ląstelėje įveskite šią formulę D5 . Toliau vilkite Užpildymo rankena piktogramą į toliau esančias langelius, kaip ir anksčiau.
=IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))
- Dabar pradėkite įvesti reikšmes į langelius, esančius B stulpelis . Po to gausite tokį rezultatą. Čia, D stulpelis yra pagalbinis stulpelis. Jį galite paslėpti spustelėję dešinįjį pelės klavišą po stulpelio pasirinkimo.
- Arba galite tiesiog ląstelėje įvesti šią formulę C5 gauti tą patį rezultatą.
=IF(B5"",IF(C5="",NOW(),C5),"")
- Gali tekti pakeisti ląstelių formatavimą C stulpelis . Pasirinkite stulpelį spustelėdami viršuje esantį stulpelio numerį. Tada paspauskite CTRL+1 atidaryti Formuoti ląsteles dialogo langą. Dabar spustelėkite Pasirinktinis numerio formatą. Tada įveskite d-mmm-ryyyy hh:mm:ss AM/PM į Tipas lauką. Galiausiai spustelėkite OK.
Formulės suskirstymas:
C5 ląstelės formulė:
➤ IF(B5="","",C5))
Svetainė IF funkcija nieko negrąžina, jei ląstelė B5 yra tuščias. Priešingu atveju grąžinama ta pati reikšmė, įrašyta į C5 .
➤ NOW()
Svetainė DABAR funkcija grąžina esamą datą ir laiką.
➤ IR(B5"",D5B5)
Svetainė AND funkcija grąžina TRUE jei abu argumentai yra teisingi, t. y. ląstelė B5 nėra tuščias ir ląstelės B5 ir D5 neturi tos pačios vertės.
➤ IF(AND(B5"",D5B5),NOW(),IF(B5="","",C5))
Jei AND funkcija grąžina TRUE , tada IF funkcija grąžina dabartinę datą ir laiką, gautus iš DABAR funkcija Priešingu atveju grąžinamas rezultatas, gautas iš argumento, kuriame yra IF funkcija .
D5 ląstelės formulė:
➤ ISNUMBER(D5)
Svetainė ISNUMBER funkcija grąžina TRUE jei ląstelė D5 yra skaičius. Priešingu atveju grąžinamas Klaidingas .
➤ IR(ISNUMBER(D5),B5=D5)
Svetainė AND funkcija grąžina TRUE jei ląstelė D5 yra skaičius ir ląstelės B5 ir D5 turi tą pačią vertę. FALSE kitaip.
➤ OR(C5="",AND(ISNUMBER(D5),B5=D5))
Svetainė Arba funkcija grąžina TRUE jei bet kuris iš argumentų yra teisingas, t. y. ląstelė C5 yra tuščias arba AND funkcija grąžina TRUE . Jis grįžta FALSE jei visi argumentai yra false.
➤ IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5)
Svetainė IF funkcija grąžina tą pačią reikšmę, kuri buvo išsaugota ląstelėje D5 jei Arba funkcija grąžina TRUE Priešingu atveju grąžinama ląstelės B5 .
➤ IF(B5="","",IF(OR(C5="",AND(ISNUMBER(D5),B5=D5)),D5,B5))))
Svetainė IF funkcija nieko negrąžina, jei ląstelė B5 Priešingu atveju grąžinamas rezultatas, gautas iš argumento, kuriame yra IF funkcija .
Skaitykite daugiau: Kaip įterpti "Excel" laiko žymą, kai ląstelė keičiasi be VBA (3 būdai)
Panašūs skaitiniai
- Kaip "Excel" programoje įterpti statinę datą (4 paprasti metodai)
- "Excel VBA": įterpti laiko žymą, kai vykdoma makrokomanda
- Kaip įterpti "Excel" datos antspaudą, kai eilutėje esančios ląstelės yra pakeistos
- "Unix" laiko žymos konvertavimas į datą programoje "Excel" (3 metodai)
2. Taikykite VBA kodą, kad įterptumėte laiko žymą į "Excel", kai ląstelė pasikeičia
Taip pat galite gauti "Excel" laiko žymą, kai ląstelė pasikeičia, naudodami VBA. Norėdami tai padaryti, atlikite toliau nurodytus veiksmus.
📌 Žingsniai
- Pirmiausia dešiniuoju pelės klavišu spustelėkite tikslinės darbalapio kortelės skirtuką. Tada pasirinkite Peržiūrėti kodą . Taip bus atidarytas konkretaus darbalapio kodo modulis.
- Tada nukopijuokite šį kodą naudodami viršutiniame dešiniajame kampe esantį kopijavimo mygtuką.
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 Sub
- Po to nukopijuotą kodą įklijuokite į tuščią modulį, kaip parodyta toliau.
- Tada išsaugokite dokumentą kaip darbaknygė su makrokomandomis . Dabar pradėkite įvedinėti duomenis į B stulpelio langelius. Tada gausite tokius pačius rezultatus kaip ir anksčiau.
VBA kodo paaiškinimas:
Privatus Sub Worksheet_Change(ByVal Target As Range)
Dim CellCol, TimeCol, Row, Col As Integer
Dim DpRng, Rng kaip diapazonas
Būtinų kintamųjų deklaravimas.
CellCol = 2
Duomenų įvedimo skiltis.
TimeCol = 3
Laiko žymos stulpelis.
Row = Target.Row
Col = Target.Column
Pasirinkto langelio eilučių ir stulpelių numerių išsaugojimas.
Jei eilutė <= 4 Tada Exit Sub
Bet kokie pakeitimai 4 viršutinėse eilutėse nesukurs laiko žymos.
Laiko žyma = Format(Now, "DD-MM-GYYYY HH:MM:SS AM/PM")
Laiko žyma bus suformatuota taip. Pakeiskite ją pagal poreikį.
Jei Target.Text "" Tada
Jei Col = CellCol tada
Cells(Row, TimeCol) = Laiko žyma
Sukurti laiko žymą, jei pasirinkta ląstelė yra tuščia.
Dėl klaidos tęsti toliau
Ignoruoja bet kokią klaidą, jei ji įvyksta.
Set DpRng = Target.Dependents
For Each Rng In DpRng
Jei Rng.Column = CellCol Tada
Cells(Rng.Row, TimeCol) = Timestamp
Sukurkite laiko žymas langelių intervalui, jei jis nėra tuščias.
Skaityti daugiau: Kaip automatiškai įterpti "Excel" laiko žymos duomenų įrašus (5 metodai)
Dalykai, kuriuos reikia prisiminti
- Norėdami gauti tinkamai suformatuotą laiko žymą, B stulpelio ląstelėms turite naudoti pasirinktinį formatą.
- Pakaitinė formulė veikia tik tada, kai duomenys įvedami į tuščius langelius.
- Šiuo atveju duomenų įvedimas ir laiko žymos stulpelis yra užkoduoti VBA kode. Turite pakeisti kodą pagal savo duomenų rinkinį.
Išvada
Dabar jau žinote, kaip "Excel" programoje žymėti laiką, kai pasikeičia ląstelė. Ar turite papildomų klausimų ar pasiūlymų? Tam naudokite toliau pateiktą komentarų skyrių. Taip pat galite apsilankyti mūsų ExcelWIKI tinklaraštį, kad sužinotumėte daugiau apie "Excel". Būkite su mumis ir toliau mokykitės.