Excel:需要一个公式,该公式可以在一个范围内获得唯一值的总数

Excel:需要一个公式,该公式可以在一个范围内获得唯一值的总数,excel,formula,Excel,Formula,示例:A10=111,A11=101,A12=111,A13=4,A14=101,A15=blank。总数为3个唯一值。我需要一个单元格内的动态公式,可以计算所有唯一值。空白将在设定范围内,不应包含在总数中。谢谢 这可以在VBA中完成: 如果您只需要执行一次,可以通过以下几个步骤半手动执行: 1) 对值进行排序(例如,在B10-B15中) 2) 在下一列中,在每个单元格中使用此公式:=IF(C10B9,C10,”)。(仅当值不等于其上方的值时才显示该值。)这将为您提供唯一的值 “总量”是指不同值

示例:A10=111,A11=101,A12=111,A13=4,A14=101,A15=blank。总数为3个唯一值。我需要一个单元格内的动态公式,可以计算所有唯一值。空白将在设定范围内,不应包含在总数中。谢谢

这可以在VBA中完成:

如果您只需要执行一次,可以通过以下几个步骤半手动执行:

1) 对值进行排序(例如,在B10-B15中)

2) 在下一列中,在每个单元格中使用此公式:
=IF(C10B9,C10,”)
。(仅当值不等于其上方的值时才显示该值。)这将为您提供唯一的值

“总量”是指不同值的总和还是计数?无论哪种方式,您都可以使用计算列的值执行此操作。

这可以在VBA中完成:

如果您只需要执行一次,可以通过以下几个步骤半手动执行:

1) 对值进行排序(例如,在B10-B15中)

2) 在下一列中,在每个单元格中使用此公式:
=IF(C10B9,C10,”)
。(仅当值不等于其上方的值时才显示该值。)这将为您提供唯一的值

“总量”是指不同值的总和还是计数?无论哪种方式,您都可以使用计算列的值执行此操作。

来自Microsoft:

计算B2:B10单元格中唯一文本和数值的数量(不得包含空白单元格)(7)

来自Microsoft:

计算B2:B10单元格中唯一文本和数值的数量(不得包含空白单元格)(7)


您可以使用此VBA代码,这些代码有很好的注释供您理解

子样本\u CntDist()


'计算不同的数字,而不是计算表示单元格宏中不同计数的空白值



列(“A:A”)。选择“选择包含数字的列”

Selection.Copy'复制所选内容

工作表(“Sheet2”)。选择“选择新工作表”

范围(“A1”)。选择“选择第一个单元格”

ActiveSheet.Paste'粘贴复制的数据

Application.CutCopyMode=False

ActiveSheet.Range(“$A$1:$A$18”)。删除重复列:=1,标题:=xlNo'删除重复项

范围(“B1”)。选择“选择单元格B1

ActiveCell.FormulaR1C1=“=COUNTIF(C[-1],”“)”计算不包括空格的不同数字

图纸(“图纸1”)。选择“选择原始图纸”

范围(“C2”)。选择“选择单元格C2

Application.CutCopyMode=False

ActiveCell.FormulaR1C1=“count distinct”'为结果提供标题

范围(“D2”)。选择“选择单元格D2”
工作表(“工作表2”)。选择“选择临时工作表”

Selection.Copy'复制不同的计数

Sheets(“Sheet1”)。选择“选择并粘贴结果作为值”

Selection.Paste特殊粘贴:=xlPasteValues,操作:=xlNone,SkipBlanks
:=False,转置:=False

Sheets(“Sheet2”)。选择

ActiveWindow.SelectedSheets.Visible=False'隐藏临时工作表


End Sub

您可以使用此VBA代码,这些代码有很好的注释供您理解

子样本\u CntDist()


'计算不同的数字,而不是计算表示单元格宏中不同计数的空白值



列(“A:A”)。选择“选择包含数字的列”

Selection.Copy'复制所选内容

工作表(“Sheet2”)。选择“选择新工作表”

范围(“A1”)。选择“选择第一个单元格”

ActiveSheet.Paste'粘贴复制的数据

Application.CutCopyMode=False

ActiveSheet.Range(“$A$1:$A$18”)。删除重复列:=1,标题:=xlNo'删除重复项

范围(“B1”)。选择“选择单元格B1

ActiveCell.FormulaR1C1=“=COUNTIF(C[-1],”“)”计算不包括空格的不同数字

图纸(“图纸1”)。选择“选择原始图纸”

范围(“C2”)。选择“选择单元格C2

Application.CutCopyMode=False

ActiveCell.FormulaR1C1=“count distinct”'为结果提供标题

范围(“D2”)。选择“选择单元格D2”
工作表(“工作表2”)。选择“选择临时工作表”

Selection.Copy'复制不同的计数

Sheets(“Sheet1”)。选择“选择并粘贴结果作为值”

Selection.Paste特殊粘贴:=xlPasteValues,操作:=xlNone,SkipBlanks
:=False,转置:=False

Sheets(“Sheet2”)。选择

ActiveWindow.SelectedSheets.Visible=False'隐藏临时工作表

End Sub

=SUM(IF(FREQUENCY(MATCH(B2:B10,B2:B10,0),MATCH(B2:B10,B2:B10,0))>0,1))