Pull to refresh
70
Азат Разетдинов@razetdinov

Руководитель разработки

20
Subscribers
Send message

Ведро картошки

Когда я пришёл в WB, передо мной встала задача подтянуть управленческие навыки сразу нескольких руководителей разработки. Я начал работать с каждым по отдельности в рамках встреч 1-на-1, но хотелось ускорить процесс.

И тут я вспомнил, как папа учил меня мыть картошку. Достаточно пересыпать её в ведро, залить водой, взять деревянную палку и хорошенько пошуровать. Оказалось, картофелины моют друг друга гораздо быстрее, чем если отмывать каждую по отдельности.

Я выбрал нескольких руководителей и попросил их поделиться опытом с коллегами, подготовив небольшие презентации на разные темы: как нанимать людей, управлять проектами, развивать команду и т.д.

В итоге получилось убить сразу нескольких зайцев:

  • При подготовке к докладу выступающий систематизировал свои знания на тему и сам начинал в ней лучше разбираться.

  • Слушатели воспринимали слова коллеги, которого они давно знают, с бóльшим доверием, чем если б они исходили от меня, нового руководителя, который ещё не успел завоевать авторитет.

  • Тимлиды поняли, что можно обсуждать управленческие навыки с коллегами, интересоваться чужим опытом и делиться своим. Не стыдно что-то не уметь, стыдно не учиться.

Принцип ведра картошки сработал.

Tags:
-2
Comments0

Мухоловка для мыслей

Мысли, идеи и задачи как мухи. Они летают где-то рядом, периодически напоминая о себе. Как правило, это происходит в самый неподходящий момент. Мы отмахиваемся: да, точно, надо бы не забыть. Муха улетает. Когда она возвращается, нас одолевает лёгкое чувство досады: ну как же я мог запамятовать, теперь точно не забуду! И так каждый раз.

Лучший способ бороться с мухами: ловить их на подлёте. Мухоловка должна быть максимально простой, в идеале позволяющей записать мысль одним движением. Разблокировать телефон, открыть записную книжку, набрать текст — это сложно и долго. Особенно, когда ты в перчатках или за рулём.

Идеальная мухоловка: повесить функцию диктофона на кнопку действия в айфоне. Подержал кнопку, надиктовал мысль, ещё подержал — готово. А если немного пошаманить, можно настроить автоматическую расшифровку голосовых сообщений в текстовые заметки.

Конечно, для того, чтобы система работала, необходимо регулярно разбирать улов: идеи переносить в записную книжку, задачи — в тудушник.

Tags:
+1
Comments1

Группировка в сводной таблице

Часто возникает задача сгруппировать исторические данные по неделям, месяцам, кварталам или годам. Иногда для решения этой задачи создают дополнительный столбец (например, Месяц) и строят по нему сводную таблицу.

Есть более простой способ сгруппировать данные, но его нет в настройках сводной таблицы, поэтому многие пользователи даже не догадываются о нём:

1️⃣ Построить сводную таблицу по столбцу с датами.

2️⃣ Нажать на любую дату и выбрать в контекстом меню желаемый тип группировки.

➡️ Поиграться: https://docs.google.com/spreadsheets/d/1tNG4K8IwSuAa8cenJDm0b7IXvkHfRo7uF86sHIvtGKo/copy

Tags:
0
Comments0

Функции сортировки

Функция SORT (СОРТ) позволяет упорядочить исходную таблицу и вставить результат в другое место. По умолчанию таблица сортируется по первому столбцу в порядке возрастания:

  • Sheets: =SORT(A:C)

  • Excel: =СОРТ(A:C)

Для сортировки по другому столбцу можно передать его номер и направление сортировки: по возрастанию или по убыванию. В Google Sheets это TRUE и FALSE, в Excel — 1 и -1. Следующая формула сортирует таблицу по второму столбцу в порядке убывания:

  • Sheets: =SORT(A:C;2;FALSE)

  • Excel: =СОРТ(A:C;2;-1)

Недостаток такого подхода: при добавлении/удалении столбцов формула может сломаться, придётся вручную обновлять номер столбца. Поэтому гораздо удобнее передавать не номер, а сам столбец для сортировки. В Google Sheets для этого используется та же функция SORT, в Excel — отдельная функция СОРТПО:

  • Sheets: =SORT(A:C;B:B;FALSE)

  • Excel: =СОРТПО(A:C;B:B;-1)

