일을 나타내는 새 시트를 만드는 문서가 있습니다 (그런 식이어야합니다). 각 시트에는 전날을 나타내는 시트의 동일한 셀에 대한 참조가 있습니다. 따라서 “화요일”시트는 “월요일”시트 등에서 일부 값을 가져옵니다. 공식은 다음과 같습니다.
Description Amount
="Saldo from "&TEXT($'Day03'.C4,"DD.MM.YYYY.") =$'Day03'.F33
내가 보는 결과는 Saldo from 1 June 2016, Amount $55.00
새 시트를 만들어 이름을 지정하고 시트 Day05
의 내용을 붙여 넣으면 Day04
참조하는 수식을 업데이트하는 방법 Day03
이 Day04
있습니까? 현재 컨텐츠는 여전히 시트에서 데이터를 가져옵니다 Day03
.
요컨대, sheet의 내용을 복사 할 때 Day04
수식이 다음과 같이 업데이트되는 것을보고 싶습니다.
Description Amount
="Saldo from "&TEXT($'Day04'.C4,"DD.MM.YYYY.") =$'Day04'.F33
현재 시트 이름 참조가 업데이트되지 않고 Day05
시트가 여전히 데이터를 가져옵니다.Day03
Description Amount
="Saldo from "&TEXT($'Day03'.C4,"DD.MM.YYYY.") =$'Day03'.F33 //<-- WRONG is 03 ref!
답변
문제는 새 시트를 만들고 기존 시트의 내용을 복사하고 셀에 대한 참조를 두 번째 기존 시트로 변경하는 것입니다. 으로 사티 미 슈라는 말한다, 그 변경하여 수동으로 수행 할 수 'Day03'!
로 'Day04'!
, 새 시트에 복사 한 후 Day05
.
이전 시트에서 새 시트로 복사 할 때 자동으로 변경하려면 문제를 다시 설명하겠습니다. 새 시트를 작성하고 이전 시트의 내용을 복사하십시오. 새 시트의 이름을 사용하여 이전에 명명 된 시트를 참조하십시오.
다음은 F33
이름이 지정된 이전 시트에서 셀의 내용을 가져 오는 현재 시트의 수식입니다 . 예를 들어 현재 시트가 인 경우 시트 Day05
에서 수식을 가져 F33
옵니다 Day04
.
= INDIRECT (CONCATENATE ( " 'Day", TEXT (MID (CELL ( "파일 이름", $ A $ 1), FIND ( "]") ", CELL ("filename ", $ A $ 1)) + 4,255) -1,"0) # ")," '! ","F33 "))
수식 작동 방식
이 수식은 INDIRECT
이전 시트에서 셀 값을 가져 오는 데 사용 됩니다. 현재 시트 인 경우 Day05
우리가 셀을 원하는 F33
, INDIRECT
셀을 참조하는 문자열이 필요 F33
시트를 Day04
. 필요한 문자열은 'Day04'!F33
입니다.
- 현재 시트 의 시트 이름 을 가져옵니다.
Day05 = MID (CELL ( "파일 이름", $ A $ 1), FIND ( "]", CELL ( "파일 이름", $ A $ 1)) + 1,255)
- +1을 +4로 변경하여 시트 이름 끝에 숫자를 갖도록 수식을 수정하십시오. 3 일 “Day”를 건너 뜁니다.
05 = MID (CELL ( "파일 이름", $ A $ 1), FIND ( "]", CELL ( "파일 이름", $ A $ 1)) + 4,255)
- 1을 빼서 이전 시트의 숫자 부분을 얻습니다.
4 = MID (CELL ( "파일 이름", $ A $ 1), FIND ( "]", CELL ( "파일 이름", $ A $ 1)) + 4,255) -1
TEXT
선행 0으로 숫자를 채우는 데 사용 합니다.
04 = TEXT (MID (CELL ( "파일 이름", $ A $ 1), FIND ( "]", CELL ( "파일 이름", $ A $ 1)) + 4,255) -1, "0 #")
CONCATENATE
cell을 참조하여 새 시트 이름을 만드는 데 사용하십시오F33
.
'Day04'! F33 = CONCATENATE ( " 'Day", TEXT (MID (CELL ( "파일 이름", $ A $ 1), FIND ( "]", CELL ( "파일 이름", $ A $ 1)) + 4,255) -1) , "0 #"), " '!", "F33")
수식 사용
이전 시트의 셀 값을 원하는 경우 셀 참조 대신 수식을 사용하고 수식의 마지막 문자열을 셀 참조로 변경하십시오. 예를 들어, 셀을 사용 C4
하여 설명을 표시하려면 ( C4
공식의 주의 사항 ) :
= ""& TEXT (INDIRECT (CONCATENATE ( " 'Day"), TEXT (MID (CELL ( "filename", $ A $ 1), FIND ( "]", CELL ( "filename", $ A $ 1))) +4,255)의 Saldo) ) -1, "0 #"), " '!", "C4")), "DD.MM.YYYY.")
결과는 Saldo from 01.06.2016.
조건과 경고
- 각각의 시트 이름은 예를 들어, 두 개의 숫자로 끝나야합니다
Day02
,Day03
등 - 새 시트의 이름이 정확해질 때까지 수식이 작동하지 않습니다. 시트 이름이 잘못되면
#VALUE!
오류가 발생 합니다.
답변
이 작업을 자동으로 수행하는 방법을 찾지 못했습니다. 그러나 “검색 및 바꾸기”(Ctrl + H)가 작동하는 것 같습니다.
답변
Scott Craner의 의견 덕분에 해결책을 찾았습니다. 나는 그것이 긴 공식이 될 것이라고 경고합니다.
XX 번호가있는 ‘DayXX’가있는 모든 곳에서 te XX를
&MID(MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255),FIND("y";MID(CE("filename",A1),FIND("]";CEL("filename";A1))+1,255))+1,2)-1
이것은 파일 이름을 찾고 날부터 y를 검색하고 파일 이름에서 nummer를 추출하고 파일에서 1을 뺍니다. 원하는 경우 설명을 추가하면됩니다.
답변
이 시트의 이름을 변경할 때 Excel은 시트에 대한 참조를 조정합니다. 모든 참조의 이름이 자동으로 바뀝니다. 이 기능으로 문제를 해결해 봅시다 : 참조 이름을 바꾸는 대신 시트 이름을 바꾸 겠습니다 .
- 요일과 함께 통합 문서를 엽니 다.
- 이전과 같이 새 날의 데이터 (예 : “Day05”)가있는 시트를 작성하십시오. 마지막으로, 복사 후 Day03을 참조하더라도 Day04 시트의 수식을 복사하여 저장하십시오. 통합 문서를 아직 닫지 마십시오!
- 비어있을 수있는 다른 통합 문서를 열고 임시 참조를 보유하고 Day05 시트를 이동하십시오 (이를 수행하려면 Day05를 마우스 오른쪽 단추로 클릭하고 ‘이동 또는 복사 …’를 선택한 후 다른 통합 문서를 운명으로 선택하십시오).
- “Day04″시트를 삭제하고 “Day03” 시트 이름을 “Day04″로 변경하십시오 . 이것은 까다로운 부분입니다!
이제 새 통합 문서에서 “Day05″시트의 이름이 바뀌어 Day03 대신 Day03 (첫 번째 통합 문서에서)으로 참조가 설정되어 있음을 알 수 있습니다. 다음으로이 시트를 원래 통합 문서로 다시 옮깁니다.
- 마지막 저장 후 변경 사항을 무시하고 원본 통합 문서를 닫습니다.
- 통합 문서를 다시 열고 임시 통합 문서에있는 Day05 시트를 다시 이동하십시오. 시트의 이름을 바꾸는 대신 변경 사항을 버렸기 때문에 현재 통합 문서의 Day04에 대한 참조는 여전히 있습니다.
oil! 이것은 Excel에서 참조의 이름을 바꾸는 속임수입니다.
언뜻보기에는 쉽지 않은 것처럼 보이지만 프로그래밍 지식없이 단계를 제어 할 수 있기 때문에 수식이나 VBA를 사용하는 것보다 사용하기가 더 쉽다고 생각합니다. 또한 각 참조의 이름을 바꾸는 것보다 쉽습니다.
그것이 도움이되기를 바랍니다!
편집 1
물론이 활동으로 매크로를 기록하고 더 빨리 호출 할 수 있도록 조정할 수도 있습니다.