Jeremy - Acho que você precisaria escrever uma função macro simples para fazer isso:
%pr_e%
Observe que esta sub-rotina só funcionaria em colunas ou linhas únicas.
Josh
Como eu selecionaria uma célula que está acima de uma célula vazia? Eu tenho a sensação de que será algo super simples, mas eu não tenho feito nenhum excel desde 2004.
Aqui está uma simples folha de coluna única.
data1
data2
data3
data4
data5
data6
Espero que seja uma função e deva retornar dados2, dados4 e dados4 em uma variedade de tipos.
Vá para a célula em branco onde você quer o seu resultado, e apenas digite "=" e então pressione a seta para cima. OU digite "=" e digite a letra da coluna seguida do número da linha. Por exemplo, se a célula que você gostaria de exibir o resultado na célula B5, você deve clicar na célula B5 e digitar "= B4" (sem as aspas) e pressionar enter. Isso lhe daria o resultado da célula B4 na célula B5 que você selecionou.
Basta ir até onde você quer seu resultado e digitar "= A2 + A4 + A6" Isso adicionará os resultados das células à célula selecionada.
Esta fórmula, matriz inserida com control + shift + enter
{=OFFSET(A1,(ISBLANK(A1:A9))*(ROW(A1:A9))-2,0)}
retornará essa matriz
={#REF!;#REF!;"data2";#REF!;#REF!;"data4";#REF!;"data5";#REF!}
Dependendo do que você deseja fazer com ele, você precisará ignorar os erros REF e processar os não-erros. Também pode ser mais fácil do que isso. Se, por exemplo, os "dados" forem números que você deseja somar, por exemplo, começando em A2
10
20
30
40
50
60
e você quer retornar 110 (20 + 40 + 50), então
{=SUM((ISBLANK(A2:A10)*(A1:A9)))}
Isso só funciona se você tiver uma célula em branco acima dos seus dados.