请参阅SUMIFS条件中的参数

时间:2017-08-17 23:37:48

标签: libreoffice libreoffice-calc

我想创建一个SUMIFS条件,我可以参考这两个参数。我想能够说"如果第一个参数的月份和年份等于第二个参数的月份和年份。"但是,我所看到的SUMIFS的例子有一个条件,如" = Food",你可以在另一个参数上实际执行任何功能。如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

SUMPRODUCT比SUMIFS更强大,但更难理解。

bool servoDir = true;
int servoCnt = 90;
int servoInc = 1;             // <-- exclusively use this to control speed.
int servoMin = servoCnt - 5;  // <-- this range is a bit short for testing
int servoMax = servoCnt + 5;

void loop() {

    // 'jog' the servo.
    servoCnt += (servoDir) ? servoInc : -servoInc;

    // past this point, all position jogging is final
    if (servoCnt > servoMax) 
    {
        servoCnt = servoMax;
        servoDir = false;
    }
    else if (servoCnt < servoMin) 
    {
        servoCnt = servoMin;
        servoDir = true;
    }

    servo.write(servoCnt);

    // 40ms sounds a bit short for tests.
    // 100 ms should give you a 2 seconds (0.5Hz) oscillation
    delay(100);
}

这将检查从1到20的所有行,以查看B列中的日期月份是否等于D1的月份,同样也是该年份的月份。如果两者相等,则它将该行的C列的值相加。

有关SUMPRODUCT如何运作的详情

如果月份或年份不相等,则该行的第一个或第二个数组的结果将为零。这将乘以C列中的任何内容,结果为零。所以从该行求和的值为零;换句话说,它被忽略了。