Excel은 함수 구성을 어떻게 처리합니까?


21

Excel에서 오늘의 숫자를 얻기 위해 함수를 사용하려고했습니다. 예를 들어, 내가이 질문을 썼을 때 나는 $ 18 $를 얻어야했습니다.

나는 사용하려고했다 :

  1. TODAY()오늘 날짜를 날짜 형식으로 반환 하는 함수
  2. Day(<date>)는 일 수를 반환합니다 <date>. 즉 DAY(19/05/1984)19를 반환해야합니다.

따라서 공식

=DAY(TODAY())

내가 원하는 결과를 제공해야합니다.

그러나 이것은 18/01/1900을 반환합니다 (오늘 기능을 사용할 때)

내가 사용하면

=TODAY()

셀 A1에서

=DAY(A1)

다른 세포에서 나는 올바른 결과를 얻습니다.

DAY (TODAY ())가 예상 결과를 제공하지 않는 이유는 무엇입니까?

메이플, 자바 및 일부 파이썬에서 수학자 및 아마추어 프로그래머의 배경에서 함수 구성이 괜찮아 보입니다.

보다 일반적으로 Excel은 수식 구성을 어떻게 처리합니까?


11
정답은 "나쁘다"입니다.
Carl Witthoft

Excel 함수에 대한 Office 지원 .. 심지어 다음과 같이 말합니다. =DAY(TODAY())... 현재 월의 날짜를 반환합니다 (1-31) ..
txtechhelp

답변:


40

당신의 공식은 정확합니다. Excel에서 혼동되는 셀의 서식을 지정하는 방식입니다. 예를 들어, 셀 값을 수동으로 설정 한 18다음 형식을 날짜로 변경하면이 값 이로 표시됩니다 January 18, 1900.

수식이있는 셀의 형식을 "일반"으로 변경하면 예상 한 결과가 표시됩니다.


3
서식이 이런 일을 하는지 설명하는 데 도움이 될 수 있습니다 . Excel은 타임 스탬프를 "0900 : 00 이후 1900 년 1 월 0 일 이후의 날짜"로 저장하고 시간, 분 및 초를 하루의 소수로 저장합니다 (1900 년 1 월 1 일 정오는 "1.5").
Carl Kevinson

그리고 Excel은 모든 종류의 날짜 / 시간 값을 사용하자마자 날짜 또는 시간 형식으로 기본 설정됩니다. 그것은 같은 형식이거나 다른 기능을하는 다른 셀 일 수 있습니다 TODAY(). 분해 기능에서만 사용하고 서식을 다시 전환해야 할 때 정말 짜증납니다.
ratchet freak

1
접선 적으로 관련 : sciencemag.org/news/2016/08/… [5 개의 유전학 논문 중 하나는 Microsoft Excel 덕분에 오류를 포함합니다]
Darren Ringer

@DarrenRinger 저는 항상 "도구를 비난하는 것"(종이의 핵심이 되고 경계를 유지 하는 것)으로 읽습니다 . 나에게도 비슷한 일이 일어 났지만 (유전학은 아님) 다른 사람들처럼 "엑셀은 그 모습을 ...."으로 바꾸 었다고 생각하지만, 나 자신에게 "젠장, 그 모습이 바뀔 것이라고 생각하지는 않았다. to ..... "
Darren Bartrup-Cook

9

Excel에서 '날짜'값을 조작한다고 생각하면 혼란 스러울 수 있습니다. 그렇지 않습니다.

Excel에서 날짜 및 시간을 사용하는 방법

Excel에서 숫자는 날짜 (0-Jan-1900 이후의 분수 일 수) 를 나타내는 데 사용 되지만 Excel에서는 숫자로 저장하고 조작합니다. TODAY ()는 숫자 값 함수이고 DAY ()는 숫자 인수에서 숫자 결과까지의 함수입니다.

귀하의 경우, DAY (TODAY ())는 18 (숫자)을 올바르게 반환했습니다.이 숫자는 날짜를 짧은 형식으로 표시하도록 형식이 지정된 셀에 할당되었다고 가정하여 18이 18/01/1900으로 표시됩니다. Excel에서는 18이 날짜로 해석 될 때 이것이 의미하는 바입니다.

해당 셀을 숫자 형식으로 서식을 지정하면 예상 한 방식으로 답변이 표시됩니다 (예 : 18).


2

수식에 문제가 없습니다. 수식에서 예상 결과를 얻지 못하면 오류 또는 잘못된 결과를 생성합니다. 당신은 공식이 요리하는 것을 언급하지 않았기 때문에!.

한편 Excel의 Number에서 DAY 값을 얻을 수있는 가능성을 보여 드리겠습니다.

