Excel에는 아래와 같이 "ROSTER"와 "PRESENT"라는 두 개의 열이 있습니다.
"NOT HERE" 열을 달성하는 공식이 있나요? 나는 사용해 보았습니다 VLOOKUP()
.https://superuser.com/a/289653/135912아무 소용이 없다 =(
어떤 도움이라도 주시면 감사하겠습니다!
감사해요!
답변1
이 작업을 단독으로 수행할 수 있는 내장 함수는 없습니다.
"Not Here" 열에서 이 배열 수식을 사용해 볼 수 있습니다(MS Excel 2007+).
=IFERROR(INDEX(roster,SMALL(IF(COUNTIF(present,roster)=0,ROW()-1,""),ROW()-1),1),"")
(내 예에서)
roster
참조하는 명명된 범위는 $A$2:$A$21
present
다음을 참조하는 명명된 범위입니다.$B$2:$B$21
수식을 입력하려면 Not Here 열에서 셀을 선택합니다(제 경우에는C2아래로C21), 수식을 입력하고 Ctrl+ Shift+를 누릅니다.Enter
답변2
이것은 약간 과잉일 수 있지만 작동합니다. 최종 결과(Not Here 2)에 도달하기 전에 공백이 포함된 중간 'Not Here' 열이 있어도 괜찮기를 바랍니다.
무대 뒤에서:
사용 중인 명명된 범위:
- 명단: (B3:B19)
- 현재: (C3:C19)
- 여기에는 없습니다: (F3:F19)
범위(D3:D19)에 배열 수식이 입력되었습니다...
{=IF(ISERROR(MATCH(Roster,Present,0)),Roster,"")}
셀에 입력된 배열 수식(E3:E19)...
{=IFERROR(INDEX(NotHere,SMALL(IF(FREQUENCY(IF(NotHere<>"",MATCH(ROW(NotHere),ROW(NotHere)),""),MATCH(ROW(NotHere),ROW(NotHere)))>0,MATCH(ROW(NotHere),ROW(NotHere)),""),ROW(A1)),COLUMN(A1)),"")}
{=IFERROR(INDEX(NotHere,SMALL(IF(FREQUENCY(IF(NotHere<>"",MATCH(ROW(NotHere),ROW(NotHere)),""),MATCH(ROW(NotHere),ROW(NotHere)))>0,MATCH(ROW(NotHere),ROW(NotHere)),""),ROW(A2)),COLUMN(A2)),"")}
등...
이 방법은 장황한 해결책처럼 보이지만 워크시트 내의 테이블 위치에 관계없이 작동합니다. 또한 #num
해당 버전을 사용하는 경우 Excel 2007에서 오류를 제거합니다 .