
Excel에서 동적 송장을 만들려고 합니다. 동적 부분은 사용자가 목록에서 청구서가 있는 매장을 선택할 수 있다는 것입니다. 매장을 선택한 후 사용 가능한 항목을 채우려고 합니다.
내 통합 문서의 한 시트에는 상점, 제품 및 각 상점이 취급하는 제품(둘 사이의 교차 기록)을 정의하는 다양한 테이블이 있습니다. 내 예에서 "Corner Market"은 4개 제품을 모두 취급하지만 "Tim's Hardware"는 1/2" 와셔와 드릴 비트 세트만 보유합니다.
사용자가 적절한 매장(N3 및 N21)을 선택할 때마다 연결된 스크린샷의 N5 및 N23에서와 같은 동적 테이블을 생성하고 싶습니다. 따라서 Store Name 값이 변경되면 테이블도 변경되어야 합니다. (인보이스 1개만 생성하고 싶지만 예시로 스크린샷에 2개를 포함했습니다.) 그런 다음 사용자는 수량 값을 입력하여 각 품목 가격과 송장 총액을 생성할 수 있습니다.
나는 이와 같은 일을 달성하는 가장 좋은 방법에 대한 조언을 찾고 있습니다. 가능하다면 VBA 매크로를 사용하지 않으려고 노력하고 있습니다. 피벗 테이블이 해결책이 될 수도 있고 데이터 관계와 관련된 것일 수도 있습니다(저에게는 익숙하지 않습니다).
스크린샷:https://i.stack.imgur.com/ICZDW.png
도움을 주시면 감사하겠습니다. 미리 감사드립니다!
답변1
Power Pivot의 데이터 모델에 3개의 테이블을 추가할 수 있습니다.
하지만 Power Pivot은 '에 언급된 Office 제품에서 찾을 수 있습니다.파워 피벗은 어디에 있나요?'. 이들 간의 관계는 다음 이미지와 같습니다.
그만큼매장ID표 2와제품 ID표 3에는 기본 키 필드가 있습니다.
그런 다음 파워 피벗 테이블을 만들 수 있습니다.
그만큼가게 이름필터 필드일 수 있습니다. 제품 이름은 행 필드일 수 있고 단가는 값 필드일 수 있습니다.
그러나 Quantity 및 Price 열은 다음 열에 쓸 수 있습니다.
가격 제목 아래에 수식을 입력할 수 있습니다 =IF(P12="","",GETPIVOTDATA("[Measures].[Sum of Unit Price]",$N$11,"[Table3].[Product Name]","[Table3].[Product Name].&[1/2"" Washer]")*P12)
. 수식을 드롭하여 충분히 넓은 범위의 데이터를 포괄하세요. 예를 들어 다음에서 범위를 선택합니다.Q12:Q21가격 값을 얻으려면. 의 부분GETPIVOTDATA("[측정값].[단가 합계]",$N$11,"[표3].[제품명]","[표3].[제품명].&[1/2"" 세탁기]" )대신 마우스를 사용하여 O12를 선택할 수 있습니다.
합계에는 수식을 입력할 수 있습니다 =IF(SUM(Q12:Q21)>0,SUM(Q12:Q21),"")
.