[excel] Column에 Cell 값이 있는지 확인한 다음 NEXT Cell의 값을 가져옵니다.

열에 셀 값이 있는지 확인한 후 일치하는 셀 옆에있는 셀 값을 가져와야합니다 . 가치가 있다면 예를 들어, 나는 확인 cell A1에 존재 column B하며, 일치 가정 B5, 그때의 값을합니다 cell C5.

문제의 전반부를 해결하기 위해 이렇게했습니다 …

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")

… 그리고 작동했습니다. 그런 다음 SO에 대한 이전 답변 덕분에 일치하는 셀의 행 번호도 얻을 수있었습니다.

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))

그래서 자연스럽게 다음 셀의 가치를 얻기 위해 노력했습니다 …

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))

… 작동하지 않습니다.

내가 무엇을 놓치고 있습니까? 원하는 결과를 얻기 위해 반환 된 행 번호에 열 번호를 어떻게 추가합니까?



답변

VLOOKUP과 같은 다른 기능을 사용하십시오.

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", VLOOKUP(A1,B:C,2,FALSE))


답변

t.thielemans ‘대답 , 나는 단지 일했다

=VLOOKUP(A1, B:C, 2, FALSE)

잘 작동하고 내가 원하는 것을 수행하지만 #N/A일치하지 않는 경우 반환 됩니다. 따라서 조회 열에 해당 값이 확실히 존재한다고 알고있는 경우에 적합합니다.

편집 (t.thielemans의 의견에 따라) : 불일치

를 방지하려면 다음 을 #N/A수행하십시오.

=IFERROR(VLOOKUP(A1, B:C, 2, FALSE), "No Match")


답변

이건 어때?

=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", INDIRECT(ADDRESS(MATCH(A1,B:B, 0), 3)))

끝에있는 “3”은 C 열을 의미합니다.


답변