计算数字组合的频率(使用VBA在excel中)

时间:2013-12-09 21:40:10

标签: excel excel-vba excel-formula vba

我希望Excel能够计算FREQUENCY某些数字字母组合在Excel中的列中显示(使用)。我的所有数据都列在这一列中:

A栏(仅出现1,2,3,4,5,s,f)

  

1
  2
  小号
  4
  3
  小号
  4
  2
  ˚F
  2
  小号
  2
  小号

我想计算(1-s,2-s,3-s,4-s,5-s)的组合发生的次数,严格地说,当数字首先出现时(在较高的行中)。我不想计算s在数字之前的时间(例如s-2)。我知道如何使用countIf函数计算单个字母/数字的数量。

我可能稍后想扩展我的分析以查看三个字母数组合的情况(例如2-s-3,2-s-5)

我非常喜欢VBA菜鸟。

3 个答案:

答案 0 :(得分:1)

尝试在A列右侧插入新列。使用此公式=A1&A2并将其填入列中。值将如下所示:

+----------+----------+
| Column A | Column B |
+----------+----------+
| 1        | 12       |
| 2        | 2s       |
| s        | s4       |
| 4        | 43       |
| 3        | 3s       |
| s        | s4       |
| 4        | 42       |
| 2        | 2f       |
| f        | f2       |
| 2        | 2s       |
| s        | s2       |
| 2        | 2s       |
| s        | s        |
+----------+----------+

现在你可以像以前一样计算出现的事件! :d


当然,您可以通过制作公式=A1&A2&A3来扩展到三个字符的频率分析。

答案 1 :(得分:0)

在COUNTIFS中可能有可能,在C1:G1和C2中包含15

=COUNTIFS($A1:$A12,C1,$A2:$A13,"s")  

复制到西装。

答案 2 :(得分:0)

您可以使用此公式的等效VBA

=SUMPRODUCT(--(ISNUMBER(A1:A12)),--(A2:A13="s"))

查找数字,然后是下面一行中的s(样本为4)

<强>码

MsgBox Evaluate("SUMPRODUCT(--(ISNUMBER(A1:A12)),--(A2:A13=""s""))")