
저는 F&B 업계에 종사하고 있는데 회사 소프트웨어에서 처리할 수 없는 문제가 있어서 엑셀로 관리하려고 합니다.
내부에 많은 구성 요소가 포함된 메뉴가 있습니다. 그래서 메뉴를 해당 구성 요소로 변환하려고 합니다(첨부된 이미지)
데이터만 있어요 : 닭고기 수프 3개
내 데이터베이스:
Column A | Column B | Column C
Chicken Soup | Water | 100 ml
Chicken Soup | Chicken Broth | 10 ml
Chicken Soup | Chicken Meat | 50 gr
그리고 나는 그 결과가 다음과 같기를 원합니다.
Water 300 ml
Chicken Broth 30 ml
Chicken Meat 150 gr
내가 시도한 것:
나는 넣었다내 데이터베이스 전부1장에 SUMIFS *(구성품 수량)을 사용합니다. SUMIFS는 A 열과 일치하는 모든 데이터를 요약하고 해당 구성 요소와 곱합니다.
내 작업의 문제점:
레시피가 너무 많아서(약 14,000개 행) 제가 시도한 공식을 계산하는 데 너무 많은 시간이 걸립니다(입력된 데이터당 약 10초).
데이터베이스를 워크시트로 설정하면 결과가 0인 행이 너무 많아집니다(기본적으로 일일 데이터의 평균 항목은 5~10개뿐이므로). 즉, 실제 데이터를 얻으려면 결과를 다시 정렬해야 합니다.
또한 피벗 테이블을 사용해 보았지만 피벗 테이블에는 ZERO 양이 포함된 모든 데이터가 표시됩니다(그러나 값만 있는 데이터만 필요함).
답변1
먼저 레시피 목록에서 재료를 가져오는 열을 설정하세요. 전체 메뉴를 살펴보고 해당 항목과 관련된 모든 재료를 찾습니다.
=IFERROR(INDEX($B$1:$B$9,SMALL(IF($A$1:$A$9=F$1,ROW($A$1:$A$9),9E+99),ROW($B1)-ROW($B$1)+1)),"")
ctr + Shift + Enter
( 배열 수식에서는 이것을 누르십시오.
그런 다음 색인 일치를 사용하여 수량을 찾습니다.
=INDEX($C$1:$C$6,MATCH(F2,$B$1:$B$6,0))*G$1&INDEX($B$1:$D$6,MATCH(F2,$B$1:$B$6,0),3)
레시피 및/또는 수량을 조정하면 목록이 자동으로 업데이트됩니다.