Можно задавать несколько столбцов сортировки. Следующая формула сортирует таблицу по второму столбцу в порядке убывания, одинаковые значения сортируются по третьему столбцу в порядке возрастания:

  • Sheets: =SORT(A:C;B:B;FALSE;C:C;TRUE)

  • Excel: =СОРТПО(A:C;B:B;-1;C:C;1)

Наконец, лайфхак, про который не рассказывают в документации. Если нужно упорядочить данные по разнице столбцов B и C (пример: доходы минус расходы или цена минус себестоимость), то можно использовать формулу массива. В Google Sheets понадобится ARRAYFORMULA или MAP, в Excel всё работает и без них:

  • Sheets: =SORT(A:C;ARRAYFORMULA(B:B-C:C);TRUE)

  • Excel: =СОРТПО(A:C;B:B-C:C;1)

Tags:
+1
Comments1

Телефонный номер

Если попытаться ввести в ячейку электронной таблицы номер телефона, внезапно пропадёт плюс:

+7987654321079876543210

А при попытке вбить форматированный номер телефона и вовсе выскочит ошибка:

+7 987 654-32-10#ERROR

Дело в том, что значения с плюсом в начале распознаются как формулы. Как же тогда ввести телефонный номер в ячейку? Достаточно добавить в начале апостроф. Тогда электронная таблица не будет пытаться распознать формулу и просто воспримет значение как текст:

'+79876543210+79876543210

'+7 987 654-32-10+7 987 654-32-10

Этот способ пригодится в любых случаях, когда значение начинается с плюса, знака равно или похоже на дату (особенно частая проблема).

Tags:
Total votes 2: ↑2 and ↓0+3
Comments7

Переключение раскладки

Большинство людей переключают раскладку либо по Ctrl + Shift, либо по Alt + Shift. Это одно из самых часто используемых сочетаний клавиш, наряду с Ctrl + C и Ctrl + V. Насколько оно популярно, настолько и неудобно.

В то же время на каждой клавиатуре есть идеальный переключатель. Он большой, удобно расположен и почти не используется по прямому назначению. Это Caps Lock.

Как настроить переключение раскладки капслоком?

🔸 Для Windows есть бесплатная утилита Switchy (всего 12 КБ). Достаточно скачать и добавить в Автозагрузку.

🔸 В macOS есть штатная настройка (находится по «Caps Lock»). Однако у этого решения есть маленький недостаток. Разработчики зачем-то решили защищать пользователей от случайного нажатия Caps Lock, поэтому при очень быстром наборе раскладка не переключается. На помощь приходит утилита Karabiner Elements, позволяющая отлавливать нажатие клавиши на более низком уровне.

Tags:
Total votes 3: ↑3 and ↓0+5
Comments3

Проверка по словарю

Для работы с данными, будь то группировка или условная агрегация, важно, чтобы значения записывались однообразно. Как быть, если нужно сгруппировать сотрудников по отделам, а в соответствующем столбце намешаны «Продажи», «Отдел продаж», и «Sales»? В таких случаях необходимо настроить проверку вводимых значений по словарю.

1️⃣ Для хранения словаря рекомендуется создать таблицу «Отделы». Во-первых, её будет просто дополнять и редактировать. Во-вторых, таблицу можно использовать для хранения метаданных. Например, добавить информацию о руководителе отдела или о расположении в офисе.

2️⃣ Когда словарь готов, можно вернуться в таблицу «Сотрудники», открыть меню столбца «Отдел» и поменять тип на «Раскрывающийся список». Далее в поле «Критерии» указать «Раскрывающийся список (из диапазона)» и ввести табличную ссылку:

=Отделы[Название]

3️⃣ После включения проверки некорректные значения помечаются красным уголком.
Искать их глазами утомительно, поэтому проще временно скрыть корректные значения. Для этого можно зайти в меню столбца, выбрать «Столбец для фильтра», «Фильтровать по условию», «Данные не проверены». Таким образом в таблице останутся только некорректные записи, которые легко исправить. И не забыть сбросить фильтр.

➡️ Поиграться на примере

Tags:
Rating0
Comments0

Условная агрегация

Пусть есть таблица со всеми сотрудниками компании. Как найти общее число инженеров? С этой задачей справляется функция COUNTIFS (в формулах используются табличные ссылки):

=COUNTIFS(Сотрудники[Должность];"Инженер")

Мы передаём в функцию столбец «Должность» и просим посчитать количество ячеек, содержащих значение «Инженер».

