2017-09-29 1 views
0

셀 값이 날짜 범위 내에 있어야하는 일부 코드를 작성하려고합니다. 이것은 내가 (단순에 대한 몇 가지 이름 변경이기는하지만) 지금까지 작성한 것입니다 : 행에 셀이 단어가 포함 된 경우 "제출"Countifs 및 범위

=IF(COUNTIFS('[SheetA.xlsx]TabA'!A2:AA2, "submit", '[SheetA.xlsx]TabA'!B2:AB2, '[SheetA.xlsx]TabB'!**A9:A13**) >= 1, '[SheetA.xlsx]TabA'!C2, "") 

기본적으로 그것의 오른쪽에있는 셀은있다 날짜 (특정 범위 내에서 5 일), 그 행의 세 번째 셀을 반환하는 함수를 원합니다.

굵게 표시된 범위는 날짜 범위입니다.

범위를 사용할 때이 수식이 작동하지 않지만 단일 날짜를 입력하면 예상 값을 반환합니다. 무엇을 바꾸어야합니까? COUNTIF()의 범위가 연속 인 경우, 당신과 같이 그 주위를 얻을 수, 범위의 날짜를 발견하지에 관해서는

답변

0

:

COUNTIFS(A2:AA2, "submit", B2:AB2,">=" & LowestDate,B2:AB2,"<=" & HighestDate) 

당신이 범위의 범위를 비교하는 것이이 문제 따라서 전체 범위가 다른 모든 범위와 일치해야합니다. 범위가 같은 모양이 아니기 때문에 항상 false를 반환합니다. 대신 범위를 단일 값과 비교할 때 Excel은 범위 내에서 단일 값이 있으면 true를 원한다고 자동으로 판단합니다.

COUNTIFS()은 "제출"과 날짜를 찾은 곳을 반환하지 않으므로 외부 IF 문은 세 번째 셀의 위치를 ​​확인할 수 없습니다.

하나의 제출 만있을 경우 Match("submit",2:2,0)+2을 사용하여 "submit"의 상대 열을 찾아 2에 추가 한 다음 ADDRESS()을 사용하여 행을 기반으로 세 번째 셀의 주소를 작성할 수 있습니다. 마지막으로 INDIRECT() 안에 넣으면 세 번째 셀이 반환됩니다. 뭔가 같은 : 당신이 첫 번째 값을 MATCH() 발견을 반환하고 같이이 여러 일치하는 작동하지 않습니다

=INDIRECT(ADDRESS(ROW(A2),MATCH("submit",2:2,0)+2,1,1)) 

참고.

일반 행 번호를 사용하는 경우 수식을 열 아래로 끌면 ADDRESS()이 행 시리즈를 매우 잘 채울 수 없기 때문에 ROW()을 사용합니다.