Как удалить определенные ячейки из номеров?

Итак, у меня есть большой набор данных с большим количеством «шума». Мне нужно избавиться от всех этих ячеек, в которых есть «-999» или «888».

Как я могу сделать это программно, используя приложение чисел, чтобы я не делал это весь день?

Ответы (1)

Следующий пример кода AppleScript — это один из способов добиться того, о чем вы просите:

tell application "Numbers"
    tell document 1
        tell sheet 1
            tell table 1
                set the targetCells to a reference to (cells whose value is -999)
                set the value of the targetCells to ""
                set the targetCells to a reference to (cells whose value is 888)
                set the value of the targetCells to ""
            end tell
        end tell
    end tell
end tell

Примечания:

Пример кода AppleScript был протестирован в редакторе сценариев под macOS Catalina с параметрами «Язык и регион» в «Системных настройках» , установленными на английский (США) — основной , и работал у меня без проблем 1 .

  • 1 Предполагается, что необходимые и подходящие настройки в Системных настройках > Безопасность и конфиденциальность > Конфиденциальность установлены/адресованы по мере необходимости.

Примечание. Пример кода AppleScript является именно этим и без какой-либо включенной обработки ошибок не содержит какой-либо дополнительной обработки ошибок , которая может быть уместной. Пользователь несет ответственность за добавление любой обработки ошибок , которая может быть уместной, необходимой или желаемой. Посмотрите оператор try и оператор error в Руководстве по языку AppleScript . См. также Работа с ошибками . Кроме того , при необходимости может потребоваться использование команды задержки между событиями, например , при значении задержки delay 0.5установить соответствующим образом.

Как только я добавлю этот скрипт в Numbersприложение в Finder, как мне его выполнить? У меня нет опыта работы с AppleScript.
@Daniel, RE: «Как только я добавлю этот скрипт в Numbersприложение в Finder» - вы этого не делаете. -- Как указано в примечаниях: ... "было протестировано в редакторе сценариев ", который является стандартным приложением macOS для написания, тестирования и запуска кода AppleScript . После того как вы модифицировали/протестировали код в соответствии со своими потребностями, вы можете использовать его различными способами . Как приложение AppleScript , отдельное приложение или как сценарий AppleScript , запускаемый из Script меню в строке меню или Automator Service/Quick Action .
как вы его тестировали? Я скопировал его в свой редактор сценариев, нажал кнопку воспроизведения и получил Expected end of line but found number.. Моя версия начинается так: tell application "Numbers" tell document Altered_CALES_spreadsheet tell Data tell table 1Сама таблица не имеет заголовка, только столбцы в таблице.
@Daniel, RE: «как вы это проверяли?» - Я проверял это, как объяснено в разделе «Примечания:» ответа, в редакторе сценариев . У меня также (очевидно) был открыт документ Numbers , в котором я заполнил многие ячейки «-999-» и «888», а также другими числами , чтобы убедиться, что мой пример кода AppleScript работает! -- Пожалуйста, ознакомьтесь с iWork Automation: поддержка AppleScript в Numbers , так как это один из лучших онлайн-ресурсов для написания сценариев для Numbers с помощью AppleScript .
@ Даниэль, я ценю, что вы не знаете / не понимаете AppleScript , однако вы спросили, как удалить определенные ячейки из чисел? и не делая это вручную, мой ответ предоставил пример того, как это сделать программно, и это именно то, о чем вы просили. Вам нужно проделать некоторую работу, чтобы реализовать это, и ссылка в моем предыдущем комментарии — лучшее место для начала.