다른 셀에 글을 쓰고 Enter를 누를 때 자동으로 셀에 =now() 함수를 삽입하는 방법

다른 셀에 글을 쓰고 Enter를 누를 때 자동으로 셀에 =now() 함수를 삽입하는 방법

다음 방법을 알고 싶습니다.

=now()Excel의 B 열에 자동으로 기능이 있으며 각 셀(A1, A2, .. Aν)의 A 열에 내용을 쓸 때마다 각 셀(B1, B2, .. Bν)에만 표시됩니다.

여기에 이미지 설명을 입력하세요

답변1

새로운 답변

다시 계산되지 않는 타임스탬프를 원할 경우 다음과 같은 기술을 사용해야 합니다.원형 공식. 이를 통해 기본적으로 셀은 자체 내용을 기반으로 기능을 수행할 수 있습니다.

파일 > 옵션 > 수식으로 이동한 다음 Enable iterative calculation. 반복 횟수를 으로 변경합니다 1. 확인을 누르고 시트를 저장하세요.

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

설명:

첫 번째는 IF원래 답변의 것과 유사합니다. 비어 있는지 확인합니다 A1. <>는 논리 연산자 의미입니다 not equal to. 두 번째는 IF자체적으로 확인하고 내용이 에 입력되면 실행됩니다 A1. 비어 있으면 B1현재 날짜와 시간을 입력하고 그렇지 않으면 기존 콘텐츠(원래 타임스탬프)를 출력합니다.


원래 답변

B1에서 이것을 시도해 볼 수 있습니다.

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

설명:

ISBLANK대상 셀에 입력이 있는지 테스트하는 논리 테스트입니다. TRUE또는 중 하나를 반환합니다 FALSE. IF대상 셀이 비어 있으면 빈 문자열을 출력하도록 구조화되어 있습니다 . 입력이 있으면 A1현재 시간과 날짜가 출력됩니다.

NOW()시트가 다시 계산될 때마다 에서 출력되는 값이 현재 시간으로 변경된다는 점에 유의해야 합니다 .


참고자료:

답변2

모든 것에 VBA를 사용하는 것이 항상 현명한 것은 아니지만, 특히 행이 처음 입력된 시점뿐만 아니라 행이 변경될 때마다 추적하려는 경우에는 이것이 좋은 후보입니다. 타임스탬프 열이 있는 시트의 코드에 다음을 삽입합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Dim intersection As Range
    ' Change A:A,C:E to whatever range you want to watch.
    Set intersection = Application.Intersect(Target, Me.Range("A:A,C:E"))
    If Not intersection Is Nothing Then
        Dim r As Range
        For Each r In intersection.Rows
            ' Change B1 to whichever column is the timestamp.
            r.EntireRow.Range("B1").Value = Now
        Next
    End If
    Application.EnableEvents = True
End Sub

이 예에서는 A, C, D 및 E 열의 변경 사항을 감시하고 변경 사항이 발생하면 현재 날짜와 시간이 동일한 행의 B 열에 삽입됩니다.

관련 정보