我有一个我知道在excel中工作的公式:
N%8 == 0
我需要在我编写的大型脚本中以某种方式在VBA中使用它来操作大量数据。我有三列,每列都是红绿灯的颜色('绿色,琥珀色,红色')。我需要计算有多少绿色,琥珀色和红色等,但如果我有绿色,琥珀色,绿色,那么每一行内的封面都是琥珀色,这就是我的数量。我需要计算三者的总体状况。
数据看起来像这样: -
=IF(COUNTIF(P11:R11,"=Red")>0,"Red",IF(COUNTIF(P11:R11,"=Amber")>0,"Amber","Green"))
这将是绿色= 1,琥珀色= 1,红色= 2
然后我需要将这些值输入到同一工作簿中的另一个工作表中。希望所有这些都有意义,我正确地解释了这个问题。
答案 0 :(得分:0)
您可以使用ADO Recordset在单元格上发出SQL语句。 SQL语句将按照每行返回适当颜色的公式进行分组,并且还会返回每个分组的计数。最后,您可以使用CopyFromRecordset将结果粘贴到新工作表中。
或者,您可以将单元格读入数组,并逐行处理数组的内容。声明三个整数变量,每种颜色一个,并根据行的正确值增加适当变量的值。然后,您可以将这些变量的值写入新的或现有的工作表中。