Чтобы преобразовать многословное название запаса в инициалы в Numbers для Mac, используйте вспомогательный столбец с функциями TRIM, REGEX, SUBSTITUTE и UPPER. Формула ниже преобразует Blue Storage Box в BSB, беря первый символ каждого слова, разделённого обычными пробелами.

Это руководство предназначено для пользователя Mac, который ведёт таблицу запасов и хочет сократить названия, сохранив полные описания. Оно основано на актуальном руководстве Apple по Numbers для Mac, где указана версия Numbers 15.4. Проверьте установленную версию в меню Numbers > About Numbers. Руководство пользователя Numbers для Mac

Введите формулу сокращения во вспомогательный столбец

Используйте одну таблицу со строкой заголовков и четырьмя столбцами: Label в столбце A, Abbreviation в столбце B, Count в столбце C и Abbreviation occurrences в столбце D. Введите следующие условные названия и количество объектов в строки 2–6. Пока оставьте столбцы B и D пустыми; ожидаемые результаты приведены здесь для сравнения.

Строка A: Название B: Ожидаемое сокращение C: Количество D: Ожидаемое число совпадений
2 Blue Storage Box BSB 12 1
3 green round tray GRT 8 1
4 Large Square Tile LST 24 2
5 Long Slim Tube LST 6 2
6 Small Round Tray SRT 10 1

Выберите ячейку B2 и введите эту формулу целиком:

=UPPER(SUBSTITUTE(SUBSTITUTE(TRIM(A2),REGEX("([^ ])[^ ]*"),"$1")," ",""))

При вводе = откроется Formula Editor. Введите оставшуюся часть формулы, затем нажмите Return, чтобы применить её. Результатом в B2 должно быть BSB. Apple описывает как ввод формул, так и использование ссылок на ячейки в качестве входных данных. Вычисление значений с использованием данных в ячейках таблицы в Numbers на Mac

Формула составлена из функций, описанных Apple. В частности, Apple явно поддерживает группы захвата регулярных выражений в аргументе замены функции SUBSTITUTE, включая используемую здесь запись $1. SUBSTITUTE

В примерах между аргументами используются запятые. Если в настройках запятая служит десятичным разделителем, Apple рекомендует использовать между аргументами формулы точки с запятой. Оставьте текст регулярного выражения и пробелы в кавычках без изменений. Обзор функций

Разберитесь, что формула сохраняет и удаляет

Читайте формулу от самой внутренней функции наружу. Каждый этап выполняет небольшое преобразование, поэтому неожиданный результат проще диагностировать.

Сначала TRIM(A2) удаляет пробелы в начале и конце и заменяет повторяющиеся пробелы между словами одним пробелом. Поэтому введённое как Small Round Tray название перед сокращением превращается в Small Round Tray. TRIM

Затем REGEX("([^ ])[^ ]*") задаёт непрерывную последовательность символов, не являющихся обычным пробелом. Часть в скобках захватывает первый символ; оставшаяся часть соответствует остатку этой последовательности. Apple указывает, что регулярные выражения в Numbers следуют стандарту ICU. Интерпретация именно этого шаблона лежит в основе метода сокращения. REGEX

Внутренняя функция SUBSTITUTE заменяет каждое найденное слово его первым захваченным символом, используя $1. Поскольку необязательный аргумент, задающий число вхождений, опущен, заменяются все совпадения. Таким образом, Blue Storage Box превращается в B S B. Затем внешняя функция SUBSTITUTE удаляет обычные пробелы, получая BSB. SUBSTITUTE

Наконец, UPPER переводит результат в верхний регистр. Благодаря этому названия будут единообразными, даже если исходное описание набрано строчными буквами или в смешанном регистре: green round tray превращается в GRT. UPPER

Это правило берёт по одному символу из каждого разделённого пробелами слова, в том числе из коротких служебных слов. Оно не определяет, какие слова важнее. Например, Box of Round Tiles преобразуется в BORT. Если нужно сокращение без некоторых слов, сначала установите такое правило именования, а затем расширяйте формулу.

Заполните формулой остальные строки и проверьте результаты

Когда B2 выдаёт ожидаемый результат, выберите эту ячейку и наведите указатель на границу выделения, пока не появится жёлтый маркер автозаполнения. Перетащите маркер вниз до B6. Автозаполнение копирует формулы и связанное с ними форматирование, заменяя существующее содержимое целевых ячеек, поэтому используйте пустые вспомогательные ячейки. Автозаполнение ячеек в Numbers на Mac

Проверьте формулу в B3: в ней источником должна быть A3. Оставьте эту ссылку относительной, чтобы каждое сокращение использовало название из своей строки. Apple объясняет, что закрепление ссылки на строку или столбец делает её абсолютной; это полезно для фиксированных диапазонов, но для изменяющейся ссылки на ячейку-источник не требуется. Вычисление значений с использованием данных в ячейках таблицы в Numbers на Mac