В отличие от поиска, можно легко комбинировать несколько условий. Следующая формула считает количество инженеров в Москве:

=COUNTIFS(Сотрудники[Должность];"Инженер";Сотрудники[Город];"Москва")

Если нужно посчитать не количество, а сумму окладов всех инженеров, пригодится функция SUMIFS:

=SUMIFS(Сотрудники[Оклад];Сотрудники[Должность];"Инженер")

Здесь первым параметром передаётся столбец, который будем суммировать, а дальше условия для выборки. Аналогично работают функции MINIFS и MAXIFS.

Иногда возникает необходимость в более сложной агрегации. Например, нужно склеить имена инженеров через запятую. Специальных формул для такой операции нет. Как быть? В такой ситуации можно сначала выбрать нужные записи с помощью FILTER и потом склеить через JOIN:

=JOIN(", ";FILTER(Сотрудники[Имя];Сотрудники[Должность]="Инженер"))

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

Tags:
Total votes 2: ↑1 and ↓10
Comments0

Группировка

Грех номер один при работе с электронными таблицами — ручная группировка данных.

Допустим, есть задача собрать список сотрудников по отделам. Руководитель набрасывает несколько табличек, по одной на каждый отдел. Названия отделов выделяет крупным шрифтом и цветом.

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

Как избежать ручной работы? Использовать группировку по столбцам в Google Sheets:

  1. Собрать один длинный список сотрудников.

  2. Добавить и заполнить столбцы Отдел и Город.

  3. Преобразовать список в таблицу.

  4. Нажать на стрелку рядом с названием столбца «Отдел» и выбрать «Столбец "Основание группировки"».

  5. Сохранить получившийся фильтр под названием «Сотрудники по отделам».

  6. Проделать аналогичную операцию для столбца «Город».

Итог: получилась одна таблица с данными и два её представления: «Сотрудники по отделам» и «Сотрудники по городам», между которыми можно переключаться в два клика.

К сожалению, в Excel такой функции нет.

Tags:
Total votes 1: ↑0 and ↓1-1
Comments0

Таблицы

Самая недооценённая функция электронных таблиц — таблицы. Что за ерунда, подумает читатель. Дело в том, что есть два английских слова: spreadsheet и table. При переводе на русский язык возникает путаница.

Таблица — это набор данных в виде столбцов (как в SQL). Изначально таблицы были реализованы в Excel, а в 2024 появилась поддержка и в Google Sheets.

Пусть есть список сотрудников из трёх столбцов: ID, ФИО и Оклад. Преобразуем его в таблицу. Для этого достаточно в любом месте диапазона с данными нажать сочетание клавиш:

  • Excel: Ctrl + T (⌘ + T)

  • Google Sheets: Ctrl + Alt + T (⌘ + ⌥ + T)

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

Переименуем таблицу в Сотрудники (в Excel это делается не совсем очевидно). Теперь посчитаем сумму окладов двумя способами: с помощью обычных и табличных ссылок.

=SUM(C2:C7)
=SUM(Сотрудники[Оклад])

Или найдём ФИО сотрудника по ID:

=XLOOKUP(4357379;A2:A7;B2:B7)
=XLOOKUP(4357379;Сотрудники[ID];Сотрудники[ФИО])

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

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Электронные таблицы

Первая компания, где я работал, производила программное обеспечение и доставляла его на компакт-дисках. Курьеры-студенты периодически приезжали в офис, чтобы сдать выручку и получить очередную пачку дисков. Учёт велся в большом бумажном журнале. Постоянно возникала путаница: кто из курьеров сколько дисков взял и сколько денег должен.

Посмотрел я на это дело, открыл Эксель и набросал пару таблиц: журнал выдачи дисков и журнал расчётов. Получился инструмент, который сам считает, сколько дисков и денег на руках у каждого курьера. Задача была несложной, т.к. ещё в старших классах я где-то нашёл учебник по Экселю и прочёл от корки до корки. В итоге электронная таблица заменила бумажный журнал, а я прослыл в офисе главным автоматизатором.

Прошло четыре года, я уже пару лет как работал в другой компании. Раздаётся звонок. «Азат Лаисович, ваша таблица распухла и начала тормозить, можете помочь?» Я не поверил своим ушам. Они до сих пор её используют! Объяснил бывшим коллегам, как удалить исторические данные, таблица снова начала летать.

