Не можете отфильтровать и отсортировать несколько столбцов с помощью этой функции фильтра/сортировки/карты?

У меня есть функция, которая объединяет столбцы из нескольких листов, объединяет комментарии и извлекает максимальное значение из листа «статусы».

Мне нужна возможность щелкнуть заголовки и отсортировать столбец A, а затем перейти и отсортировать другой столбец и многое другое, если мне нужно. В настоящее время у меня есть возможность сортировать только по одному столбцу:

=sort( 
  filter( 
    hstack( 
      choosecols('Raw Data'!A3:Z,5,21,4,3,9), 
      iferror(map('Raw Data'!D3:D, lambda(Σ, if (Σ = "",,textjoin(char(10),1,sort(filter({TEXT(Comments!C:C,"m/d/yy : ")&Comments!B:B},Comments!A:A=Σ),filter(Comments!C:C,Comments!A:A=Σ),))))),""), 
      xlookup('Raw Data'!D3:D,Statuses!A:A,Statuses!B:B,,,-1), choosecols('Raw Data'!A3:Z,6,23,7,11,1,2) 
    ), 
    'Raw Data'!A3:A <> "" 
  ), 
  column(E1), false  
)

Есть ли способ добавить все столбцы в column(E1), false вроде columns(1:13),false?

Ссылка на лист здесь, а формула — в ячейке A2.

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

=REDUCE( 
  filter( 
    hstack( 
      choosecols('Raw Data'!A3:Z,5,21,4,3,9), 
      Iferror(map('Raw Data'!D3:D, lambda(Σ, if (Σ = "",,textjoin(CARACTER(10),1,sort(filter({TEXT(Comments!C:C,"m/d/yy : ")&Comments!B:B},Comments!A:A=Σ),filter(Comments!C:C,Comments!A:A=Σ),))))),""), 
      XLOOKUP('Raw Data'!D3:D,Statuses!A:A,Statuses!B:B,,,-1), choosecols('Raw Data'!A3:Z,6,23,7,11,1,2) 
    ), 
    'Raw Data'!A3:A <> "" 
  ),SEQUENCE(13,1,13,-1),
LAMBDA(a,v,SORT(a,v,FALSE)))


ОБНОВЛЕНИЕ ДЛЯ ДОБАВЛЕНИЯ ЗАГОЛОВКОВ

=VSTACK(
HSTACK(choosecols('Raw Data'!A1:Z1,5,21,4,3,9),"Comments","Status",choosecols('Raw Data'!A1:Z1,6,23,7,11,1,2)),
REDUCE( 
  filter( 
    hstack( 
      choosecols('Raw Data'!A3:Z,5,21,4,3,9), 
      IFERROR(map('Raw Data'!D3:D, lambda(Σ, IF(Σ = "",,textjoin(CHAR(10),1,sort(filter({TEXT(Comments!C:C,"m/d/yy : ")&Comments!B:B},Comments!A:A=Σ),filter(Comments!C:C,Comments!A:A=Σ),))))),""), 
      XLOOKUP('Raw Data'!D3:D,Statuses!A:A,Statuses!B:B,,,-1), choosecols('Raw Data'!A3:Z,6,23,7,11,1,2) 
    ), 
    'Raw Data'!A3:A <> "" 
  ),SEQUENCE(13,1,13,-1),
LAMBDA(a,v,SORT(a,v,FALSE))))

Эй, спасибо! Итак, если вы вернетесь на лист, вы увидите, что я попытался отсортировать столбец А, и он смещает строки дальше по листу?

Kolev_I_N 07.04.2024 20:17

Я предлагал сортировку внутри формулы, вы тоже пытаетесь сортировать с помощью фильтров в заголовках?

Martín 07.04.2024 20:27

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

Kolev_I_N 07.04.2024 20:35

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

Martín 08.04.2024 13:40

Другие вопросы по теме