我在Excel中兩列,就像這樣:我可以在兩列上使用COUNTIF來比較值嗎?
A B
0.5 0.4
0.6 0.59
0.1 0.2
0.3 0.29
我要統計有多少B中的值都小於A.相應的值在這種情況下,答案是3
我可以通過添加一個額外的列,B-A
,然後做COUNTIF(RANGE, "<0")
來做到這一點,但我想知道是否有辦法做到這一點,而無需添加額外的列。
我意識到這是在人們可能考慮編程的邊緣,但希望它只是在線的右側,而不是錯誤的一側。
我在Excel中兩列,就像這樣:我可以在兩列上使用COUNTIF來比較值嗎?
A B
0.5 0.4
0.6 0.59
0.1 0.2
0.3 0.29
我要統計有多少B中的值都小於A.相應的值在這種情況下,答案是3
我可以通過添加一個額外的列,B-A
,然後做COUNTIF(RANGE, "<0")
來做到這一點,但我想知道是否有辦法做到這一點,而無需添加額外的列。
我意識到這是在人們可能考慮編程的邊緣,但希望它只是在線的右側,而不是錯誤的一側。
這可以使用Excel數組公式來完成。試着做這樣的事情:
=SUM(IF(A1:A5 > B1:B5, 1, 0))
非常非常重要組成部分,是按的CTRL-SHIFT-ENTER
而不是僅僅ENTER
當你完成輸入公式。否則,它不會理解你想將數據視爲一個數組。
有一個解決方案,但它仍然涉及2個額外的單元格:DCOUNT。
下面是一個例子(插入到指定細胞的冒號後的確切文字):
A1:條件
A2:= B4> A4
A3:甲
B3:乙
A4:700
B4:5000
A5:700
B5:600
A6:7000
B6:6000
A7:700
B7:701
細胞與計數式:= DCOUNT(A3:B7,「B」,A1:A2)
其實這是我將做一個程序。
創建一個宏至:所有N個
有可能是一個更簡單的非編程方式,但我不知道它(然後你的問題將被關閉,無論如何)。
scraimer解決方案沒問題。但一個有趣的,
你也可以寫出像下面這樣的宏觀和分配
=myOwnFunction(A1:A5,B1:B5)
這種方法可以擴展用於其他任何邏輯功能,如A * B + C < C + d * E等....
Function myOwnFunction(R1 As Range, S1 As Range)
Dim J As Integer
Dim Size As Integer
Dim myCount As Integer
Size = R1.Cells.Count
myCount = 0
For J = 1 To Size
If (R1.Cells(J) > S1.Cells(J)) Then
myCount = myCount + 1
End If
Next J
myOwnFunction = myCount
End Function
完美 - 這樣做的工作。謝謝!我以前從未遇到DCOUNT。 – Ben 2009-02-05 12:32:47
對不起:我已經接受了你的答案,但實際上,對於我來說,scraimer的答案對我來說會更好一些。 – Ben 2009-02-05 12:36:20