
나는 현재 함께 일하고 있습니다1 번 테이블그리고 총 매출을 계산하려고[C열]같은 제품으로ID재고 단위와 판매 단위를 일치시킵니다.표 2. 다음과 같이 SUMIFS 수식을 사용하려고 시도했습니다.
=SUMIFS(Table2!E:E, Table2!A:A, Table1!A1, Table2!C:C, Table2!D:D)
그러나 원하는 결과를 얻지 못하는 것 같습니다. 누군가 손을 빌려주고 이 일을 도와줄 수 있나요? 도와주시면 정말 감사하겠습니다. 감사합니다!
표 1(원하는 결과):
표 2:
답변1
내가 올바르게 이해했다면 SUMIFS()
원하는 출력에 대해 작동하는 올바른 함수가 아닌 것입니다. 대신 스크린샷에 표시된 대로 다음을 사용하십시오.
• 셀에 사용된 수식 C2및 Sheet Named Table1
작성:
=LET(
_extract, FILTER(Table2!C$2:E$19,(Table2!A$2:A$19=Table1!A2)*(Table1!B2=Table2!B$2:B$19),""),
SUM(--(INDEX(_extract,,1)=INDEX(_extract,,2))*TAKE(_extract,,-1)))
- 함수를 사용하여
FILTER()
헤더가 있는 데이터 범위를Stock Unit
,Sales Unit
및Sales
기반으로 추출합니다ID
.Name
- 다음으로
SUM()
부울 연산을 수행하는 함수를 사용하여 위에서 추출한 배열과 비교하여 해당 배열의 곱의 합을 계산합니다Sales Unit
.Stock Unit
또한 다음을 사용하는 경우 MS365
단일 수식으로 전체 출력을 유출할 수 있으므로 여기에 채울 필요가 없습니다.
=MAP(A2:A7,B2:B7,LAMBDA(x,y,
LET(z, FILTER(Table2!C:E,(Table2!A:A=x)*(Table2!B:B=y),""),
SUM(--(INDEX(z,,1)=INDEX(z,,2))*TAKE(z,,-1)))))
- 함수를 사용하여
MAP()
각 셀 값을 반복하여 사용자 정의LAMBDA()
계산을 수행합니다. LAMBDA()
a를 사용하여 다음 을 기반으로 원하는 세 개의 열을 추출하는 함수를LET()
전달합니다 .FILTER()
ID
Name
- 다음으로, 여기에 해당 배열의 곱을 합산하고
Stock Unit
-->를 반환하는 -->INDEX(z,,1)
와 비교한 다음 이를 곱하여 합산 후 원하는 출력을 얻습니다.Sales Unit
INDEX(z,,2)
TRUE
FALSE
Sales
한 가지 쉬운 방법은 Column take as 및 Column 과 SUMIFS()
함께 사용하는 것입니다 . 그러나 이는 선호도에 따라 다릅니다.Sales Unit
Criteria Range
Stock Units
Criteria
=SUMPRODUCT(
SUMIFS(
Table2!E:E,
Table2!A:A, Table1!A2,
Table2!B:B, Table1!B2,
Table2!D:D, UNIQUE(
Table2!C:C
)
)
)
다른 방법이 하나 더 있지만 이 방법을 사용하면 Excel 효율성이 느려집니다.
=SUM(FILTER(Table2!E:E,(IFNA(XMATCH(Table2!D:D,UNIQUE(Table2!C:C)),0))*(A2=Table2!A:A)*(Table2!B:B=Table1!B2),0))