Sheet1에서 Sheet2로 많은 데이터를 가져오고 싶지만 오른쪽으로 명령을 당기면 세 번째 행마다 "C"가 "D"로 증가해야 합니다. 왜냐하면 오른쪽으로 당기는 명령이 3개 있고 모두 3이 아닌 1씩 증가해야 하기 때문입니다.
A1은 다음과 같습니다.
=WENN(Sheet1!C3>0;Sheet1!C$2;"")
B1은 다음과 같습니다.
=WENN(Sheet1!C3>0;Sheet1!$A3;"")
C1은 다음과 같습니다.
=WENN(Sheet1!C3>0;Sheet1!C3;"")
오른쪽으로 당기면 이렇게 변합니다.
=WENN(Sheet1!F3>0;Sheet1!F$2;"")
=WENN(Sheet1!F3>0;Sheet1!$A3;"")
=WENN(Sheet1!F3>0;Sheet1!F3;"")
하지만 나는 원한다:
=WENN(Sheet1!D3>0;Sheet1!D$2;"")
=WENN(Sheet1!D3>0;Sheet1!$A3;"")
=WENN(Sheet1!D3>0;Sheet1!D3;"")
내가 무슨 뜻인지 아시기를 바랍니다. 이를 수행할 수 있는 방법이 있습니까?
답변1
OFFSET
셀을 오른쪽으로 이동하려는 정도를 제어하기 위해 유용한 기능을 사용할 수 있습니다 .
Sheet2에서 3개 열마다 (Sheet1에서) 1개 열을 이동하려고 하므로 다음 함수를 사용할 수 있습니다.
=ROUNDUP(COLUMN()/3,0)-1
기본적으로 열 번호를 사용하고 이를 3으로 나눈 후 반올림합니다. 그런 다음 처음 3개 열을 이동하고 싶지 않기 때문에 1을 제거합니다. 이것을 오른쪽으로 당기면 다음과 같은 순서가 됩니다.0 0 0 1 1 1 2 2 2 3 3 3...
이제 셀을 얼마나 이동해야 하는지 알았으므로 C3
이 OFFSET
기능을 사용하여 올바른 데이터를 얻을 수 있습니다. 다음에서 사용해야 하는 공식은 다음과 같습니다 Sheet2
.
A1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,OFFSET(Sheet1!$C$2,0,ROUNDUP(COLUMN()/3,0)-1),"")
지하 1층
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,Sheet1!$A3,"")
C1
=IF(OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1)>0,OFFSET(Sheet1!$C3,0,ROUNDUP(COLUMN()/3,0)-1),"")
예상 결과:
독일어로 Excel을 사용하는 것 같습니다. 번역된 수식은 다음과 같습니다.
=WENN(BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1)>0;BEREICH.VERSCHIEBEN(Sheet1!$C$2;0;AUFRUNDEN(SPALTE()/3;0)-1);"")
=WENN(BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1)>0;Sheet1!$A3;"")
=WENN(BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1)>0;BEREICH.VERSCHIEBEN(Sheet1!$C3;0;AUFRUNDEN(SPALTE()/3;0)-1);"")