Команда,

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

Я знаю, как суммировать каждый второй столбец в строке: т.е. {= SUM(A1: G1 *(MOD(COLUMN(A1: G1), 2)= 0))}

Что мне нужно знать, так это как суммировать все первые столбцы, если во втором столбце нет значения, для которого используется второй столбец. т.е. = СУММА (ЕСЛИ (B1 = "", A1, B1))

Но мне нужно сделать это в приличном диапазоне.

Просто немного оснований. У меня есть несколько строк: «Прогнозная неделя1, Фактическая неделя1, Прогнозная неделя2, Фактическая неделя2 ............'

Мне нужно суммировать всю строку с использованием «фактических» значений, где это возможно, иначе использовать «прогноз» значения

Любая помощь будет потрясающей.

1 ответ1

1

Что вы хотите сделать, это проверить, является ли столбец четным ИЛИ, если заполнен следующий столбец. К этой версии логика также будет включать пустые четные столбцы, но это не повлияет на ваш итог.

Итак, мы хотим использовать два разных массива, одно смещение по одному, поэтому я добавляю B1:H1, что означает, что вам придется оставить пустой столбец H1, поэтому при расчете каждой ячейки мы можем учитывать его значение и значение следующей ячейки.

Что вы хотите сделать, это, но это не будет работать

{=SUM(A1:G1*OR(B1:H1="",MOD(COLUMN(A1:G1),2)=0)}

Причина, по которой вышеприведенное не работает, в том, что OR не сохранит массив и выдаст одно значение TRUE/FALSE даже в функции массива, которую вы используете.

Итак, мы собираемся сделать алгебраическое ИЛИ, которое является (1- (1-СОСТОЯНИЕ1) * (1-СОСТОЯНИЕ2)). Это работает, потому что ИСТИНА - это 1, а ЛОЖЬ - это 0, поскольку вы уже используете преимущество, умножение - это И, но, говоря НЕ (не Условие1 И НЕ Условие2), оно эквивалентно Условию1 ИЛИ Условию2. Если это не имеет смысла, попробуйте просмотреть все 4 варианта комбинации «Истина / Ложь».

Итак, мы наконец остались с:

{=SUM(A1:G1*(1-(1-(B1:H1=""))*(1-(MOD(COLUMN(A1:G1),2)=0))))}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .