2013-12-12 39 views
1

我陷入了無法解決的情況。細胞之間的計數vba

我有一個列表顯示了客戶和他的訂單,如下圖所示。客戶我列A和ORDERNUMBER列B

客戶 - 訂單編號

  • 約翰 - 123
  • 約翰 - 456
  • 約翰 - 789
  • 約翰 - 321
  • John - 654

    -

  • 保羅 - 251
  • 保羅 - 251
  • 保羅 - 251

等了100多個客戶。

如何計算每個客戶的數量或訂單並將其寫入例如C列?在上面約翰的例子中取得了5個數量級和Pauline 3.

+0

你可以使用這個公式嗎? [Countif()](http://office.microsoft.com/en-us/excel-help/countif-HP005209029.aspx) – MakeCents

+0

但是,我將不得不做100 + countif? – user3095761

+1

這取決於你。你想要每個訂單旁邊的計數,然後是的。你可以把它放在一個單元格中。如果你想要vba並且他們被排序,我會建議一個while while循環。否則,你仍然可以使用countif,但在vba中。告訴我們你到目前爲止... – MakeCents

回答

2

我會做這樣的

的樣本數據

enter image description here

排序列一個由名稱(包括列B)

enter image description here

在C列排1添加公式=COUNTIF(A:A,A1)

然後在B行添加此公式=IF(A2=A1,"",COUNTIF(A:A,A2))

然後將第二個公式一路自己,結果應該是

enter image description here

+0

否定downvote :)似乎有人做了報復。但是我個人不會使用這種方法。我會選擇Pivot。但對於OP想要的,你的回答是正確的:) –

+1

@SiddharthRout謝謝。 OP沒有*首選*方法,所以一旦這個問題再次提出幾個答案,至少我的答案會證明一種方法 - 可能某些未來的訪問者會發現它有用 – 2013-12-12 15:13:05

+1

@mehow這很好。 Thx – user3095761

2

你可以只使用一個公式:

=COUNTIF(A:A,"John") 

這也要算在範圍A:A匹配字符串"John"是細胞的數量。

您也可以參考小區來匹配,例如:

=COUNTIF(A:A,A1) 

這將計數匹配單元格A1包括A1的細胞在列A的數量。

+0

仍然,O​​P仍然必須手動爲它做100個名字... – 2013-12-12 14:58:59

+1

我只用一個硬編碼的字符串顯示countif函數來演示函數。我認爲這顯然不是實現這一目標的方法。爲第二列使用單元格引用絕對是一種方式,用戶無需爲每個名稱手動執行該操作。 – jgridley

0

如果你不想使用的功能,你也可以使用小計命令(在Office 2010中它在數據菜單中),然後在「使用功能」字段中選擇計數功能,並在「添加小計」列表中選擇訂單號

對於小計命令的工作,你必須有列標籤。 請注意,這將插入新行,而不是將總數放在可能或不可接受的新列中。

請參閱here以獲取有關該命令的Office聯機幫助。