Я понял так, что надо сделать следующее: 1. К данным, полученным по IMPORTRANGE на листе "Приёмник", нужно временно "приставить" колонку G с числами для сортировки. 2. Отсортировать получившийся составной массив по этой последней приставленной колонке - по возрастанию. 3. После чего "отнять" (удалить) сортировочную колонку, уже не меняя порядка записей после сортировки. 4. Предъявить "оставшийся" массив, отсортированный по доп.колонке - как массив, полученный по IMPORTRANGE.
Если всё так, то формула, проделывающая вышеизложенное, может быть такой: [vba]
[/vba]Эту формулу надо поместить в ячейку A1 листа "Приёмник" вместо имеющейся там сейчас формулы.
Если что-то НЕ так, то скажите - подправим.
Я понял так, что надо сделать следующее: 1. К данным, полученным по IMPORTRANGE на листе "Приёмник", нужно временно "приставить" колонку G с числами для сортировки. 2. Отсортировать получившийся составной массив по этой последней приставленной колонке - по возрастанию. 3. После чего "отнять" (удалить) сортировочную колонку, уже не меняя порядка записей после сортировки. 4. Предъявить "оставшийся" массив, отсортированный по доп.колонке - как массив, полученный по IMPORTRANGE.
Если всё так, то формула, проделывающая вышеизложенное, может быть такой: [vba]
Некий альтернативный вариант - без функции FILTER (чтобы не ломать голову над условием), но с функцией COUNTA, подсчитывающей кол-во "живых" строк в IMPORTRANGE (по первой колонке): [vba]
[/vba] Без определения числа "живых" строк IMPORTRANGE возвращает все строки (даже пустые) с листа "Исходник" - поскольку в качестве диапазона импорта указан весь лист, без уточнения адресов ячеек.
Некий альтернативный вариант - без функции FILTER (чтобы не ломать голову над условием), но с функцией COUNTA, подсчитывающей кол-во "живых" строк в IMPORTRANGE (по первой колонке): [vba]
[/vba] Без определения числа "живых" строк IMPORTRANGE возвращает все строки (даже пустые) с листа "Исходник" - поскольку в качестве диапазона импорта указан весь лист, без уточнения адресов ячеек.Gustav
Уфф! Прошу прощения, ввиду малого опыта наверно немного не правильно объяснил вопрос. Попытаюсь объяснить весь механизм. Из таблицы "Приёмник" данные попадают к каждому исполнителю по отдельности. После того, как исполнитель проставляет дату выполнения и статус эти данные с помощью конгломерации попадают в таблицу источник. Далее в "Приёмник" нужно вернуть "дату выполнения" и "статус" которые соответствуют ID в таблице "приёмник".
Лист приёмник скорее стоит переименовать, допустим, в "Журнал". В котором есть задача с номером ID, датой поступления и Ответственным. Когда назначается ответственный, он видит эту задачу у себя в отдельном файле где ставит дату выполнения и статус, которые в свою очередь появляются в журнале.
Пока печатал в голову пришла идея: Может это воплотить через что-то вроде ВПР в Excel?
Уфф! Прошу прощения, ввиду малого опыта наверно немного не правильно объяснил вопрос. Попытаюсь объяснить весь механизм. Из таблицы "Приёмник" данные попадают к каждому исполнителю по отдельности. После того, как исполнитель проставляет дату выполнения и статус эти данные с помощью конгломерации попадают в таблицу источник. Далее в "Приёмник" нужно вернуть "дату выполнения" и "статус" которые соответствуют ID в таблице "приёмник".
Лист приёмник скорее стоит переименовать, допустим, в "Журнал". В котором есть задача с номером ID, датой поступления и Ответственным. Когда назначается ответственный, он видит эту задачу у себя в отдельном файле где ставит дату выполнения и статус, которые в свою очередь появляются в журнале.
Пока печатал в голову пришла идея: Может это воплотить через что-то вроде ВПР в Excel?Kuzmich110
[/vba] Формула будет саморасширяться вниз по мере добавления новых ID по порядку. Поскольку IMPORTRANGE находится в самой формуле, блок данных в левой части листа "Приёмник" можно удалить. Дальше можно удалить пустые начальные столбцы листа "Приёмник", чтобы весь блок, содержащий формулу, оказался прижатым к левому краю листа. Ячейка J2 с формулой при этом переместится в ячейку C2.
Формула начинается прямо из строки заголовков и заголовки двух колонок {"Дата вып" \ "Статус"} являются частью формулы. Это сделано для того, чтобы можно было произвольно менять местами строки данных ниже строки заголовков, включая самую первую строку данных, находящуюся сразу под строкой заголовков. Можно выделять произвольную строку данных кликом на ее номере слева и далее, зажав левую кнопку мыши, перетаскивать строку целиком в новое место (в пределах области данных). Если бы формула располагалась в первой строке данных, как это часто делают в подобных случаях, то первую строку нельзя было бы перемещать таким образом (из-за разрушения формулы).
Врезал (как замок) в Вашу ячейку J2 на листе "Приёмник" такую формулу: [vba]
[/vba] Формула будет саморасширяться вниз по мере добавления новых ID по порядку. Поскольку IMPORTRANGE находится в самой формуле, блок данных в левой части листа "Приёмник" можно удалить. Дальше можно удалить пустые начальные столбцы листа "Приёмник", чтобы весь блок, содержащий формулу, оказался прижатым к левому краю листа. Ячейка J2 с формулой при этом переместится в ячейку C2.
Формула начинается прямо из строки заголовков и заголовки двух колонок {"Дата вып" \ "Статус"} являются частью формулы. Это сделано для того, чтобы можно было произвольно менять местами строки данных ниже строки заголовков, включая самую первую строку данных, находящуюся сразу под строкой заголовков. Можно выделять произвольную строку данных кликом на ее номере слева и далее, зажав левую кнопку мыши, перетаскивать строку целиком в новое место (в пределах области данных). Если бы формула располагалась в первой строке данных, как это часто делают в подобных случаях, то первую строку нельзя было бы перемещать таким образом (из-за разрушения формулы).Gustav