Як скопіювати формулу комірки в Numbers


1

Скажімо, у мене є така формула, як (Q7+Q11)÷Q20у клітинку, O20і я хочу скопіювати її в іншу клітинку, скажімо D47, чи є якийсь модифікатор ключа або ярлик, щоб це зробити, не втрачаючи оригінальних посилань формули і не переписуючи її?

Щось на кшталт Cmd+Alt перетягування ?

Я з Numbers 4 на Mac OS Sierra


1
Велике спасибі за те, що витратили стільки часу, щоб розробити ці відповіді @Synoli, я знав про деякі деталі, але чекав чогось більш прямого від Номери, я думаю, його просто не існує
Хайме Агудо

Після того, як AppleScript встановлений, ви просто вибираєте клітинки, перебуваючи в номері, і натискаєте, ⌥⇧⌘Cяк було зазначено. Він також відображатиметься як пункт меню в « Числах » Послуги, якщо використання миші - це більше ваша справа. Наскільки більше «прямим» ви б хотіли, щоб це було?
Синолі

Відповіді:


2

Використовуючи вбудований метод

Відповідно до бази знань Apple , Numbers підтримує абсолютні посилання :

Ви можете встановити посилання рядків і стовпців у формулі абсолютними, щоб ви могли використовувати ту саму формулу в іншому місці таблиці, не змінюючи посилання на комірки, як інакше.

Щоб змінити оригінальну формулу, щоб використовувати абсолютні посилання, виконайте наступні дії:

  1. Двічі клацніть на оригінальній комірці, щоб перейти в режим редагування.
  2. Для кожної довідки натисніть на трикутник; потім позначте обидва поля " Зберегти рядок" та " Зберегти стовпчик".

Або, як альтернатива кроку 2, ви можете вручну відредагувати посилання, щоб сказати е. г. $A$1замість A1.

Очевидними недоліками цього методу є:

  • В основному метод блокує вашу формулу в режимі, що ускладнює повторне використання тієї ж формули в інших місцях, де ви дійсно хочете гнучких посилань.

  • Якщо ви хочете скопіювати багато різних оригінальних формул, вам потрібно повторити метод знову і знову.


1

Використання AppleScript для копіювання формул

Більш багаторазовий підхід був би простий AppleScript , який копіює Копіювати команду , але тільки копію голих формули:

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

(Примітка. Я автор сценарію; він має ліцензію ISC з відкритим кодом .)

Це також виключає необхідність зміни оригінальних формул.

Прив’язка сценарію до клавіатурного скорочення

Для того, щоб прив'язати цей скрипт до комбінації клавіш у "Числах", відкрийте Automator.app, щоб створити робочий процес Automator. Оберіть опцію Сервіс не отримує введення в Numbers , створіть єдиний крок запуску AppleScript і вставте туди код AppleScript.

Збережіть робочий процес під назвою Copy Formulas, потім відкрийте Налаштування системи та натисніть Клавіатура, потім Клавіші швидкого доступу » Послуги » Номери » Формули копіювання. Налаштування комбінації клавіш; Я рекомендую, ⌥⇧⌘Cтому що ви, ймовірно, будете часто використовувати його зі своїм аналогом, стилем вставки та відповідності, у якому вже є ярлик ⌥⇧⌘V.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.