아래의 스크린 샷을 확인하십시오.

숫자로 하루를 얻으십시오

NB :

날짜는 셀 E166에 있습니다. 두 번째 열 F 에 결과가 있고 세 번째 열 G에 사용 된 수식이 표시됩니다.

TEXT 함수를 사용하여 Day 값을 Text 데이터로 가져올 수도 있습니다.

값은 빨간색입니다. 색상에는 사용자 정의 셀 형식 DD가 있으며 셀에 적용하여 날짜의 일 값만 표시 할 수 있습니다.

참고, 당신은 기본적으로 당신이 엑셀 사용자가 아닌 것을 언급 한 이후로 나는 당신에게 모든 가능성을 제안했습니다.

이것이 도움이되기를 바랍니다. 수식에 ERROR를 게시하는 것을 잊지 마십시오.


1

수식이 올바르게 구성되었습니다. 예기치 않은 결과는 여러 유형의 데이터가 Excel에 저장되는 방식 때문입니다.

통합 문서 수준 설정에 따라 Excel에서 날짜를 저장하는 데 사용하는 두 가지 유사한 시스템이 있습니다.

1900 날짜 체계

1900 날짜 시스템에서 지원되는 첫 번째 날은 1900 년 1 월 1 일입니다. 날짜를 입력하면 날짜가 1900 년 1 월 1 일 이후 경과 된 일 수를 나타내는 일련 번호로 변환됩니다. 예를 들어, 1998 년 7 월 5 일을 입력하면 Excel에서 날짜를 일련 번호 35981로 변환합니다.

기본적으로 Windows 용 Microsoft Excel은 1900 날짜 시스템을 사용합니다. 1900 날짜 시스템을 사용하면 Excel과 MS-DOS 또는 Microsoft Windows에서 실행되도록 설계된 Lotus 1-2-3과 같은 다른 스프레드 시트 프로그램 간의 호환성이 향상됩니다.

1904 년 날짜 체계

1904 날짜 시스템에서 지원되는 첫 번째 날은 1904 년 1 월 1 일입니다. 날짜를 입력하면 날짜가 1904 년 1 월 1 일 이후 경과 된 일 수를 나타내는 일련 번호로 변환됩니다. 예를 들어, 1998 년 7 월 5 일을 입력하면 Excel에서 날짜를 일련 번호 34519로 변환합니다.

기본적으로 Macintosh 용 Microsoft Excel은 1904 날짜 시스템을 사용합니다. 초기 Macintosh 컴퓨터의 설계로 인해 1904 년 1 월 1 일 이전의 날짜는 지원되지 않았습니다. 이 디자인은 1900 년이 윤년이 아니라는 사실과 관련된 문제를 방지하기위한 것입니다. 1900 날짜 시스템으로 전환하면 Macintosh 용 Excel은 1900 년 1 월 1 일부터 날짜를 지원합니다.

이 발췌 내용은 다음에서 가져 왔습니다 : https://support.microsoft.com/en-us/help/214330/differences-between-the-1900-and-the-1904-date-system-in-excel

일련 번호는 1900 년 2 월 29 일 가상 날짜를 포함하여 1900 년 1 월 1 일 이후의 날짜 수에 대한 간단한 실행 횟수입니다. 그러나 DAY 함수는 추가로 데이터 유형 변환 함수로 간주 될 수 있습니다. 그것은 소요 기간 일련 번호를 입력으로하고, 반환 정수를 출력한다. 귀하의 예에서 18 이 날짜 일련 번호를 나타내는 것으로 생각 하고 1900 년 1 월 1 일부터 18 일을 계산하면 1900 년 1 월 18 일이됩니다.

프론트 엔드의 간단한 수정은 셀 형식을 Number 또는 General 과 같은 다른 형식으로 변경하는 것입니다 . 이렇게하면 날짜 일련 번호로 해석하지 않고 정수로 표시하도록 Excel에 지시합니다. 백엔드에는 모든 것이 좋습니다. 정수 결과는 다른 수식에 사용될 수 있으며 올바르게 동작합니다.

예를 들어, 이번 달 15 일이 지 났는지 여부를 알려주는 조건부 수식을 만들고 싶다고 가정 해 보겠습니다. 다음을 사용하여이 작업을 수행 할 수 있습니다.

=IF(DAY(TODAY())>15,"The 15th has passed","It is not yet the 15th")

날짜 직렬을 사용하여 동일한 결과를 얻는 것이 훨씬 어려울 수 있으므로 정수를 반환하는 DAY 함수는 Excel의 일반적인 사용 사례에서 더 유용합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.