Вставка новой строки Google Sheets в таблицу с алфавитной сортировкой

#sorting #google-apps-script #google-sheets #google-query-language

#сортировка #google-apps-script #google-sheets #google-query-language

Вопрос:

Я работаю с двумя электронными таблицами; первая электронная таблица принимает имя, а затем автоматически добавляет его в следующую электронную таблицу, которая сортируется в алфавитном порядке по имени. Проблема в том, что мне нужно создать новую строку, иначе данные из строки над ней будут добавлены вместе с именем. Вот запрос, который я использую: ‘=query(Рефералы!A2: O, «выберите *, где C не является нулевым порядком по D»)’. Я не думаю, что это можно сделать с помощью запроса, поэтому я изучал сценарии приложений Google. Однако я не уверен, как вставить в предварительно отсортированный список. Любая помощь приветствуется!

Комментарии:

1. Есть ли способ сделать это с помощью VLOOKUP?

Ответ №1:

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

 =query(Referrals!A:O, "select * where C is not null order by D Offset 1")
  

Похоже, это устраняет некоторые проблемы, с которыми я столкнулся.

Редактировать:

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

 =sort(FILTER(offset(Referrals!$A:$O,1,0),offset(Referrals!$C:$C,1,0)<>""),4,true)
  

Комментарии:

1. Потрясающе! Если вы считаете, что это ответ на ваш вопрос, пометьте его как ответ. Удачи!

2. К сожалению, данные по-прежнему сбиваются. Смещение просто перемещает листы вверх по строке, поэтому я фактически теряю некоторые данные. Когда создается новая строка, данные сверху помещаются в новую строку. Есть ли способ всегда создавать новую строку и соблюдать порядок?

Ответ №2:

При использовании скрипта приложений вы можете напрямую вставить строку (через Sheet.insertRow(RowIndex, numRows)) в лист с нужным индексом. Но я считаю, что вы можете добиться желаемого, сопоставив данные в «следующей таблице» с именами, импортированными с помощью «запроса» VLOOKUP . Таким образом, при добавлении новых данных в «первую электронную таблицу» они будут отсортированы в соответствии с вашей формулой, но теперь связанные данные будут перемещать строки, чтобы продолжить сопоставление с соответствующей строкой.