지금 시트로 내가 원하는 아이템 입력하면 하위 재료랑 수량 셀 동적 범위에서 뜰 수 있도록
함수 급 공부해서 억지로 집어넣고 테스트 해보고 있는데
알다시피, 원본 데이터가 어떤 형태로 저장되어 있느냐에 따라서 함수 적용해야 할 방법이 달라짐
예시로 아래 표처럼 되어 있을 경우
INDEX | 생산품 | 소모 품목 | 소모 수량 |
100101 | 회로 기판 | 철괴 | 2 |
| 100102 | 회로 기판 | 구리 주괴 | 1 |
... | ... | ... | ... |
규칙 : 인덱스 6자리중 앞 4자리가 1001 의 경우 "회로 기판"을, 뒷 번호 01, 02,의 경우 앞 번호 4자리 아이템의 제조용 소모 품목을 표기
라는 가정 하에 임의로 데이터를 만듬
생산 시간은 어딘가 따로 표가 있겠지, 상위 품목 인덱스 1001 회로기판의 데이터 테이블이라던가.
아래 표 처럼 만들 생각이야.
검색 품목 | <검색 품목의 드롭다운 목록> |
생산 시간(초) | 2 |
| 소모 품목 | 소모 수량 |
소비재1 | 철괴 | 2 |
소비재2 | 구리 주괴 | 1 |
소비재3 | ||
... |
|
|
드롭 다운 목록에서 아이템을 검색, 혹은 선택한다면, 아래의 표에서 생산시간을 표기하고
소비되는 재화를 최대 6종류까지 동적 범위에서 표기하려고 해.(1개면 1개까지, 2개면 2개까지, 3개면 3개까지.)
문제는 정말 데이터가 위에서 내가 언급한대로 적용되어 있거나 하면 INDEX, MATCH, ROW, ROWS, SMALL 함수를 써가면서 표기하게끔 할 수 있는데.
아래처럼 데이터가 만들어져 있거나, 내가 만들어야 한다면 좀 골치가 아파지네
인덱스 | 생산품 | 생산량 | 소모시간(초) | 소비 품목1 | 소비 수량1 | 소비 품목2 | 소비 수량2 | 소비 품목3 | 소비 수량3 | .... |
1 | 자석 | 1 | 1.5 | 철광석 | 1 | |||||
2 | 자기코일 | 2 | 1 | 자석 | 2 | 구리 주괴 | 1 | |||
3 | 유리 | 1 | 2 | 돌 | 2 |
우선 저런 데이터일 경우 소비 품목 1,2,3~6의 재화에 대해서 동적으로 가로 검색, 가로 표기해야 하므로....
찾고자 하는 색인 조건인 "소비 품목#"이 열 기준으로 배치되어 있어서 ROW,ROWS가 아닌 COLUMN, COLUMNS로 인덱스/매치 함수를 써야 하니까.
만들고자 하는 동적 범위는 아래처럼 표기되게 돼(가로로 채우기를 긁어야 하므로)
구분 | 소비1 | 소비2 | 소비3 | .... | 소비6 |
품명 | 자석 | 구리주괴 | 철괴 | .... | |
수량 | 2 | 1 | 1 |
이렇게 하면 참 애로사항이 꽃피는데
1. 데이터 가로 배치로 한눈에 안 들어옴, 소비재 5개~7개씩 처먹는 시설제품의 경우 사용자인 내가 보기 힘들어짐.
2. 함수 조건문에 소비뒤에 붙는 숫자를 무시하도록 한 번 더 걸러줘야함 "소비1"이면 "소비"까지만 인지하도록 LEFT(대상 셀,2) 처리중임
그렇다고 로우 데이터가 내가 상상한 대로
INDEX | 생산품 | 소모 품목 | 소모 수량 |
100101 | 회로 기판 | 철괴 | 2 |
| 100102 | 회로 기판 | 구리 주괴 | 1 |
... | ... | ... | ... |
이렇게 되어 있다고 치면
결국 나는 이 데이터를 가지고 아래 처럼 만들어 쓰게 되므로
뭔가 1개의 레시피에 대해서 최종 생산 품목 한 개의 목차에 대해서 다음 목차가 나올때까지
초록색으로 된 아래 빈 칸을 계속 채워줘야 함.... 단순히 함수의 색인 기능을 원활하게 하기 위해서....개귀찮음;
생산품 | 소모시간(초) | 구분 | 소모 품목 | 수량 |
회로 기판 | 2 | 생산 | 회로 기판 | 2 |
회로 기판 | 2 | 소비 | 철괴 | 2 |
회로 기판 | 2 | 소비 | 구리 주괴 | 1 |
규소 결정 | 2 | 생산 | 규소 결정 | 1 |
규소 결정 | 2 | 소비 | 고순도 규소 | 1 |
현재 내 부족한 엑셀 및 데이터 관리 실력으로 아래 그림처럼 된 게 끝이야.
마우스 드래그로 하이라이트 된 부분의 데이터를 로우 데이터에서 내가 만든 형식대로 불러올 수 있다면
저런 시트를 계속 복사해서 제조 항목과 티어별로 시트 따로 파서 계산기 만들고 이 지랄을 안 해도 될텐데 흑흑
하....옛날에 듀랑고 한창 할 때도 내가 마을 대장장이였어서 엑셀 많이 썼었는데 그 몇 년 동안 안 써 버릇하니까 다 까묵어서 힘들어지네
근데 DSP 하면서 한 번이라도 저 짓을 하고 나니까
생산품이 목표치에 근사치라도 나오게 되니까 이걸 안하고는 못 배기는 몸이 되어버림.
그래서 뭔가 데이터 불러오는걸 자동화하고, 계산도 자동화 하고는 싶은데.
현재는 계산까지는 어케 자동화가 되는데
원본 로우 데이터를 자동으로 불러오는 기능 구현은 내가 너무 미숙하다.
원본 데이터를 불러와야 하기 때문에, 원본 데이터는 어떻게 구성하는게 좋을지...
옛날에 오빠두 엑셀에서 배운 것 처럼 애초에 항목을 잘 짜서 열 중심으로 아래로 데이터를 누적시켜야 할 지...
로우 데이터 만드는 방법도 참 중요하구나... 하고 깨달은 하루였다.
https://factoriolab.github.io/list?p=iron-ore*60&s=dsp&v=1#s=dsp
계산기 있는뎅...