이에 대한 나의 목표는 장비 시간을 추적하고 총 시간과 실행 시간을 반영하는 일일 보고서를 작성하는 것입니다.
한 달 전체에 대한 통합 문서에 31일의 워크시트가 포함된 파일을 만들어 파일을 날짜별로 정리할 수 있도록 하고 싶습니다.
파일의 워크시트 순서는 다음과 같습니다.
첫 번째 워크시트는 지난 달의 시작 시간 요약입니다.
다음 31개 워크시트는 해당 월의 각 날짜에 대한 1부터 31까지입니다.
마지막 워크시트에는 다음 달 시작 요약에 대한 특수 값만 복사하여 붙여넣기 위해 기본적으로 월 말일의 종료 정보가 포함됩니다. 해당 월의 일수가 달라지더라도 영향을 받지 않습니다.
사용자가 관련된 수식을 조작하지 않고도 통합 문서를 설정하고 사용할 수 있기를 바랍니다. 사용자가 해야 할 일은 첫 번째 시트에 시작 시간을 입력한 다음 매일 다양한 장비에 대한 하루 종료 시간을 입력하는 것입니다.
한 열의 예:
시트 1# --- 전월 말 요약 시트
셀 위치:(시트 1~~셀 A1)
셀 수식: 수식 없음 - 사용자가 월말 시간에 대해 입력한 숫자100
완성된 모습:
100
시트 2#--- 1일차
셀 위치:(시트 2 ~~셀 A1)
셀 수식: 수식 없음 - 하루 종료 시간에 대해 사용자가 입력한 숫자
용도 : 오늘의 총 시간 - 하루가 끝날 때 사용자가 입력한 값 -125
셀 위치:(시트 2 ~~셀 A2)
셀 수식: =+'시트 1'!A1
사용: 전날 종료 시간 - (시트 1 ~~~~셀 A1-에서 가져온 값)100
셀 위치:(시트 2 ~~셀 A3)
셀 수식: =A1-A2
용도: 오늘의 런타임 -시트 2~A1 셀의 값을 시트 2~A2 셀에서 뺀 값의 단순 계산 "위의 셀"-24
완성된 모습:
124
100
24
다음날은 다음과 같이 설정됩니다.
시트 3#--- 2일차
셀 위치:(시트 3, 셀 A1)
셀 수식: 수식 없음 - 하루 종료 시간에 대해 사용자가 입력한 숫자
용도 : 오늘의 총 시간 - (사용자가 하루종일 입력한 값 -148
셀 위치:(시트 3, 셀 A2)
셀 수식: =+'시트 2'!A1
사용: 전날의 끝 시간부터 - (시트 2 - 셀 A1에서 가져온 값 -124
셀 위치:(시트 3 - 셀 A3)
셀 수식: =A1-A2
용도: 오늘의 런타임 - 시트 3 셀 - A1 - 시트 3~A2 "같은 시트에 있는 위 셀"의 값을 간단하게 계산합니다.24
완성된 모습:
148
124
24
그게 제일 쉬웠는데......
이제 여러 열의 숫자로 쉽게 31일 가치를 만들 수 있습니다.
시트 4#,
탭을 마우스 오른쪽 버튼으로 클릭하고 이동 또는 복사를 선택한 다음 복사본을 만듭니다. 새 탭의 이름을 "시트 4"로 바꿉니다.
새 워크시트를 만드는 위의 방법을 수행하면 수식이 이전 시트와 동일하게 나오고 동일한(시트 2) 위치에서 정보를 가져옵니다.
셀 A1사용자가 입력한 번호이며 복사된 시트와 동일하게 번호가 전송됩니다.
셀 A2이제 다음과 같이 복사됩니다: =+'sheet 2'!A1
셀 A3동일한 시트 내의 셀에서 계산되는 일반 "=A1-A2" 계산으로 복사됩니다. 아무 문제 없습니다.
나는 공식을 원한다.셀 A2다음과 같이 자동으로 업데이트됩니다.
=+'시트 3'!A1다음 시트를 만들 때.
수동으로 수정하지 않고 새 시트에서 수정된 셀 수식을 가져오려면 어떻게 해야 합니까?
한 시트에서 40개 이상의 정보 셀을 가져와서 다음 날로 전송하려면 수동으로 입력하고 이를 1240회 이상 변경하여 한 달을 설정하는 것은 너무 많은 일입니다.
답변1
기본적으로 '=+'sheet 3'!A1' 수식에서 찾아서 '=+'sheet 4'!A1'로 바꾸려고 합니다. 이전에는 이와 같은 Excel 스프레드시트를 1년 동안 2개나 만들어야 했는데 이것이 제가 작업할 수 있는 최고의 솔루션이었습니다.
답변2
다음은 탭 이름이 제어되고 설명된 대로 오름차순 숫자로 끝난다는 가정 하에 원하는 작업을 수행하는 방법입니다.
나는 당신을 위해 그것을 분석할 것입니다:
내가 어떤 시트에 있는지 알아야 하므로 전날 시트의 이름을 "계산"하는 방법을 알고 있습니다. 의 말을하자더블 엑스=
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,256)
. 시트 1에서는 "시트 1"이라는 문자열을 반환하고, 시트 2에서는 "시트 2"를 반환합니다.이제 이 문자열을 구문 분석하여 숫자를 알아내고 여기서 1을 빼서 어제 숫자를 구해야 합니다. 단, 1일이 아닌 경우에만 해당됩니다.YY=
=IF(MID(XX,7,2)>1,MID(XX,7,2)-1,1)
마지막으로 마법이 있습니다. 이
INDIRECT
기능을 사용하여 즉시 "목표"를 계산할 수 있습니다.=INDIRECT("'Sheet "& YY &"'!A1")
굵은 글씨/기울임꼴로 사용자 정의해야 하는 부분과 함께 모두 정리하세요(코드 내부에서 강조 표시가 작동하지 않는 것 같아서 코드 마크업을 사용하지 않았습니다).
=간접("'시트"& IF(MID(MID(CELL("파일 이름",A1),FIND("]",CELL("파일 이름",A1))+1,256),7,2)>1,MID(MID(CELL("파일 이름",A1),FIND("]",CELL("파일 이름",A1))+1,256),7,2)-1,1) &"'!A1")
업데이트해야 할 사항:
- '시트' -- 시트 접두사(번호 앞 부분)로 바꿉니다.
- '7' -- 위 접두사 길이 +1로 대체(또는 함수로 대체)
- 'A1' -- 이전 시트에서 원하는 셀 주소로 바꿉니다.
- "파일 이름"을 변경하지 마세요. 그대로 유지해야 합니다(특수 예약 이름).
- CELL 함수 내부에서 A1을 변경할 필요가 없습니다. 이는 임의적이며 이 예약된 이름에는 실제로 필요하지 않으며 변경할 필요가 없습니다.