Alguma planilha permite que você crie suas próprias funções?

6

Sempre me senti frustrado ao usar planilhas pela incapacidade de definir minhas próprias funções quando não havia nenhuma função existente para fazer (de forma limpa) o que eu queria. Uma planilha qualquer oferece essa habilidade?

    
por iconoclast 30.08.2012 / 19:49

6 respostas

4

Números do Apple iWork

Isso não pode ser feito no Numbers, infelizmente.

Google Apps

Funções personalizadas são suportadas na planilha do Google, usando JavaScript .

LibreOffice Calc

O LibreOffice Calc suporta funções personalizadas .

Microsoft Excel

As funções personalizadas são possíveis em Excel , voltando pelo menos no que diz respeito ao Excel 2003 .

Dado que existem várias opções, é difícil saber qual escolher.

Se você (ou seu empregador) tiver um compromisso anterior com uma solução baseada na Microsoft ou (inversamente) com uma solução de código aberto, a decisão basicamente já foi tomada. Se você é um fã da Apple (como eu), você usará o Numbers sempre que possível e só o abandonará quando precisar de recursos além do que ele oferece. Mas (na minha opinião) a solução com os maiores upsides e menores desvantagens são as planilhas do Google:

Você não precisa se preocupar com ameaças (reais e percebidas) de macros em suas planilhas. Você não precisa se preocupar se pode compartilhar o arquivo com outras pessoas: apenas concede acesso a quem quiser e é "na nuvem" para elas sempre que quiser. Em breve, você poderá editar suas planilhas off-line .

Você está expondo suas informações para o Google Information Borg (se você se importa), e está cedendo alguma elegância (em comparação ao Numbers) e um conjunto de recursos mais completo (em comparação, no mínimo, com o Excel, se não para os outros), mas isso pode não ser um grande problema.

Se, por outro lado, você já estiver usando o Excel (como a maioria de nós) e você pode viver com as desvantagens de ambos os riscos envolvidos usando macros, e dos avisos irritantes para quem você compartilha seus arquivos, e da bagunça de gerenciar suas funções (se você colocá-los em um arquivo separado, então você precisará distribuir isso para os outros toda vez que você lhes der uma planilha usando essas funções, mas se você colocá-las dentro do arquivo, você estará fazendo um lote inteiro de copiar e colar, e suas melhorias posteriores não serão propagadas anteriormente planilhas), em seguida, um caso muito strong pode ser feito para ficar com o Excel. Com poucas dúvidas, é o mais poderoso do grupo, e ele não tem uma interface ruim de jeito nenhum.

    
por 31.08.2012 / 21:21
6

Eu não uso outras planilhas além do Excel, mas o Excel é capaz de fazer praticamente qualquer coisa usando o VBA, incluindo funções personalizadas. Confira este artigo para ver um exemplo básico.

    
por 30.08.2012 / 19:53
3

Isso é bastante simples usando o Funfun no Excel. O Funfun permite que você use JavaScript diretamente no Excel para que você possa definir todos os tipos de funções. Com a ajuda do suplemento do Funfun Excel , você pode usar os dados na planilha e também saída de dados em células específicas.

Basicamente, o que você precisa fazer é

1). Inserir o suplemento Funfun da loja de Suplementos do Office

2).CrieumnovoFunfunoucarregueumaamostradoeditoronlinedoFunfun

3).EscrevacódigoJavaScripoudefinasuaprópriafunção.

4).ExecuteocódigodiretamentenoFunfun

Eudefiniumafunçãodeamostranoeditoron-linedoFunfunquepoderiacalcularadensidadedeprobabilidadeusandoamédiaeodesviopadrãoarmazenadosnaplanilha.Vocêpodeverificaressaamostranolinkabaixo.

link

Você poderia facilmente vincular essa amostra ao seu Excel usando o Step2) acima.

Divulgação: Sou um desenvolvedor do Funfun.

    
por 17.12.2017 / 16:48
2

Eu encontrei um artigo da Microsoft discutindo como criar uma função personalizada no Excel 2003.

link

Eu imagino que isso se aplica também às versões mais recentes do Excel.

    
por 30.08.2012 / 19:55
2

O Excel faz isso muito bem, usando o VBA. Eu tenho um número de funções personalizadas que eu criei, do básico ao complexo, para fazer tudo, desde o retorno do nome da planilha da célula atual para gráficos de formatação personalizados. Muitas das minhas funções começaram no Excel 2003 e migrei para o Excel 2010 (64 bits). É importante notar que é preciso um pouco de programação extra para que eles trabalhar em ambientes de 32 e 64 bits. Para criar sua primeira função personalizada:

  1. Eu recomendo usar uma pasta de trabalho limpa e separada que você possa salvar como um arquivo .XLA que pode ser usado como um suplemento. Isso permite que você chame suas funções personalizadas de qualquer uma das outras pastas de trabalho, em vez de limitá-las à pasta de trabalho em que você as utiliza.
  2. Selecione Visual Basic na guia desenvolvedores. Se essa guia não for exibida, será necessário ativá-la em Opções > Personalizar Faixa de opções > Guias principais .
  3. Em VBA , clique com o botão direito em Módulos e escolha Inserir > Módulos .
  4. Digite seu código (o seguinte retornará o nome da planilha para a célula na qual você o chama):

    Function SheetName(rAnyCell)

    Application.Volatile

    SheetName = rAnyCell.Parent.Name

    End Function

  5. Salve seu módulo e retorne ao Excel.

  6. Em qualquer célula, digite = sheetname (A1) e ele retornará o nome da planilha.

Você está correto sobre isso com a "Bagagem" do Excel, portanto, é necessário ter isso em mente em relação aos ambientes em que será usado. Mas, no geral, é um enorme benefício e permite uma melhoria substancial da trabalhabilidade.

    
por 31.08.2012 / 14:52
1

No ambiente do Google Apps, você tem a possibilidade de criar funções isoladas com o Script do Google Apps (GAS). Este é um javascript baseado em nuvem bastante semelhante ao Google Webtool Kit (GWT).

Em uma planilha do Google, você pode criar funções disponíveis apenas na pasta de trabalho. Veja a seguinte resposta em Super Usuários; Este exemplo é usado como uma função.

Exemplo de trabalho incluído: funções personalizadas

    
por 10.12.2012 / 07:34