Прежде чем применять формулу к более крупному перечню запасов, сравните несколько характерных названий с этой диагностической таблицей. Здесь приведены примеры результатов, полученных по формуле. Те же преобразования символов проверили на небольшом примере на Python; саму формулу в приложении Numbers не запускали.

Исходное название Результат Что демонстрирует
Single S Для названия из одного слова берётся один символ.
Small Round Tray SRT Лишние обычные пробелы нормализуются.
Пустой текст Пустой текст Нет символов, которые можно сохранить.
Blue-Green Storage Box BSB Дефис по этому правилу не разделяет слова.
Box 12 Large B1L Для числового слова берётся первая цифра.

Разделителем служит именно обычный символ пробела. Перед использованием этой версии нормализуйте табуляции, переносы строк и неразрывные пробелы. Также проверьте названия, в которых слово начинается со знака пунктуации: шаблон сохраняет этот знак как первый символ. Если от слов с дефисом нужно получать два инициала, сначала стандартизируйте разделители в отдельном рабочем столбце.

Если Numbers показывает ошибку вместо сокращения, нажмите значок ошибки, чтобы прочитать сообщение. Проверьте скобки, строки в кавычках, разделители аргументов и ссылку на источник. Apple описывает этот способ просмотра ошибок; исправьте формулу согласно сообщению, прежде чем заполнять остальные строки. Вычисление значений с использованием данных в ячейках таблицы в Numbers на Mac

Найдите сокращения, общие для разных названий

В примере намеренно есть совпадение: и Large Square Tile, и Long Slim Tube преобразуются в LST. Инициалы теряют информацию, поэтому даже правильная формула может дать неоднозначное название. Сохраняйте полное описание рядом с сокращением и проверяйте совпадения, прежде чем использовать короткие названия отдельно.

Для пяти строк примера введите эту формулу целиком в D2, а затем заполните ею строки до D6:

=COUNTIF(B$2:B$6,B2)

COUNTIF подсчитывает ячейки, удовлетворяющие условию. Здесь функция считает, сколько сокращений совпадает с сокращением в текущей строке. Ожидаемые значения: 1, 1, 2, 2 и 1. Используйте эту простую проверку для непустых сокращений, содержащих буквы и цифры; COUNTIF также трактует подстановочные знаки в условиях, поэтому для знаков пунктуации, например звёздочки, потребуется дополнительная обработка. COUNTIF

Знаки доллара закрепляют границы строк диапазона, а последняя ссылка B2 меняется при заполнении формулы вниз. Убедитесь, что каждая скопированная формула по-прежнему проверяет строки 2–6. Если вы добавите строки с запасами, расширьте проверяемый диапазон. В Apple также предусмотрены элементы управления ссылками Preserve Row и Preserve Column. Вычисление значений с использованием данных в ячейках таблицы в Numbers на Mac

Любое значение выше единицы — повод проверить полные названия. Повторяющиеся строки для одного объекта и разные описания с одинаковыми инициалами требуют разных решений по именованию. Для двух объектов LST отдельный столбец отображаемых названий может содержать специально выбранные обозначения, например LST Tile и LST Tube. Сохраните столбец с автоматически созданными сокращениями, чтобы решение по именованию оставалось понятным.

Чтобы легче замечать повторяющиеся сокращения, выберите D2:D6, откройте боковую панель Format, выберите Cell > Conditional Highlighting > Add a Rule и добавьте числовое правило для значений больше 1. Выберите стиль и нажмите Done. Подсветка меняет оформление в зависимости от значений; подсчёт выполняет вспомогательная формула. Apple отмечает, что если применяются несколько правил, внешний вид определяет первое подходящее правило. Использование условий для ячеек в Numbers на Mac

Учитывайте массивы результатов и подписи диаграмм в рамках задачи

Эта формула сокращения возвращает по одному текстовому значению для каждой строки. Ей не нужен разливающийся массив или запасные столбцы для промежуточных слов. Функция Apple TEXTSPLIT может разделять текст по столбцам или строкам, но одно лишь разделение даёт несколько частей, а не готовое сокращение. Если на выходе требуется одно короткое название, используйте приведённую выше формулу для одной ячейки. TEXTSPLIT

Если позже вы построите диаграмму по количеству объектов, подготовьте диапазон таблицы с проверенными отображаемыми названиями и числовыми значениями. Numbers строит диаграммы по данным таблицы: выберите ячейки, нажмите Chart и выберите тип диаграммы. Проверьте получившиеся подписи категорий и при необходимости воспользуйтесь командой Edit Data References. Изменение значения во вспомогательном столбце повлияет на диаграмму только в том случае, если в её ссылках на данные используется это значение; одно лишь создание столбца сокращений не добавляет его в существующую диаграмму. Выбор данных для диаграммы в Numbers на Mac

Сохраняйте полные названия, создавайте инициалы в соседнем столбце и проверяйте повторяющиеся результаты, прежде чем использовать их в других местах. Так вы получите воспроизводимый процесс сокращения, сохранив достаточно контекста, чтобы различать объекты с одинаковыми инициалами.

Источники