
일부 데이터를 가져와야 하는 테이블이 있는데 이 작업을 수행하는 방법을 잘 모르겠습니다.
다음은 테이블의 예입니다.
| A + B + C + D + E + F |
|--------+--------+---------------+-------+--------+--------|
| FNAME | LNAME | FULLNAME | GRADE | EFFORT | CODE |
|--------+--------+---------------+-------+--------+--------|
| FNAME1 | LNAME1 | FNAME1 LNAME1 | A | | GRADE |
|--------+--------+---------------+-------+--------+--------|
| FNAME1 | LNAME1 | FNAME1 LNAME1 | H | | EFFORT |
|--------+--------+---------------+-------+--------+--------|
| FNAME2 | LNAME2 | FNAME2 LNAME2 | C | | GRADE |
|--------+--------+---------------+-------+--------+--------|
나에게 필요한 것은 노력 등급을 노력 열로 옮기되 다른 행으로 옮기는 것입니다. 아래 예.
| A + B + C + D + E + F |
|-------+-------+-----------+-------+--------+--------|
| FNAME | LNAME | FULLNAME | GRADE | EFFORT | CODE |
|-------+-------+-----------+-------+--------+--------|
| NAME1 | NAME1 | NAMENAME1 | A | | GRADE | ← To column E here ←
|-------+-------+-----------+-------+--------+--------| ↑
| NAME1 | NAME1 | NAMENAME1 | H | | EFFORT | → Move this Grade from column D ↑
|-------+-------+-----------+-------+--------+--------|
그래서 제가 원하는 예는...
| A + B + C + D + E + F |
|--------+--------+---------------+-------+--------+--------|
| FNAME | LNAME | FULLNAME | GRADE | EFFORT | CODE |
|--------+--------+---------------+-------+--------+--------|
| FNAME1 | LNAME1 | FNAME1 LNAME1 | A | H | GRADE |
|--------+--------+---------------+-------+--------+--------|
| FNAME2 | LNAME2 | FNAME2 LNAME2 | C | | GRADE |
|--------+--------+---------------+-------+--------+--------|
중요한 점은 모든 학생이 노력 점수를 갖고 있는 것은 아니며, 노력 점수가 없으면 해당 점수를 받을 수 없다는 것입니다. 또한 때로는 주석 등이 포함된 추가 행이 있으므로 데이터가 일정하지 않습니다.
답변1
새 시트에서 헤더( A1:F1
)를 복사하고 도우미 열에 1을 입력합니다. 나는 당신이 Column 을 사용하고 있다고 가정하겠습니다 G
. 즉, 셀 G1
. 입력하다
=IF(INDEX(Sheet1!A:A, $G2)<>"", INDEX(Sheet1!A:A, $G2), "")
으로 A2
, 그리고 오른쪽으로 드래그/채우기하여 F2
. 그런 다음 E2
으로 변경
=IF(INDEX(Sheet1!F:F, $G2+1)="EFFORT", INDEX(Sheet1!D:D, $G2+1), "")
그리고 입력
=IF(INDEX(Sheet1!F:F, $G1+1)="GRADE", $G1+1, $G1+2)
안으로 G2
. A2:G2
필요한 만큼 선택 하고 드래그/채우세요.
G
그런 다음 원하는 경우 Column 을 숨깁니다 .
열은 (주로) 데이터를 그리는 G
행의 인덱스(새 시트)입니다 . Sheet1
CODE가 인 행을 가리키지 않는 한 이전 행의 인덱스보다 하나 더 많습니다. GRADE
이 경우 행이라고 가정 EFFORT
하고 이전 행에 2를 추가합니다(즉, 행을 건너뛰기 위해 EFFORT
). 열 A
- D
및 는 Column 으로 색인화되어 의 F
동일한 열에서 복사됩니다 . 열(EFFORT)의 공식은 현재 학생이 두 개의 행을 가진 학생인지 확인하고(따라서 CODE가 있는 동일한 학생을 나타냄 ) 그렇다면 두 번째 행의 열에서 EFFORT 성적을 가져옵니다.Sheet1
G
E
$G2+1
EFFORT
D
이러한 데이터의 경우:
+ A + B + C + D + E + F +
+-------+--------+--------------+-------+--------+--------+
| FNAME | LNAME | FULLNAME | GRADE | EFFORT | CODE |
+-------+--------+--------------+-------+--------+--------+
| John | Smith | John Smith | A | | GRADE |
| John | Smith | John Smith | H | | EFFORT |
| Mary | Jones | Mary Jones | B | | GRADE |
| Isaac | Newton | Isaac Newton | A+ | | GRADE |
| Isaac | Newton | Isaac Newton | C | | EFFORT |
+-------+--------+--------------+-------+--------+--------+
나는 다음과 같은 결과를 얻었습니다.
답변2
피벗 없이 처리할 수 있습니다.
귀하의 예를 바탕으로 다음 Effort
열에 다음 내용을 입력하세요 Sheet2
.
=INDEX(Sheet1!$D$2:$D$10, MATCH(1, (Sheet2!$C2 = Sheet1!$C$2:$C$10) * (Sheet1!$F$2:$F$10 = "EFFORT"), 0))
Ctrl+ Shift+를 눌러 Enter배열 수식을 삽입합니다.
설명
Sheet1!$D$2:$D$10
Effort
Sheet1의 원본 테이블에 있는 열 입니다 .
(Sheet2!$C2 = Sheet1!$C$2:$C$10)
일치하는 항목을 찾고 있습니다.FULLNAME
(Sheet1!$F$2:$F$10 = "EFFORT")
CODE
은(는) 일치 하는 "EFFORT"를 찾고 있습니다.
둘 다 부울 값을 반환 0
하고 1
. 두 조건이 모두 일치하면(FULLNAME 및 CODE가 일치하는 행을 찾았음) 함수 1 * 1
에 1( )을 반환합니다 MATCH
.