
ICT 작업의 일환으로 전함 게임을 만들어야 하는데 제가 생각했던 한 가지 방법은 다음을 사용하는 것이었습니다.
=IF(ISNUMBER(SEARCH("*x*",C3)),"HIT","MISS")
해당 셀에 x가 포함되어 있는지 확인하지만 분명히 정적이며 항상 C3을 확인합니다. C3:G8을 검색해야 하는데 그렇게 하면
=IF(ISNUMBER(SEARCH("*x*",C3:G8)),"HIT","MISS")
해당 셀을 모두 검색하며 HIT 또는 MISS를 반환하려면 x가 포함되어 있거나 포함되어 있지 않아야 합니다.
예를 들어 D4와 같은 셀을 두 번 클릭하면 D4를 가져와 거의 동적 수식처럼 수식에 넣을 것이라고 생각했습니다. 그게 가능할까요?
나는 이것에 잘못된 방식으로 접근하고 있습니까? 그렇다면 접근하는 더 좋은 방법은 무엇입니까?
감사해요
답변1
설명하는 "동적 수식"에는 VBA가 필요합니다. 시작하는 데 도움이 되는 방법을 포함시켰습니다. 이를 통해 사용자는 좌표를 입력하고 HIT 또는 MISS가 있는지 확인할 수 있습니다.
결과 셀에 사용되는 수식은 다음과 같습니다.
=IF(INDEX(C3:D5,MATCH(H3,B3:B5,0),MATCH(I3,C2:D2,0))="x","HIT","MISS")
더 읽기 쉽게 만들기 위해(숙제이므로...) 이름이 지정된 범위를 사용하고 싶은 유혹이 듭니다.
=IF(INDEX(grid,MATCH(H3,y_axis,0),MATCH(I3,x_axis,0))="x","HIT","MISS")
.
업데이트
조건부 서식을 사용하여 적중 및 누락을 표시하는 또 다른 유사하고 간단한 방법은 다음과 같습니다.
조건부 서식은 다음과 같은 간단한 수식을 사용합니다.
=AND(B3="x",H3="x") //for a hit
=AND(B3="x",H3="") //for a miss
남은 히트 수식은 다음과 같습니다.
=COUNTIF(H3:L16,"x")-SUMPRODUCT((H3:L16="x")*(B3:F16="x"))