如果可以的話,我會盡量避免使用 vba,但如果它是我唯一的解決方案。我有一系列包含不同部門的單元格,我想搜索它們并只找到其中??包含“SE”的選項。然后 SUMIFS 僅來自另一個頁面的那些值。我用的是office 2013
作業表 1
| 一個 | 乙 | C | D |
|---|---|---|---|
| 綠色的 | 藍色的 | 紅色的 | 綠色SE |
作業表 2
| 部門 | 銷售量 |
|---|---|
| 綠色的 | 5 |
| 綠色SE | 10 |
| 藍色的 | 2 |
| 藍色SE | 3 |
| 紅色的 | 5 |
| 紅SE | 6 |
| 綠色的 | 8 |
| 綠色SE | 3 |
我想在作業表 1 中找到所有包含 SE 的選項(此串列更改)。然后對作業表 2 中的相應值求和。
| 乙 | F |
|---|---|
| 串列中的 SE | 13 |
uj5u.com熱心網友回復:
對于 Office 365 及更高版本,我們可以在 SUMIFS 中使用 FILTER:
=SUM(SUMIFS(N:N,M:M,FILTER(A1:D1,ISNUMBER(SEARCH("SE",A1:D1)))))

或者如 JVDV 所示,我們可以在 FILTER 中跳過帶有 COUNTIFS 的 SUMIFS:
=SUM(FILTER(N2:N9,COUNTIFS(A1:D1,M2:M9,A1:D1,"*SE")))
所有版本:
=SUMPRODUCT(SUMIFS(N2:N9,M2:M9,"*SE",M2:M9,A1:D1))

uj5u.com熱心網友回復:
在較舊的 Excel 中,很難得到你想要的,但有可能:
=(SUM(
IFERROR(
INDEX(Sheet2!$B$2:$B$9,
AGGREGATE(15,6,
ROW(Sheet2!$A$2:$A$9)-1
/MMULT(--(TRANSPOSE(
INDEX(Sheet1!$A$1:$D$1,
AGGREGATE(15,6,
COLUMN(Sheet1!$A$1:$D$1)
/COUNTIFS(Sheet1!$A$1:$D$1,Sheet1!$A$1:$D$1,Sheet1!$A$1:$D$1,"*SE*"),
ROW($A$1:INDEX($A:$A,COUNTIF(Sheet1!$A$1:$D$1,"*SE*"))))))=Sheet2!$A$2:$A$9),
ROW($A$1:INDEX($A:$A,COUNTIF(Sheet1!$A$1:$D$1,"*SE*")))^0),
ROW(Sheet2!$A$2:$A$9)-1)),
0)))
該MMULT部分過濾包含的值SE(注意這也可以在值的中間或開頭)。它檢索Sheet2!A2:A9等于任何過濾值的值的行號。這在外部INDEX用于獲取 B 列中的值的總和。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/488223.html
上一篇:查找范圍內的值并回傳第一行單元格
