[英]Excel Sum Range Match Lookup
我在excel中有下表:
__|______A_______|_________B___________|____C____|
1 |Client | Description | Amount |
2 |Client One | Water Services | 50 |
3 |Client One | Installation Fees | 120 |
4 |Client One | Telephone Services | 130 |
5 |Client Two | Food Services | 20 |
6 |Client Two | Pump Installation | 40 |
7 |Client Two | Door Installation | 100 |
8 |Client Three | Telephone Services | 98 |
9 |Client Three | Gas Services | 34 |
10|Client Three | Installation Fees | 46 |
我需要一個公式來計算第二個工作表中每個客戶端的服務總量和每個客戶端的安裝總量。 例如,它應檢查描述是否在B列中包含文本“服務”,然后返回客戶的總金額,如下所示:
__|____A________|______B_________|______C_______|
1 |Client | Description | Total Amount |
2 |Client One | Services | 180 |
3 |Client One | Installation | 120 |
4 |Client Two | Services | 20 |
5 |Client Two | Installation | 140 |
6 |Client Three | Services | 132 |
7 |Client Three | Installation | 46 |
我嘗試了以下公式,但是我只能返回客戶端的第一個值,並且工作表1中的描述(B列)必須包含確切的文本,即“服務”或“安裝”:
=INDEX(Sheet1!C2:C10,MATCH(A2&B2,Sheet1!A2:A10&Sheet1!B2:B10,0))
我支持CallumDA的解決方案,因為我個人是數組公式的粉絲。 但是,由於OP問題的性質表明Excel經驗有限,所以我認為Array公式的目標可能會更高。
A,在我看來,更簡單的選擇是使用SUMIFS -式,例如
=SUMIFS($C$2:$C$10;$A$2:$A$10;"Client One";$B$2:$B$10;"*Service*")
只需用列出了客戶的另一張表的范圍替換“客戶一號”,我相信您應該很好。 另外,請注意, 服務任一側的星號都用作通配符,因此您可以同時獲得“供水服務”,“服務卡車”和其他組合...
您可以使用SUMIF做一些事情。 您可以執行以下操作來獲取所有的Client One條目
=SUMIF(A2:A10,"Client One",C2:C10)
為了獲得所有的Client One和服務,您可以使用ISNUMBER(SEARCH)和SUMIFS做這樣的事情
首先使用此公式為“是服務”添加額外的一列
=ISNUMBER(SEARCH("Service",B1))
=ISNUMBER(SEARCH("Service",B2))
...
這將返回true / false,然后像這樣執行SUMIFS
=SUMIFS(A2:A10,C2:C10,"Client One",D2:D10,"TRUE")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.