2016-10-06 4 views
0

У меня есть данные в формате, подобном тому, что изложено в следующей таблице:разница Рассчитать с предыдущим значением

Example

мне нужно, чтобы вычислить (в колонке B) разность между числом в колонке А (где есть) и первое число, которое появляется над этим номером - и в колонке А.

Для примера, изложенного выше:

В2-В4 будет содержать #N/A и B5 будет содержать -1 (как 9-10 = -1).

B6-B8 будет содержать #N/A и B9 будет содержать -1 (как 8-9 = -1).

т.д.

Я попытался в этом примере, чтобы использовать ряд IF функций вроде этого:

=IF(A5=NA(),"",A5-(IF(A4=NA(),IF(A3=NA(),IF(A2=NA(),IF(A1=NA(),"",A1),A2),A3),A4))) 

Но это не сработало (как я думаю, что это в значительной степени nonesense) и мой фактический набор данных может иметь большие зазоры между значениями в столбце A.

Я знаю, что я мог бы отфильтровать #N/A в столбце A и выполнить простой расчет - но я надеялся иметь формулу, которая работает для всего столбца, как данные могут измениться.

Любые предложения?

ответ

1

Non-массив Решение:

Вставьте колонку между колонке А и столбца B для отслеживания самых последних числовое значение, используя это уравнение, начиная с ячейки B2:

=IF(ISERROR(A2),B1,A2) 

Перетащите эту формулу в конец набора данных.

В следующей колонке, вставить эту формулу, начиная в ячейке C2:

=IF(COUNT($A$2:A2)<2,"",IF(ISERROR(A2),"",A2-B1)) 

перетащить эту формулу вниз к нижней части набора данных.

Теперь вы будете иметь числовое значение (-1), показывающее в любое время есть числовое значение в столбце А, а пустые ячейки в любое время есть значение ошибки в столбце A.

+0

Новый столбец в этой формуле Безразлично» t отслеживать число, которое вы предлагаете - 'ISERR()' исключает '# N/A' – Gavin121

+0

@ Gavin121 изменить' ISERR' на 'ISERROR', и он будет работать. –

+0

Отлично - спасибо – Gavin121

1

Вы можете использовать следующую формулу массива:

=IF(ISERROR(A2),NA(),A2-INDEX(A:A,MATCH(2,IF(ISNUMBER($A$1:A1),1)))) 

Будучи формулой массива она должна быть подтверждена с помощью Ctrl-Shift-Enter, при выходе из режима редактирования вместо Enter. Если все сделано правильно, Excel поместит {} вокруг формулы.

Вставьте B2, нажмите Ctrl-Shift-Enter, затем перетащите/заполните.

enter image description here

Смежные вопросы