제가 촬영하는 목적은 다음과 같습니다.
=IF(LEFT(Q3,2)="작성자","인증 랩 참조"&"-"&SUM(Q3-L3))
Q3이 "승인 실험실 참조" 반환에 따라 "By"라고 말하면 Q3에서 L3을 빼고(두 셀 모두 날짜임) 지난 일수를 반환한다고 말하고 싶습니다.
답변1
Q3
셀 형식이 인 것 같습니다 By [date]
. Excel에서는 이를 날짜 값이 아닌 텍스트 값으로 간주합니다. 따라서 다음과 같은 작업을 수행할 수 없습니다 Q3-L3
. 여기서 혼란이 발생하는 것 같습니다. 데이터 설정 방법에 따라 문제를 해결할 수 있는 몇 가지 옵션이 있습니다. 이에 대해 알아보기 전에 공식을 정리해 보겠습니다. 나생각하다당신은 원한다어느 하나"인증 연구소 보기"라는 텍스트를 표시합니다.또는준비가 완료될 때까지 며칠이 소요되는지 표시합니다. 그렇다면 공식은 다음과 같아야합니다.
=IF(LEFT(Q3,2)="By", "See authorizing lab", Q3-L3)
이제 해당 Q3-L3
부분에 대해 텍스트 값에서 날짜 값을 추출해야 합니다. 그러기 위한 기능이 있습니다. 처음 3자( )를 건너뛰고 싶기 때문에 By
이 함수도 사용하겠습니다 MID
.
DATEVALUE(MID(Q3,4,LEN(Q3)))
그러면 네 번째 문자로 시작하는 모든 텍스트가 추출되어 날짜 값으로 변환됩니다. 이를 나머지 공식에 대입하면 다음과 같습니다.
=IF(LEFT(Q3,2)="By", "See authorizing lab", DATEVALUE(MID(Q3,4,LEN(Q3)))-L3)
답변2
확실히 이렇게 할 수 있습니다. 동일한 함수에 텍스트와 수학을 포함할 수 없을 이유가 없습니다 IF
.
IF
귀하의 예는 다음과 같은 함수 형식을 따르지 않습니다 .
=IF(logical_test, value_if_true, value_if_false)
즉, 각 부분을 쉼표로 구분해야 합니다. 따라서 코드는 다음과 같아야 합니다.
=IF(LEFT(Q3,2)="By", "see authorizing lab", Q3-L3)
SUM
(또한, 숫자의 범위를 추가하려는 경우가 아니면 이 기능을 사용할 필요가 없습니다 .)