根据整个列的条件计算不同值的数量

时间:2018-07-12 13:25:35

标签: vba excel-vba excel-formula

我是VBA的新手,并且需要以下帮助:

在E列中,值为“ abc”的值,我想在J列中获得不同值的数量,该数量为2(将在BB列中显示)。

example in excel

我已经应用了数组公式

= SUMPRODUCT(((($ E $ 2:$ E $ 226 = E2)))/ COUNTIFS($ E $ 2:$ E $ 226,$ E $ 2:$ E $ 226&“”“”,$ J $ 2:$ J $ 226 ,$ J $ 2:$ J $ 226&“”“”))

,但仅适用于第2到226行。 将来我会添加更多数据,是否有任何方法可以使整个专栏作为参考?

Rigidbody _rigidbody;    

void Start() // or could go in the Awake() method depending on your game
{
    _rigidbody = GetComponent<Rigidbody>();
    TogglePhysics(false);
}

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        TogglePhysics(true);
    }
}

void TogglePhysics(bool isEnabled)
{
    // IsKinematic needs to be true to disable physics. See the documentation for IsKinematic.
    _rigidbody.IsKinematic = !isEnabled; 
    _rigidBody.detectCollisions = isEnabled;
}

// When respawning, call TogglePhysics(false);

感谢您的帮助!

此致

Kw007

2 个答案:

答案 0 :(得分:2)

将所有226替换为" & lr & "

Sheet3.Range("BB2").FormulaArray = "=SUMPRODUCT((($E$2:$E$" & lr & "=E2))/COUNTIFS($E$2:$E$" & lr & ",$E$2:$E$" & lr & "&"""",$J$2:$J$" & lr & ",$J$2:$J$" & lr & "&""""))"

答案 1 :(得分:0)

默认情况下,将excel行数更改为“ 65536”。

Sheet3.Range("BB2").FormulaArray = "=SUMPRODUCT((($E$2:$E$65536=E2))/COUNTIFS($E$2:$E$65536,$E$2:$E$65536&"""",$J$2:$J$65536,$J$2:$J$65536&""""))"