формула для нахождения первой непустой ячейки - PullRequest
4 голосов
/ 23 января 2012

У меня есть электронная таблица с 2 столбцами данных, столбцами A и B и столбцом C, где я ищу формулу.

row    A      B       C
 1     50
 2   
 3   
 4   
 5            56      6
 6   
 7   
 8     46            10
 9   
 10   
 11           64     18

Как видите, строка либо содержит значение, либо нет. В столбце C я рассчитываю рассчитать разницу между

a) значение в столбце B и значение в первой непустой ячейке столбца A непосредственно над (поэтому, например, в строке 5 я вычисляю разницу между B5 и A1 56 - 50 = 6) если значение B является числом и

b) значение в столбце A и значение в первой непустой ячейке столбца B непосредственно над (строка 8, 56 - 46 = 10)

и ничего не ставить, если ни один из столбцов A и B не пуст.

Я боролся с "первой непустой ячейкой", чтобы написать формулу R1C1. Обратите внимание, что я знаю, что могу сделать это в VBA, но я ищу формулу R1C1.

Спасибо за вашу помощь.

Ответы [ 2 ]

4 голосов
/ 23 января 2012

Вот формула массива (которую нужно проверить с помощью Ctrl + Shift + Enter ), которую вы можете ввести в C1 и перетаскиватьдо конца ваших данных:

=IF(OR(A1<>"",B1<>""),INDEX($B$1:B1,MAX(IF($B$1:B1="",0,ROW($B$1:B1))))-INDEX($A$1:A1,MAX(IF($A$1:A1="",0,ROW($A$1:A1)))),"")

Или, во французской версии Excel:

=SI(OU(A1<>"";B1<>"");INDEX($B$1:B1;MAX(SI($B$1:B1="";0;LIGNE($B$1:B1))))-INDEX($A$1:A1;MAX(SI($A$1:A1="";0;LIGNE($A$1:A1))));"")

Обратите внимание, что если вам интересно, вы можете зафиксировать в Stackoverflow вфранцузский

3 голосов
/ 24 января 2012

Возможно, попробуйте эту формулу в C2, скопированном

=IF(B2="",IF(A2="","",LOOKUP(9.99E+307,B$1:B1)-A2),B2-LOOKUP(9.99E+307,A$1:A1))

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