Умение пользоваться электронными таблицами — один из важнейших навыков. В личной жизни Эксель помогает настроить учёт коммуналки, запланировать путешествие и составить смету свадьбы. Стартапу или малому бизнесу электронные таблицы могут заменить дорогостоящие CRM и ERP. В большой компании Эксель позволяет выгрузить данные из сложной системы и быстро составить необходимый отчёт для аудита.

К сожалению, большинство людей осваивает Эксель методом тыка и продвигаются не дальше красивого раскрашивания ячеек. Хотите за пять минут делать работу, на которую ваши коллеги тратят часы — найдите учебник или курс по электронным таблицам.

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

Поиск по нескольким столбцам

Как в электронной таблице найти строчку не по одному столбцу, а по двум? XLOOKUP умеет искать только по одному, поэтому приходится выкручиваться.

Пример: есть таблица продаж, где в столбцах A и B хранятся дата и идентификатор товара. Нужно найти продажи определённого товара за конкретный день.

Первое решение: создать в исходной таблице вспомогательный столбец C, в котором склеить дату и идентификатор товара. Для склейки используем оператор & (амперсанд):

=A2&B2 (и так для всех строчек)

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

=XLOOKUP(TODAY()&"1234567";C:C;D:D)

Второе решение: генерировать этот вспомогательный столбец на лету с помощью ARRAYFORMULA и так же искать по нему:

=XLOOKUP(TODAY()&"1234567";ARRAYFORMULA(A:A&B:B);D:D)

Tags:
Total votes 1: ↑1 and ↓0+1
Comments0

Поиск по столбцу

Почти каждый пользователь электронных таблиц рано или поздно сталкивается с задачей провэпээрить таблицу: найти значение в одном столбце и вернуть соответствующее значение из другого столбца. Типичный сценарий: перенести данные из одной таблицы в другую по какому-то идентификатору.

Функция VLOOKUP (ВПР) появилась в 1985 году в самой первой версии Excel и занимала третье место по популярности среди пользователей (после SUM и AVERAGE). За это время она морально устарела, поэтому в 2020 году разработчики Excel добавили новую функцию XLOOKUP. В 2022 году она появилась и в Google Sheets.

Чем же XLOOKUP лучше, чем VLOOKUP?

Напомню, VLOOKUP принимает на вход четыре параметра:

  1. искомое значение;

  2. ссылку на таблицу (поиск идёт по первому столбцу);

  3. номер столбца с результатами;

  4. тип поиска: точный или приблизительный.

1️⃣ VLOOKUP закладывается на структуру исходной таблицы. Если завтра порядок столбцов поменяется, формула может сломаться. Придётся руками обновлять номер столбца с результатами. XLOOKUP принимает на вход два диапазона и спокойно переживает перемещение любого из них:

=VLOOKUP("needle";A:Z;2;0)
=XLOOKUP("needle";A:A;B:B)

2️⃣ Для VLOOKUP столбец с результатами должен располагаться справа от столбца для поиска. Передать третьим аргументом отрицательное число нельзя. XLOOKUP лишён этого ограничения и позволяет доставать результаты слева от столбца для поиска:

=XLOOKUP("needle";B:B;A:A)

3️⃣ При неудачном поиске VLOOKUP возвращает #N/A. Если вместо ошибки хочется выводить что-то другое (например, пустое значение), приходится дополнительно вызывать функцию IFNA. В XLOOKUP можно четвёртым аргументом передать значение, которое будет выводиться при неудачном поиске:

=IFNA(VLOOKUP("needle";A:Z;2;0);"not found")
=XLOOKUP("needle";A:A;B:B;"not found")

4️⃣ По умолчанию VLOOKUP ищет приблизительное совпадение. Для поиска точного соответствия надо передать FALSE или ноль четвёртым параметром. Часто про это забывают и долго разбираются, почему функция работает не так, как ожидалось. XLOOKUP по умолчанию ищет точное соответствие, помогая избежать ошибок.

5️⃣ Приблизительный поиск VLOOKUP умеет искать только ближайшее меньшее значение. При этом исходная таблица должна быть отсортирована. XLOOKUP в режиме приблизительного поиска позволяет искать как меньшее, так и большее значение. Таблицу сортировать необязательно.

6️⃣ Если подходящих значений в таблице больше одного, VLOOKUP ищет только первое совпадение. XLOOKUP умеет запускать поиск с любого конца и может находить как первое, так и последнее совпадение.

