Como copiar uma fórmula de célula no Numbers

1

Digamos que eu tenho uma fórmula como (Q7+Q11)÷Q20na célula O20e quero copiá-la para outra célula, digamos D47, existe algum modificador ou atalho de chave para fazer isso sem perder as referências originais da fórmula e sem reescrevê-la?

Algo como Cmd+Alt arrastar e soltar ?

Estou com o Numbers 4 no Mac OS Sierra

Jaime Agudo
fonte
1
Muito obrigado por dedicar tanto tempo para elaborar essas respostas @Synoli, eu estava ciente de alguns detalhes, mas esperava algo mais direto do Numbers, acho que simplesmente não existe
Jaime Agudo
Após a instalação do AppleScript, basta selecionar as células no Numbers e pressionar ⌥⇧⌘Cconforme mencionado. Ele também aparecerá como um item de menu em Números » Serviços se o uso do mouse for mais adequado para você. Quão mais "direto" você gostaria que fosse?
Synoli 12/03

Respostas:

2

Usando o método interno

De acordo com a Base de Conhecimento da Apple , o Numbers suporta referências absolutas :

Você pode definir as referências de linha e coluna em uma fórmula como absolutas, para poder usar a mesma fórmula em outro local da planilha sem que as referências das células sejam alteradas, como seria caso contrário.

Para alterar sua fórmula original para usar referências absolutas, siga estas etapas:

  1. Clique duas vezes na célula original para entrar no modo de edição.
  2. Para cada referência, clique no triângulo; marque as duas caixas Preserve Row e Preserve Column.

Ou, como alternativa à etapa 2, você pode editar manualmente a referência para dizer e. g. $A$1em vez de A1.

As desvantagens óbvias deste método são:

  • O método basicamente bloqueia sua fórmula em um modo que dificulta a reutilização da mesma fórmula em outros lugares onde você realmente deseja referências flexíveis.

  • Se você deseja copiar muitas fórmulas originais diferentes, é necessário repetir o método várias vezes.

Synoli
fonte
1

Usando um AppleScript para copiar fórmulas

Uma abordagem mais reutilizável seria um AppleScript simples que replica o comando Copiar, mas copia apenas as fórmulas básicas:

on join(cells, delimiter)
  set previousDelimiters to AppleScript's text item delimiters
  set AppleScript's text item delimiters to delimiter
  set resultString to (cells as text)
  set AppleScript's text item delimiters to previousDelimiters
  return resultString
end join

on getSelectedFormulas()
  set tab to character id 9
  set lf to character id 10

  tell application "Numbers"
    tell document 1's sheet 1's table 1
      tell selection range
        set {min, max} to {column 1's address, column -1's address}
        set formulaRows to {}
        repeat with aRow in rows
          set formulaCells to {}
          repeat with aCell in aRow's cells min thru max
            set formulaCells to formulaCells & (aCell's formula)
          end repeat
          set formulaRows to formulaRows & ¬
            my join(formulaCells, tab)
        end repeat
        return my join(formulaRows, lf)
      end tell
    end tell
  end tell
end getSelectedFormulas

on run()
  tell application "Numbers"
    set the clipboard to my getSelectedFormulas()
  end tell
end run

(Nota: sou o autor do script; está sob a licença de código aberto do ISC .)

Isso também elimina a necessidade de modificar as fórmulas originais.

Vinculando o script a um atalho de teclado

Para vincular esse script a um atalho de teclado no Numbers, abra o Automator.app para criar um fluxo de trabalho do Automator. Escolha a opção Serviço não recebe entrada no Numbers , crie uma única etapa Executar AppleScript e cole o código AppleScript lá.

Salve o fluxo de trabalho sob o nome Copy Formulas, abra as Preferências do Sistema e clique em Teclado, depois em Atalhos do Teclado » Serviços » Números » Copiar Fórmulas. Configure um atalho de teclado; Eu recomendo, ⌥⇧⌘Cporque você provavelmente o usará frequentemente com seu equivalente, Colar e Combinar estilo, que já possui o atalho ⌥⇧⌘V.

Synoli
fonte