根据 B 列中标准的移动范围计算 A 列中的唯一值
Count unique values in column A based on a moving range of criteria in column B
好的,这是我的第一个问题,希望我能解释清楚...
本质上,我想计算 A 列中唯一值的数量,但是从 B 列中的值在指定范围内的那些值的子集中计算。
举个例子:
ColumnA ColumnB
potato 29.1
potato 29.7
potato 30.3
potato 31.0
bean 31.6
apple 32.2
apple 32.8
bean 33.5
bean 34.0
apple 34.3
potato 35.0
Count b/w 29-31: 1
Count b/w 30-32: 2
Count b/w 31-33: 3
Count b/w 32-34: 2
Count b/w 33-35: 3
换句话说,我想知道每个范围内(由 B 列指定)有多少 unique 项目,我想通过一系列将其进行下去重叠范围。
到目前为止,我能想到的最好的方法是计算每个范围内的记录总数的 COUNTIFS 公式。例如:
=COUNTIFS(B1:B11,">=29",B1:B11,"<=31")
=COUNTIFS(B1:B11,">=30",B1:B11,"<=32")
=COUNTIFS(B1:B11,">=31",B1:B11,"<=33")
等...
而且这显然甚至没有引用 A 列。我已经尝试了几个基于类似问题的不同数组公式,但它们总是解决一个稍微不同的问题,所以我基本上没有成功。
非常感谢任何帮助!谢谢。
您将使用此数组公式:
=SUM(IF(($B:$B>=A16)*($B:$B<=B16),(1/COUNTIFS($A:$A,$A:$A,$B:$B,">=" & A16,$B:$B,"<=" & B16))))
是数组公式,退出编辑模式时必须用Ctrl-Shift-Enter确认。如果操作正确,那么 Excel 会自动将 {}
放在公式周围。
它找到 B 中的数据在范围之间的所有行,然后使用 1/COUNTIF() 找到唯一值。
好的,这是我的第一个问题,希望我能解释清楚...
本质上,我想计算 A 列中唯一值的数量,但是从 B 列中的值在指定范围内的那些值的子集中计算。
举个例子:
ColumnA ColumnB
potato 29.1
potato 29.7
potato 30.3
potato 31.0
bean 31.6
apple 32.2
apple 32.8
bean 33.5
bean 34.0
apple 34.3
potato 35.0
Count b/w 29-31: 1
Count b/w 30-32: 2
Count b/w 31-33: 3
Count b/w 32-34: 2
Count b/w 33-35: 3
换句话说,我想知道每个范围内(由 B 列指定)有多少 unique 项目,我想通过一系列将其进行下去重叠范围。
到目前为止,我能想到的最好的方法是计算每个范围内的记录总数的 COUNTIFS 公式。例如:
=COUNTIFS(B1:B11,">=29",B1:B11,"<=31")
=COUNTIFS(B1:B11,">=30",B1:B11,"<=32")
=COUNTIFS(B1:B11,">=31",B1:B11,"<=33")
等...
而且这显然甚至没有引用 A 列。我已经尝试了几个基于类似问题的不同数组公式,但它们总是解决一个稍微不同的问题,所以我基本上没有成功。
非常感谢任何帮助!谢谢。
您将使用此数组公式:
=SUM(IF(($B:$B>=A16)*($B:$B<=B16),(1/COUNTIFS($A:$A,$A:$A,$B:$B,">=" & A16,$B:$B,"<=" & B16))))
是数组公式,退出编辑模式时必须用Ctrl-Shift-Enter确认。如果操作正确,那么 Excel 会自动将 {}
放在公式周围。
它找到 B 中的数据在范围之间的所有行,然后使用 1/COUNTIF() 找到唯一值。