Используйте COL name для получения имен строк на основе того, существует ли значение в столбце с указанным именем

#google-sheets #excel-formula #google-sheets-formula

Вопрос:

Был бы глубоко признателен, если бы кто-нибудь мог мне помочь с этим.

Обзор

В таблице Google у меня есть следующая таблица:

Школа A Школа B Школа C
Тим x x
Джон
Мартин x x
Джек x

Строки — это имена людей, которые обслуживают определенные школы. Значение ‘x’ в ячейке просто обозначает отношение. Таким образом, Тим обслуживает школу A и школу C, и аналогично Джек обслуживает только школу C.

Примечание: ячейки либо пустые, либо содержат этот ‘x’. Подумал, что это может помочь. На самом деле нам не нужно искать ‘x’ только в непустой ячейке.

Вопрос

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

Школа Люди
Школа A Тим, Мартин
Школа B Мартин
Школа C Тим, Джек

Ответ №1:

используйте:

 =INDEX(REGEXREPLACE(TRIM(SPLIT(FLATTEN(QUERY(TRANSPOSE(QUERY(QUERY(SPLIT(FLATTEN(
 IF(B2:D="",,B1:D1amp;"♠♦"amp;A2:Aamp;",♦"amp;A2:A)), "♦"), 
 "select Col1,max(Col2) where Col2 is not nUll group by Col1 pivot Col3"), 
 "offset 1", 0)),,9^9)), "♠")), ",$", ))
 

введите описание изображения здесь

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

1. Большое вам спасибо! Это выглядит так потрясающе! (пытаюсь сделать это прямо сейчас) далеко за пределами моих навыков работы с таблицами. Однако у меня возник вопрос, я не вижу, чтобы вы ссылались на столбец F. Создаст ли это новую таблицу? У меня есть существующая таблица со школьными строками (и другими столбцами перед ней). В приведенном выше примере я хотел добавить формулу в G2, G3, G4, используя значения в F2, F3, F4

2. Кстати, ты потрясающий!!!

3. Это отлично работает, я определенно могу просто использовать это и выполнить поиск из этой таблицы. Однако я получаю ведущее ‘,’ в строке типа «, Craig, Crowder, Hann, Maciel»

4. @Tahir если вы хотите выполнить поиск, используйте: =INDEX(IFNA(VLOOKUP(F2:F, REGEXREPLACE(TRIM(SPLIT(FLATTEN(QUERY( {B1:D1amp;"♦"; IF(B2:D="",,A2:Aamp;",")},,9^9)), "♦")), ",$", ), 2, 0)))

Ответ №2:

или:

 =INDEX(REGEXREPLACE(TRIM(SPLIT(FLATTEN(QUERY(
 {B1:D1amp;"♦"; IF(B2:D="",,A2:Aamp;",")},,9^9)), "♦")), ",$", ))
 

введите описание изображения здесь

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

1. Это работает отлично! Большое вам спасибо! Я так благодарен!