진행 중인 작업 주문에 대한 주간 상태를 CSV 파일로 받습니다. 여기에는 완료 프로세스의 다양한 단계와 관련된 3자리 상태 코드가 포함됩니다.
상태 코드 대신 일반 언어 정의를 넣어야 합니다.
내 스프레드시트는 이 작업을 자동으로 수행하지만 지금 내가 수행하는 방식은 스프레드시트가 정말 비효율적이라고 생각합니다. 이 작업을 수행하는 시트 자체는 75MB가 넘으며 모든 작업을 수렁에 빠뜨립니다.
현재 시트가 작동하는 방식은 [@[SO Codes]에 CSV의 상태 코드가 있고 행 1에 정적 코드 목록이 있는 16열 그리드입니다. 각 행은 다음과 같이 가로 16개입니다.
=IF([@[SO Codes]]=Table3[[#Headers],[AA]],1,0)
=IF([@[SO Codes]]=Table3[[#Headers],[CA]],2,0)
=IF([@[SO Codes]]=Table3[[#Headers],[CAN]],3,0)
등
따라서 각 상태 코드에는 16x[열린 작업 주문 수] 그리드에 표시되는 1부터 16까지의 숫자가 할당됩니다.
의 마지막 열은 다음과 같습니다.
=SUBTOTAL(9,E2:T2)
=SUBTOTAL(9,E3:T3)
=SUBTOTAL(9,E4:T4)
등
마지막으로 다음과 같은 줄이 내 추적기에 입력됩니다.
=CHOOSE([@Status],IF([@Status]=J2,L2),IF([@Status]=J3,L3),IF([@Status]=J4,L4),IF([@Status]=J5,L5),IF([@Status]=J6,L6),IF([@Status]=J7,L7),IF([@Status]=J8,L8),IF([@Status]=J9,L9),IF([@Status]=J10,L10),IF([@Status]=J11,L11),IF([@Status]=J12,L12),IF([@Status]=J13,L13),IF([@Status]=J14,L14),IF([@Status]=J15,L15),IF([@Status]=J16,L16),IF([@Status]=J17,L17))
여기서 L 열은 일반 텍스트 코드 정의 목록이고 J3는 상태 코드 계산기에서 소계를 제공합니다.
나는 이 작업을 수행하는 데 더 우아하고 효율적인 방법이 있어야 한다는 것을 도울 수 없습니다. 어떤 통찰력이 있습니까? CSV의 코드에 =CHOOSE 함수를 직접 사용해 보았지만 숫자 값에서만 작동합니다. 제가 잘 설명하지 못한 것 같아서 각 단계의 사진을 포함시켰습니다.
답변1
Choose 수식은 다음과 같이 작성할 수 있습니다.
=Vlookup([@Status],$J$2:$L$17,3,False)
나머지 문제가 무엇인지 잘 모르겠습니다.
답변2
코드 계산기:
긴 테이블 대신 다음을 사용할 수 있습니다 MATCH()
.
=MATCH([@[SO CODES]],TableHelper[code list],0)
트래커
여기서는 원래 공식을 올바르게 이해하고 있는지 잘 모르겠습니다.
=CHOOSE([@Status],IF([@Status]=J2,L2),IF([@Status]=J3,L3)...
- 만약 [@Status]<>J2
? 아니면 비현실적인 시나리오인가요? 그렇다면 간단한 INDEX()
기능을 사용하십시오.
=INDEX($L$2:$L$17,[@Status])
그렇지 않은 경우 수식에서 수행할 작업을 지정하세요.
궁극적인 최적화:
다시 말하지만, 문제를 잘 이해했다면 이중 시트도 필요하지 않고 하나만 필요합니다.
CSV의 코드에 =CHOOSE 함수를 직접 사용해 보았지만 숫자 값에서만 작동합니다.
VLOOKUP()
실제로 다음과 같이 코드를 직접 입력할 수 있습니다 .
=VLOOKUP(<code>,$J:$K,2,false)
어디
<code>
설명을 얻으려는 코드입니다.$J:$K
스크린샷에 따른 코드 및 설명 열입니다.