2017-06-22 135 views
1

我下表在Excel中: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)) 
  1. 我需要能夠得到總值而不是第一個值。
  2. 我還需要搜索描述是否包含「服務」或「安裝」,然後返回金額。

回答

1

下面是做到這一點的一種方法:

=SUM(($A$2:$A$10=A13)*(IFERROR(FIND(B13,$B$2:$B$10),0)>0)*$C$2:$C$10) 

這是一個陣列配方,輸入公式按按Ctrl + + 輸入(而不僅僅是輸入

enter image description here

+0

此解決方案對我來說最適合。謝謝。 – Boy12343

0

你可以用SUMIF做些什麼。你可以做這樣的事情讓所有的客戶端的一個條目

=SUMIF(A2:A10,"Client One",C2:C10) 

而且讓所有的客戶一和服務,你可以做這樣的事情與ISNUMBER(SEARCH)SUMIFS

首先添加一個額外的列對於「是服務」這個公式

=ISNUMBER(SEARCH("Service",B1)) 
=ISNUMBER(SEARCH("Service",B2)) 
... 

這將返回true/false,然後做這樣

SUMIFS
+0

我不認爲這解決了「安裝」涉及「泵安裝」,「門安裝」等許多不同領域的問題。 – CallumDA

+0

@CallumDA它需要一箇中間步驟來對所有安裝和服務進行分組,但更新避免了額外的步驟。 – Gareth

1

我支持CallumDA的解決方案,因爲我個人是數組公式的粉絲。然而,由於OP的問題的本質表明Excel的體驗有限,我認爲Array公式可能有點高。在我看來,更簡單的替代方案是使用SUMIFS-formulaula,例如,

=SUMIFS($C$2:$C$10;$A$2:$A$10;"Client One";$B$2:$B$10;"*Service*") 

只需更換「客戶一」與您擁有的客戶列出的其他表的範圍內,我相信你應該是好去。此外,請注意服務任一側的asterix功能作爲通配符,以便您可以同時獲得「水服務」,「服務卡車」和其他組合...

+0

非常好的建議。爲什麼不用''*「&B13&」*「替換」* Service *「(例如,其中'B13'的值爲」Service「)以及刪除所有的硬編碼需求 – CallumDA

+0

再次,完全支持您的建議CallumDA!確實不錯:) – Prebsus