我正在尝试在Excel中创建一个电子表格,根据另一列的内容在列(B)中创建一个序列号。目前,A列中存在两种可能性(“BI”或“GF”)。所以我希望数据看起来像这样
COL A COLB
BI 1
BI 2
GF 1
BI 3
GF 2
GF 3
BI 4
BI 5
我已尝试过多次尝试,但似乎无法找到解决方案。任何帮助将不胜感激。
答案 0 :(得分:5)
在B2中,尝试以下公式: = COUNTIF(A $ 2:A2,A2)
答案 1 :(得分:-1)
尝试使用偏移方程式。
COL B中的第一个单元格与此类似:
<强> = COUNTIFS(OFFSET(A $ 1 $ 1:A1,0,0),A1)强>
第二个应该是这样的:
<强> = COUNTIFS(OFFSET(A $ 1 $ 1:A2,0,0),A2)强>
根据需要将其向下拖动到Col B中。如果您使用的是表格,则应自动填充。
<强>说明:强> 基本上,您使用OFFSET公式来创建动态范围。 A $ 1 $作为您的范围的开始,使其成为绝对参考,A1将作为您的范围的结束。
通过使结束单元格成为相对引用,COUNTIFS函数搜索的数组将永远不会超出公式所依赖的单元格的行。
在您的示例中,Col B第一行中的公式将导致1.原因是OFFSET返回A $ 1 $:A1的数组,COUNTIFS搜索该数组并返回所有单元格的计数等于到A1,这是&#34; BI&#34;。
第二行保留A $ 1 $数组的原始起始单元格,但数组的末尾为A2。所以COUNTIFS函数看到要搜索的新数组是A $ 1 $:A2。然后COUNTIFS搜索等于A2的每个单元格,其中A1是&#34; BI&#34;。有两个单元格等于&#34; BI&#34;在新数组中因此reult是2。
如何按预期工作,显示在Col B的第三行。
OFFSET函数只是将数组大小扩展为A $ 1 $:A3。 COUNTIFS将像往常一样工作,它采用数组,在Excel中称为条件范围,并对所有等于A3的项执行计数。在这种情况下,A3等于&#34; GF&#34;在数组A $ 1 $:A3中有两个单元格等于&#34; BF&#34;和一个等于&#34; GF&#34;。
希望这有帮助!