Таблицы функций перекрестного соединения Google Sheets с более чем двумя столбцами - PullRequest
0 голосов
/ 07 марта 2020

Функция crossJoin, опубликованная @Max Makhrov из приведенной ниже ветки, работает почти полностью для того, чего я надеялся достичь. Это было в ответ на перекрестное соединение двух столбцов, и я попытался объединить две таблицы, одну с двумя столбцами и одну с пятью столбцами. Это работает, но только частично.

  1. Разделитель данных столбца вставляется в запятую ",". Это может быть проблематично c для значений с запятыми. Переменная-разделитель в функции определяет только два соединяемых диапазона.
  2. Если столбец, к которому присоединяется, является, например, датой, он, кажется, расширяет полный текст даты, включая часовой пояс, и фиксируется как текст. Есть ли способ сделать так, чтобы форматирование было нетекстовым? Даже когда он анализируется с помощью функции split (), он определенно остается текстом.

Результат JOIN превышает ограничение в 50 000 символов

Ниже приведена ссылка на пример ввода и вывода. Первый выходной пример - это стандартное перекрестное соединение. Другой фактический желаемый вывод, который фильтрует любые строки данных, где дата в столбце 5 больше или равна дате в столбце 2.

https://docs.google.com/spreadsheets/d/1FGS8lYyy60AH49Qyug8Uxaey5jxDksihOks7ll8Hq10/edit?usp=drivesdk

1 Ответ

2 голосов
/ 09 марта 2020

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

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

=ARRAYFORMULA(QUERY({HLOOKUP({"A","B"},{"A","B";Sheet1!A5:B},SEQUENCE(COUNTA(Sheet1!D5:D)*COUNTA(Sheet1!A5:A),1,0)/COUNTA(Sheet1!D5:D)+2),HLOOKUP({"D","E","F","G"},{"D","E","F","G";Sheet1!D5:G},MOD(SEQUENCE(COUNTA(Sheet1!D5:D)*COUNTA(Sheet1!A5:A),1,0),COUNTA(Sheet1!D5:D))+2)},"where Col2>=Col5"))
...