我有一张数据,想要使用以下标准对原始数据中的值进行计数:
如果原始数据中的值重复,例如London No1
和London No1 AUTO
只计算一次,但如果原始数据中的值为London No1
,{{1然后只计算London No2
(仅计算London No1 Auto
和2
)。
原始数据
London No1 London No2 London No1 Auto London No2 Auto Bristol No1 Auto Cardiff No1 Cardiff No2
在此示例中,结果应为:伦敦 - London No1
,布里斯托尔 - London No2
,加的夫 - 2
。
答案 0 :(得分:1)
此解决方案仅使用一个“工作列”并假定以下内容:
A1:A16
(根据需要调整) City
NoX
string
,均以空格分隔。 X
是一位数字(如果有更大的数字可以让我知道,以便调整公式) (所有范围包括标题)
结果列表位于B1:D16
的同一工作表中
(根据需要调整)并包含以下字段:
网站:原始数据
中要计算的城市列表 唯一记录:用于在计数前列出唯一的“干净”城市记录。在FormulaArray
中输入此D2
并复制到最后一条记录
(按 [Ctrl]
+ [Shift]
+ [Enter]
输入公式数组
同时)
=IFERROR( INDEX(
MID( $A$2:$A$16, 1, 2 + FIND( "No", $A$2:$A$16 )),
MATCH( 0, COUNTIF( D$1:D1,
MID( $A$2:$A$16, 1, 2 + FIND( "No", $A$2:$A$16 ))), 0 ) * 1 ), "" )
结果计数:在FormulaArray
中输入此C1
并复制到最后一条记录
=IF( EXACT( $B2, "" ), "",
IFERROR( COUNTIF( $D$2:$D$16, $B2&"*" ), "" ))
答案 1 :(得分:0)
<强>假设强>
因此,如果我理解您的说明,您就会有一份城市列表,而且每个城市可能都有不同的城市,而且#34; No&#34;在上面。即:有些将是&#34; No1&#34;,&#34; No2&#34;等等。另外,有些人可能有&#34; Auto&#34;在上面。有时会有重复,即:&#34; London No1&#34;可能会出现两次。此外,无论是否&#34; Auto&#34;如果出现,它将是重复的&#34;否&#34;已经出现了。即:&#34;伦敦第一&#34;与#34; London No1 Auto&#34;。
相同帮助者专栏
为了计算每个城市有多少个唯一实例,我建议你使用一个帮助列,首先删除单词auto,然后只显示自己,如果它不是先前条目的副本。
将数据放在A栏,从A2开始,在B2中输入此公式并复制:
=IF(ISERROR(MATCH(TRIM(SUBSTITUTE(A2,"Auto","")),$B$1:$B1,0)),TRIM(SUBSTITUTE(A2,"Auto","")),"")
此公式的工作原理如下:
- 首先它取A2中的文字,并取代单词&#34; Auto&#34;用&#34;&#34;。然后它对结果文本进行TRIMS,这意味着它会在结尾处删除任何尾随空格。它采用修剪后的文本,并尝试将其与列B中的前一行进行匹配。如果它没有找到匹配项,则会导致错误。如果它是ISERROR,那么它显示文本(因为它是第一次出现)。否则,它会显示&#34;&#34;。
数组公式
现在您已经在B列中有了这个,我们将使用数组公式来计算每个城市出现的唯一实例数。数组公式是一个特定的公式,它计算整个范围内的许多时间,而不是仅计算一个单元格。然后它返回一个结果数组,我们需要将其合并为一个答案。例如:
=SUM(IF(A1:A5>5,B1:B5,""))
[用CTRL + SHIFT + ENTER确认而不是只用ENTER确认]
在上面的例子中,数组公式将检查A1:A5中的每个单独的单元格是否是大于5的数字。如果是,它将返回该行中列B的单元格。然后它从B列(其中A> 5)得到所有得到的答案,并将它们SUMS作为单个数字。
在这种情况下,数组公式将如下[从图像中的D5开始,向右移动一列,在第一个城市名称的右侧移动,并向下移动每个城市;我假设您的原始数据来自A2:A100]:
=SUM(--NOT(ISERROR(SEARCH(C5,$B$2:$B$100))))
使用CTRL + SHIFT + ENTER而不是ENTER确认此公式。然后在C列中复制每个城市名称。
它的工作原理是尝试在列B中搜索列C中该行所显示的城市名称中的每个唯一值。无论城市名称何时不存在,ISERROR都会为列B的该元素返回TRUE。 TRUEs为FALSE,反之亦然。然后 - 告诉excel将TRUE和FALSE转换为它们的数值等价物[分别为1和0]。所以我们每场比赛都有一个TRUE [AKA 1],其他一切都是FALSE [AKA 0]。所有1的总和是您的唯一条目列表中该城市名称的匹配数。