2011-07-28 111 views
-1

我有一個包含以下標題的1000行數據源:Excel - 創建具有特定標記的單元格的計數

日期|標籤|金額

我希望能夠遍歷每一行並確定該行屬於哪個類別,如標籤所定義。

例如

  1. 5月1日|星巴克| $ 10.00
  2. 5月1日| BestBuy | $ 2.00
  3. 5月2日| CostCo | $ 25.00

在這種情況下,行1 & 3將被歸類爲「咖啡」,導致總共$ 35.00。

這樣的宏是什麼樣的?

+0

你有一張標籤和類別的工作表嗎? – Excellll

+0

是的,我可以創建一個容易,如果這將有所幫助? – Dave

回答

0

創建標籤和類別的單獨表格後,需要在原始表格中爲「類別」創建第四列。爲該列中的第一條記錄輸入此公式:

=VLOOKUP(B2,<<label/category table address goes here, e.g. Categories!$A$1:$B$10>>,2,false) 

將此填入表中。

現在,如果您想要分類數量的小計,可以通過數據透視表輕鬆獲得。

編輯:

如果你想部分值匹配就像你在下面的評論中所述,您可以通過標籤的VLOOKUP函數之前使用的一些字符串操作:

=VLOOKUP(IF(MID(B2,LEN(B2)-1,1)=" ",LEFT(B2,LEN(B2)-2),B2),Categories!$A$1:$B$10,2,FALSE) 

這將檢查標籤末尾是否有空格和字母。如果是這樣,搜索時會留下最後兩個字符。否則,它只會搜索標籤。請注意,我在公式中有一個通用查找表地址,您需要更改以匹配您的工作簿。

+0

太棒了,這是一個很好的解決方案,如何進行部分值匹配?例如。 「星巴克A」和「星巴克B」都是「咖啡」,我只想在桌上輸入「星巴克」。 – Dave

+0

「Starbucks A」和「BestBuy C」是您在標籤中唯一的變體形式,即最後單個字母的唯一變體形式?我可以給你一個解決方案,但如果你有任何不同的變化,它不會工作,如「星巴克主街」和「星巴克第三大道」。 – Excellll

0

我有一些想法,可以幫助你,通過時間的原因,我不能與我所有的想法落實創建,現在宏:

  • 添加列這個公式

    = FIND(INDIRECT(ADDRESS(initial_row_of_your_match_list +計數器; _column_of_your_match_list; 1)); cell_where_appears_StarbucksA_StarbucksB_CostCo_etc)

輸出,在例子中給出的交流ounter 地址給出「starbuck」,將是1或一個數字(parcial match)或#VALUE! (不匹配),實際宏將是:

* while you loop the counter throu the list 
* if the result value is '1' or a number copy the corresponding value of _ 
    the checking_list (Starbuck) to a Results_column. 

finaly可以歸類你行與VLOOKUPSUMIF細胞以獲得最終結果。

相關問題