Универсальная отладка формул

200 прочитали

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

Посмотрим на примере!

Я подготовил таблицу, в которой формула в ячейке A3 переворачивает заданную в ячейке A1 строку: https://docs.google.com/spreadsheets/d/12zkIoCyWtW2IfcY7F6w7xDLWXpb1SFQ9lUYzlXnhQh8/edit?usp=sharing

Есть метод отладки формул, который работает в гугл-таблицах, эксель, да и везде где только можно – луковичная модель отладки формул.

Вот сама формула:

=join("";arrayformula(mid(A1;len(A1)-sequence(len(A1);1;0;1);1)))

Давайте развернем ее слой за слоем:

  1. JOIN - объединяет массив, заданный 2-м аргументом в одну строку с разделителем, заданным в 1-м аргументе.
  2. ARRAYFORMULA - применяется к вложенной формуле, чтобы она была посчитана, как формула массива в соответствии с массивами, переданными в аргументах
  3. MID - извлекает часть строки
  4. LEN - указывает длину строки
  5. SEQUENCE - создает массив строк или столбцов с последовательностью чисел с заданным шагом.
  6. LEN - указывает длину строки

Стало понятнее? Наверное, нет. Давайте теперь соберем формулу в обратном порядке:

=sequence(len(A1);1;0;1)

Получаем последовательность чисел от 0 до длины слова в ячейке A1 - 1

=len(A1)-sequence(len(A1);1;0;1)

Получаем последовательность в обратном порядке (

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

=arrayformula(mid(A1;len(A1)-sequence(len(A1);1;0;1);1)

Для каждого элемента массива на прошлом шаге, мы извлекаем один символ на соответствующей позиции из строки в A1

=join("";arrayformula(mid(A1;len(A1)-sequence(len(A1);1;0;1);1)))

Наконец, мы объединяем весь массив обратно в строку.

Для наглядности можно эти шаги формулы вписать в отдельные столбцы, рядом с нашей формулой:

Есть метод отладки формул, который работает в гугл-таблицах, эксель, да и везде где только можно – луковичная модель отладки формул.-2