跳到主要內容

如何在Excel中基於列和行條件求和? 

我有一系列包含行標題和列標題的數據,現在,我想對滿足列標題和行標題條件的單元格求和。 例如,要匯總列條件為Tom且行條件為Feb的單元格,如下面的屏幕快照所示。 本文,我將討論一些有用的公式來解決它。

doc sum列行標準1

基於列和行條件以及公式的求和單元格


箭頭藍色右氣泡 基於列和行條件以及公式的求和單元格

在這裡,您可以根據列和行條件應用以下公式對單元格求和,請這樣做:

在要輸出結果的空白單元格中輸入以下任一公式:

=SUMPRODUCT((A2:A7="Tom")*(B1:J1="Feb")*(B2:J7))

=SUM(IF(B1:J1="Feb",IF(A2:A7="Tom",B2:J7)))

然後按 Shift + Ctrl + 輸入 鍵一起獲得結果,請參見屏幕截圖:

doc sum列行標準2

備註:在以上公式中: 湯姆 是基於的列和行條件, A2:A7, B1:J1 列標題和行標題包含條件, B2:J7 是您要求和的數據范圍。

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

產品描述


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
My data that I am trying to retrieve is in a table. Would this impact the result at all? I have:

=SUM(IF('[Primary Controller Active Project Database (KC notes)1.xlsx]Active Project Tracking'!$B2:$B66=X2,IF('[Primary Controller Active Project Database (KC notes)1.xlsx]Active Project Tracking'!$A1:$AV1=AH10,'[Primary Controller Active Project Database (KC notes)1.xlsx]Active Project Tracking'!$H$2:$AV$66)))

So I think the equivalent would be if you did your information above, but in a table in a different workbook. Thoughts?
This comment was minimized by the moderator on the site
If there were negatives in the matrix and you only wanted to include the positives, what would you do? 
I tried to do something like this:

=SUMPRODUCT((Column = Criteria)* ( Row = Criteria) * (second column = Criteria) * (Matrix) * (Matrix >0))

This comment was minimized by the moderator on the site
Is there a way to do this but instead of writing "Tom" & "Feb" in the formula, you are able to reference the criteria cells e.g.A11 & A12?
This comment was minimized by the moderator on the site
Hello, Rianna,Yest, as you said, you can use the cell references to replace the text in the formula, such as:
=SUMPRODUCT((A2:A7=A2)*(B1:J1=C1)*(B2:J7))
=SUM(IF(B1:J1=C1,IF(A2:A7=A2,B2:J7)))
This comment was minimized by the moderator on the site
In the above example which formula should I use if I wanted calculate the sum of the amounts earned by Tom Ruby & Nicol in March?
This comment was minimized by the moderator on the site
Hello, Nabar,To get the result you want, please apply the below formula:=SUMPRODUCT(((A2:A7="Tom")+(A2:A7="Nicol")+(A2:A7="Ruby"))*(B1:J1="Mar")*(B2:J7))
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Hello Skyyang,
Thank you for your response. I tried the formula you suggested but I am not getting the right answer. Probably I wasn't able to put my query correctly. Let me try again I have a spreadsheet with data with daily calculation, I have numbered the first row 1,2,3,4.....132. 2nd, 3rd 4th &5th rows has table headings. The first column has line no's numbered 1, 2,3,.....3005 starting from row 6,range B6:EF3005 has data filled in on everyday basis. In second sheet i have a table in which I want to apply a formula which will look up two line numbers fed in two different rows and calculate the sum from the range B6: EF3005 from the data spreadsheet between the two line numbers from a certain column viz sum of values in column 15 between rows (line No's) 50 & 85.
This comment was minimized by the moderator on the site
Is there a way to make this work with wildcard characters? I'd like to use it on everything starting with certain characters, but with (a fixed number of) undefined characters at the end, i.e. =SUM(IF(B1:J1="Fe*",IF(A2:A7="To*",B2:J7)))
This comment was minimized by the moderator on the site
Should anyone have the same question, this is how I solved it (in Google Sheets, not tested in Excel):

=ArrayFormula(SUM(IF(regexmatch(O5:W5,"^Fe."),IF(regexmatch(N6:N11,"^To."),O6:W11))))

Note that the IF function does not support wildcard characters and that for regexmatch the wildcards are different and can be found here: https://github.com/google/re2/blob/master/doc/syntax.txt
In this particular instance, I used ^ to indicate that Fe & Tom occur at the beginning of text and . to allow for any following character (* would mean zero or more of the previous character, e.g. Fe* would only look for instances with 1 or more "e"s after F)
This comment was minimized by the moderator on the site
I tried to create a formula to calculate if the D12 is blank, it will calculate from K12 to AH12 but it seems this part ' regexmatch(D12,"")' is not working
ArrayFormula(SUM(IF(regexmatch(D12,""),K12:AH12)))
This comment was minimized by the moderator on the site
Thank you so much! You made my day!! @TeSageDS
This comment was minimized by the moderator on the site
how would you do this same formula if you wanted to sum both Feb and March together? please help! thanks

=SUMPRODUCT((A2:A7="Tom")*(B1:J1="Feb")*(B2:J7))
This comment was minimized by the moderator on the site
Hello,Angela,
To solve your problem, you just need to apply the below formula, please try it.

=SUMPRODUCT((A2:A7="Tom")*((B1:J1="Feb")+(B1:J1="Mar"))*(B2:J7)).

Hope it can help you!
This comment was minimized by the moderator on the site
Brilliant
This comment was minimized by the moderator on the site
Worth pointing out that of the two formulas provided above you do not need to enter the SUMPRODUCT formula with Ctrl + Shift + Enter. It will work perfectly well without it.
This comment was minimized by the moderator on the site
Awesome, this is the one what i was looking for. thanks for the help
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations