Необходимо понять, как функция Row () работает в SUMPRODUCT - PullRequest
1 голос
/ 27 апреля 2020

У меня была проблема, и она уже кем-то решена. Я хочу понять, как они решили это. Вот ссылка https://www.excelforum.com/excel-formulas-and-functions/1314166-need-formula-to-post-payments-with-different-dates-frequency-than-column-headers.html#post5320639

У меня есть решение, но я думаю, что эта платформа дает дополнительное объяснение решения, поэтому спрашиваю здесь.

Формула, которая выполнила работу выглядит следующим образом:

=IF(MATCH($B7,$C$4:$L$4)<=COLUMNS($C7:C7),IFNA(SUMPRODUCT(--(ABS($B7+(MATCH($A7,{"Weekly","Bi-Weekly"},)*7)*(ROW($A$1:$A$99)-1)-AVERAGE(C$4:C$5))<=(C$5-C$4)/2))*$B$1,$B$1*OR(INDEX(ABS(EDATE($B7,(ROW($A$1:$A$50)-1)*MATCH($A7,{"Monthly","Bi Monthly","Quarterly"},))-(C$4+7))<=7,))),0)

Что я не понимаю в этой формуле, так это почему мы просто не ставим 1 вместо '' 'ROW ($ A $ 1: $ A $ 99)' '' или '' 'ROW ($ A $ 1: $ A $ 50)' ''

Это сводит меня с ума

1 Ответ

3 голосов
/ 27 апреля 2020

ROW($A$1:$A$99) дает 99 результатов, а не только один результат. Результат будет {1;2;3;.......;99}.

Поэтому, когда он введет ROW($A$1:$A$99)-1, результат будет {0;1;2;.........;98}.

Допустим, результат AVERAGE(C$4:C$5) равен 5. Тогда ROW($A$1:$A$99)-1)-AVERAGE(C$4:C$5) даст {-5;-4;-3;.......;93}.

MATCH($A7,{"Weekly","Bi-Weekly"},) даст число. Так что $B7+(MATCH($A7,{"Weekly","Bi-Weekly"},)*7 также приведет к числу. Допустим, 10.

Тогда $B7+(MATCH($A7,{"Weekly","Bi-Weekly"},)*7)*(ROW($A$1:$A$99)-1)-AVERAGE(C$4:C$5) will give 10 * {-5;-4;-3;.......;93}, который даст {-50;-40;...;930}.

ABS($B7+(MATCH($A7,{"Weekly","Bi-Weekly"},)*7)*(ROW($A$1:$A$99)-1)-AVERAGE(C$4:C$5)), удалит все знаки минус и даст {50;40;...;930}.

Позволяет скажем, (C$5-C$4)/2 is 40. Then (ABS($B7+(MATCH($A7,{"Weekly","Bi-Weekly"},)*7)*(ROW($A$1:$A$99)-1)-AVERAGE(C$4:C$5))<=(C$5-C$4)/2) приведет к {FALSE;TRUE;....;FALSE}.

Надеюсь, вы получили точку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...