Единственный минус XLOOKUP: функция недоступна в Excel 2019 и более ранних версиях. Да и по-русски называется ПРОСМОТРХ, где Х — это «икс», а не «ха». К вопросу, почему я избегаю русскоязычные названия функций.

Tags:
Total votes 2: ↑2 and ↓0+2
Comments0

Поиск по вкладкам

В моём браузере постоянно открыто 20-30 вкладок, связанных с текущими проектами. И это не какие-то мусорные вкладки, которые я забыл закрыть, а рабочие документы: планы, отчёты, задачи. При таком количестве вкладок названия уже не влезают, и панель превращается в ряд безымянных квадратиков.

Кто-то решает проблему, разбивая вкладки на группы. Я же, освоив быстрое переключение между чатами, захотел найти аналогичный способ активировать нужную вкладку без использования мыши. Сценарий весьма прост:

  1. Нажимаю какое-то сочетание клавиш.

  2. Начинаю вводить любое слово из заголовка вкладки.

  3. Жму Enter — переключаюсь на эту вкладку.

Выяснилось, что первые два пункта в том или ином виде реализованы во всех популярных браузерах. Правда, сочетания клавиш для активации поиска у всех разные:

  • Chrome, Edge: Shift + Ctrl + A (Shift + ⌘ + A)

  • Яндекс Браузер: Shift + Ctrl + E (Shift + ⌘ + E)

  • Safari: Shift + ⌘ + \

  • Firefox: Ctrl + L (⌘ + L), далее ввести знак процента и пробел

А вот с третьим (казалось бы, самым логичным) пунктом не так всё просто. Из перечисленных браузеров только Chrome переключается на найденную вкладку по нажатию Enter. В остальных браузерах приходится использовать мышку. Впрочем, проблема решается плагинами вроде Lightweight Tab Search и Tab Search.

За пару дней я настолько привык переключаться между вкладками с клавиатуры, что теперь не понимаю, как жил без этого раньше.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments8

Вслепую

Представьте, что есть некая суперспособность, позволяющая выполнять любую работу на 20% лучше и быстрее. И есть магические курсы, позволяющие обрести эту суперспособность. Доступ к курсам есть у каждого, но большинство людей либо ленятся их пройти, либо бросают на полпути. Зато те, кто дошёл до конца, всю оставшуюся жизнь пользуются указанной суперспособностью.

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

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

Многие уверены, что и так набирают вслепую и не подсматривают на клавиши. Если вы тоже так считаете, пройдите простой тест. Попросите коллегу накрыть ваши руки листом A4 и попробуйте набрать без ошибок пару абзацев текста.

Впрочем, большинство людей всё равно продолжат набирать двумя-тремя пальцами. Поэтому мой совет школьникам и студентам: хотите получить фору перед сверстниками — найдите клавиатурный тренажёр.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments3

ARRAYFORMULA vs. MAP

В Google Sheets есть две функции, позволяющие производить операции над целыми массивами: ARRAYFORMULA и MAP.

Пусть в столбце A лежит цена товара, а в столбце B — скидка в процентах. Посчитаем финальную цену для всех товаров:

=ARRAYFORMULA(A2:A*(1-B2:B))

Как видно, ARRAYFORMULA позволяет обращаться с массивами как с одиночными ячейками, выполняя любые арифметические (и не только) действия. Под капотом формула работает построчно: сначала обрабатывает первые ячейки столбцов A и B, потом вторые, и т.д. Всего одной формулой мы посчитали финальные цены сразу для всех товаров. Минус такого подхода: когда формула разрастается, становится тяжело разобраться, какие действия с какими столбцами производятся.

Решим ту же задачу с помощью MAP:

=MAP(A2:A;B2:B;LAMBDA(price;discount;price*(1-discount)))

Функция принимает на вход неограниченное количество массивов (в нашем случае — два). Далее она последовательно берёт элементы этих массивов, передаёт в функцию LAMBDA под именами, указанными в первых аргументах (price и discount), и выполняет вычисление, переданное последним аргументом (price*(1-discount)). Благодаря явному именованию массивов формула читается понятнее.

Встречаются случаи, когда ARRAYFORMULA в принципе не работает. Например, когда внутри необходимо использовать другую формулу массива.

Пример: пусть для каждого значения из столбца A нужно отфильтровать и склеить через запятую значения из другой таблицы:

=ARRAYFORMULA(JOIN(", ";FILTER(D2:D;E2:E=A2:A)))

Формула не работает, т.к. FILTER получает вторым аргументом сравнение двух массивов и не понимает, что от него требуется.

