Как автоматически игнорировать пустые ячейки (и настраивать их роль в более поздней функции) в LibreOffice Calc? - PullRequest
0 голосов
/ 01 декабря 2018

Допустим, у меня есть пара из четырех точек данных:

A   B   C   D
90  80  70  60
90  90      90

В столбце E, я надеюсь, есть функция, что-то вроде:

=((A1*4)+(B1*3)+(C1*2)+(D1))/10

Как я могу настроитьэта формула, чтобы при наличии пустой ячейки формула автоматически удаляла эту ячейку из формулы?При этом это должно изменить знаменатель окончательной формулы ;если C - пустая ячейка, я хочу разделить всю формулу на 8, а не на 10 (так как C учитывается дважды в конечном счете 10 в формуле).

1 Ответ

0 голосов
/ 02 декабря 2018

Это то, для чего SUMPRODUCT может использоваться.

=SUMPRODUCT(A1:D1,{4,3,2,1})

вычислит A1*4+B1*3+C1*2+D1*1, и если либо A1, B1, C1 или D1 пусто, это приводит к0 в 0*n затем.

И в

=SUMPRODUCT(NOT(ISBLANK(A1:D1)),{4,3,2,1})

NOT(ISBLANK(A1:D1) приводит к {1,1,1,1}, если A1, B1, C1 и D1 не являются пустыми или это приводит к {1,1,0,1}, если C1 пусто.Таким образом, формула приводит к 10 (4+3+2+1), если все не пустые, и к 8 (4+3+0+1), если C1 пусто.

Собираем все вместе:

=SUMPRODUCT(A1:D1,{4,3,2,1})/SUMPRODUCT(NOT(ISBLANK(A1:D1)),{4,3,2,1})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...