특정 값 세트를 사용하여 행에서 비어 있지 않은 마지막 셀 찾기

특정 값 세트를 사용하여 행에서 비어 있지 않은 마지막 셀 찾기

각 행이 단일 학생인 학생 데이터 스프레드시트가 있습니다. 특정 수업에는 1~N의 여러 열이 있습니다. 여기서 N은 학생이 강좌를 반복한 최대 횟수입니다. 따라서 코스가 최대 4번 반복된 일부 예제 데이터는 E열에 계산됩니다.

+---+-------+-------+-------+-------+-----------+
|   |   A   |   B   |   C   |   D   |     E     |
+---+-------+-------+-------+-------+-----------+
| 1 | 225-1 | 225-2 | 225-3 | 225-4 | 225-final |
| 2 | F     | EP    | C     |       | C         |
| 3 | A     |       |       |       | A         |
| 4 | W     | D     | W     | F     | F         |
| 5 | EP    | C     |       |       | C         |
+---+-------+-------+-------+-------+-----------+

나는 이미 lookup내가 원하는 것에 가까워지는 기능을 발견했습니다. 예를 들어, LOOKUP("X",A2:D2)특정 학생에 대해 비어 있지 않은 가장 높은(즉, 알파벳의 최신) 열을 가져옵니다. 위의 데이터를 고려하면 다음과 같은 출력을 얻게 됩니다.

+---+-------+-------+-------+-------+-----------+
|   |   A   |   B   |   C   |   D   |     E     |
+---+-------+-------+-------+-------+-----------+
| 1 | 225-1 | 225-2 | 225-3 | 225-4 | 225-final |
| 2 | F     | EP    | C     |       | F         |
| 3 | A     |       |       |       | A         |
| 4 | W     | D     | W     | F     | W         |
| 5 | EP    | C     |       |       | EP        |
+---+-------+-------+-------+-------+-----------+

이에 대한 문제점은 다음과 같습니다.

  1. 비어 있지 않은 가장 높은 열 값보다는 실제로 가장 낮은 값을 원합니다. 따라서 D, F, W, EP 또는 EF를 획득한 학생은 해당 수업을 대체할 수 있으며 (희망적으로) 향후 시도에서 더 나은 성적을 얻을 수 있습니다. W, EP 또는 EF가 아닌 가장 최근 시도를 캡처하고 싶습니다(해당 내용은 아래 참조). 이것이 항상 더 나은 성적은 아니라는 점에 유의하십시오. 학생들이 D를 받고 성적을 대체한 다음 F를 받도록 했습니다. 저는 F를 받고 싶습니다.

  2. 이를 복잡하게 만드는 한 가지 문제는 학생들이 포함되어서는 안 되는 EP 또는 EF 등급을 받고 결국 내 현재 접근 방식에 따라 더 높은 문자 등급을 대체하게 되고, 반대로 할 수 있으면 F를 대체하게 될 수 있다는 것입니다 lookup. 학생이 해당 과정을 통과하거나 실패하면서 긴급 철회를 했습니다. 일을 단순화하기 위해 모든 EP 및 EF 값을 WP 또는 WF로 대체할 수도 있을 것 같습니다. 내가 이렇게 하면 귀하의 답변에 영향을 미치게 되므로 주의하시기 바랍니다!

답변1

첫 번째 행렬을 살펴보면 해당 행의 비어 있지 않은 마지막 셀에 관심이 있는 것 같습니다. 조건에 따라 EP, EF또는 와 같을 수 없습니다 W. 이것이 올바른 가정인가요? 그렇다면 아래를 사용하세요.

여기에 이미지 설명을 입력하세요

공식 E2:

=INDEX(A2:D2,,AGGREGATE(14,3,(A2:D2<>"")*(A2:D2<>"W")*(A2:D2<>"EP")*(A2:D2<>"EF")*(COLUMN(A2:D2)),1))

아래로 드래그하세요....

이것이 원하는 것이 아니라면 제약 조건이 무엇인지 알려주시겠습니까? 현재로서는 때때로 마지막 값이 원하는 값이라고 설명하고 결국에는 제약 조건을 명시합니다.

편집하다:

어떻게 작동하나요?

AGGREGATE방정식에서 반환된 가장 높은 숫자(14개 매개변수당)를 가져옵니다. 방정식 (A2:D2<>"")*(A2:D2<>"W")*(A2:D2<>"EP")*(A2:D2<>"EF")*(COLUMN(A2:D2)은 지정된 모든 규칙에 따라 1과 0의 배열에 해당 열 번호를 곱한 값을 반환합니다. 가장 높은 열 번호 결과가 적격 값이 됩니다.

그런 다음 이 가장 큰 숫자를 INDEX함수의 열 매개변수로 사용합니다.

관련 정보