MAP же успешно справляется с этой задачей, т.к. передаёт в лямбда-функцию конкретное значение, по которому можно отфильтровать другую таблицу:

=MAP(A2:A;LAMBDA(id;JOIN(", ";FILTER(D2:D;E2:E=id))))

Резюме: в простейших случаях ARRAYFORMULA компактнее, в сложных формулах MAP более понятное, а иногда и единственное решение.

Tags:
Rating0
Comments0

Ссылка на массив переменной длины

Пусть в столбце A лежит массив переменной длины (например, результат работы FILTER). В столбце B мы хотим написать формулу массива, например, удвоить все значения столбца A.

Можно применить формулу ко всему столбцу A:

  • Excel: =2*A2:A1000

  • Sheets: =ARRAYFORMULA(2*A2:A)

Но так возникнут лишние нули там, где данные закончились. Вопрос, как применить формулу только к диапазону с данными, учитывая, что количество строк может в любой момент поменяться?

В Excel достаточно использовать решётку:

=2*A2#

В Google Sheets такого оператора нет, приходится выкручиваться:

=ARRAYFORMULA(2*OFFSET(A2;0;0;COUNTA(A2:A)))

  • Функция COUNTA считает количество непустых значений в столбце.

  • Функция OFFSET возвращает диапазон нужного размера, начиная с указанной ячейки.

Из первого пункта следует важное ограничение: формула работает только при отсутствии пустых значений в данных, иначе функция COUNTA неправильно посчитает высоту диапазона.

Tags:
Total votes 1: ↑1 and ↓0+3
Comments0

Проверка на уникальность

Пусть есть список однотипных объектов: товаров, заказов или сотрудников. У каждого элемента есть идентификатор. Как предотвратить ситуацию, когда при заполнении таблицы кто-нибудь добавит элемент дважды? Другими словами, как гарантировать уникальность идентификаторов?

В sql для этого используется PRIMARY KEY или UNIQUE, в электронных таблицах встроенных инструментов нет. Как вариант, можно реализовать подсветку дубликатов с помощью условного форматирования и функции COUNTIF:

Формат → Условное форматирование
Применить к диапазону: A2:A
Правила форматирования → Ваша формула =AND(LEN(A2);COUNTIF(A$2:A;"="&A2)>1)
Цвет фона: красный

Как работает формула:

  • LEN(A2) проверяет, что ячейка заполнена;

  • COUNTIF(A$2:A;"="&A2) считает количество ячеек, совпадающих с текущей. Если оно больше одного, срабатывает условное форматирование.

В результате при вводе идентификатора, который уже присутствует в списке, дубликаты будут подсвечиваться красным.

Tags:
Total votes 2: ↑1 and ↓10
Comments0

Пустое значение

В большинстве случаев результатом вычисления формулы в электронной таблице является какое-то значение. Но иногда необходимо просто оставить ячейку пустой. В Google Sheets для этого достаточно передать в функцию пустой аргумент:

=IF(A1;A1*100;) — если другая ячейка заполнена, то произвести вычисление, в противном случае оставить ячейку пустой.

=XLOOKUP("needle";A:A;B:B;) — если needle найден в столбце A, вывести соответствующие значение из столбца B, в противном случае оставить ячейку пустой.

Точка с запятой перед закрывающей скобкой обязательна, без неё первая формула вернёт FALSE, вторая — #N/A.

Занятно, что в Excel это не работает. Там в принципе нельзя написать формулу, которая вернёт пустое значение. Приходится возвращать пустой текст (""):

=ЕСЛИ(A1;A1*100;"")

Но это полурешение, т.к. пустой текст не то же самое, что пустое значение. Например, навигация по таблице, позволяющая быстро перемещаться между блоками данных, «перепрыгивает» ячейки с пустым значением, но «спотыкается» о ячейки с пустым текстом.

Tags:
Total votes 2: ↑1 and ↓10
Comments0

Навигация по электронной таблице

Как быстро перейти в конец текущего столбца с данными?

Достаточно нажать Ctrl + ↓ (⌘ + ↓).

Ctrl + ↑ (⌘ + ↑) перемещает в начало текущего столбца.

Ctrl + → (⌘ + →) переносит в конец текущей строки, а Ctrl + ← (⌘ + ←) — в начало.

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

Забавно, что эти сочетания клавиш не описаны в официальной документации.

Tags:
Total votes 1: ↑1 and ↓0+1
Comments2
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity