在Excel中从数组中提取唯一字符串(2013)

时间:2016-03-16 10:22:49

标签: excel excel-vba excel-formula vba

我有一个格式的值表:

Source |Option 1|Option 2|Option 3
-------|--------|--------|--------
France |  AA    |   BB   |  CC
Wales  |  BB    |   CC   |
Britain|  CC    |   AA   |
Greece |  BB    |        |

我需要格式为:

Outcome | Count |
--------|-------|
 AA     |  2    | 
 BB     |  3    |     
 CC     |  3    |      
 DD     |  0    |       

从公式

生成结果列和计数列的位置

我目前无法弄清楚如何使用数据透视表(我的第一个想法)来输出唯一结果,因为它似乎不像我想要的那样对数组起作用。

1 个答案:

答案 0 :(得分:0)

您对布局的问题是,无法轻松解析B1:D1中的文本标签以检索值。要使用自定义数字格式W\ei\g\ht=0来纠正此格式B1:C1,请将值1,2和3输入为值。

将列标题标签作为真实数字(仅显示为文本),G8:G8中的公式变为,

=COUNTIF($B$2:$D$5, $E8)
=SUMPRODUCT(($B$2:$D$5=$E8)*$B$1:$D$1)
'alternate with text labels remaining but a 1, 2, 3 result based on position
=SUMPRODUCT(($B$2:$D$5=$E8)*COLUMN($A:$C))

根据需要填写。

sump_count_matrix

有可用的文本解析功能可以从 Weight-1,Weight-2,Weight-3等 1,2 3 < / em>但是当有其他现成的(并且更容易!)方法可用时,计算负荷根本不值得。