答案 0 :(得分:2)
您没有指定是否需要公式或VBA / Macro解决方案...
=COUNTIF($A:$A, $B1)
COUNTIF(...)
- 接受两个参数,第一个是要查看的范围,第二个是要查找的值。它返回在范围内找到值的次数。请注意,第二个参数不必是对单元格的引用。$A:$A
- 表示 A 列中的每个单元格(与$A$1:$A$65535
相同)$B1
- 表示 B 列中的第一个单元格。请注意,因为1
前面没有美元符号($
),所以如果您通过另一行中的公式,它将适当增加或减少。因此,您需要先确保先在 C1 中使用此公式,然后填写其下方的单元格。附加说明:COUNTIF(...)
对单元格的实际值进行操作,它不对单元格的格式化值进行操作。因此,如果您在 A 列中的单元格中有826.2
,但是将数字格式设置为丢弃所有小数位,则不会计算826
的值在列 B 中。即使用肉眼看来它们看起来也是一样的。
如果 B 列中的值是硬编码的。只需将 B 列中的值替换为COUNTIF(...)
公式,并使用相应的数字作为第二个参数。以下是 B1 的示例。
=COUNTIF($A:$A,444)
这将填充 C 列中的单元格,其中列 A 中列 B 中的相应值的次数。
Public Sub CountA_FillC()
Dim RowA As Long, RowB As Long
Dim UsedRange As Range: Set UsedRange = ActiveSheet.UsedRange
For RowB = 1 To UsedRange.Rows.Count
Dim Count As Long: Count = 0
For RowA = 1 To UsedRange.Rows.Count
If UsedRange(RowA, "A").Value = UsedRange(RowB, "B").Value Then
Count = Count + 1
End If
Next RowA
UsedRange(RowB, "C").Value = Count
Next RowB
End Sub
答案 1 :(得分:1)
=COUNTIF($A:$A,$B1)
,其中$ B1实际上是指$ B<行号>
不是很多解释,但它的工作方式非常像“等于”的数量