Как извлечь из таблицы покупок данные по тем покупателям, которые покупали только 1 наименование товара?
Есть гугл-таблица таблица со всеми бронированиями отелей за отчетный период. Как извлечь данные только тех, покупателей, которые покупали только один конкретный отель "id1" (в любом кол-ве покупок), но не покупали другие отели из ассортимента?
Например:
Покупатель Отель Дата бронирования
ООО Орбита id1 01/03/24
ООО Минута id31 06/03/24
ООО Секунда id25 15/03/24
ООО Орбита id39 11/03/24
ООО Час id1 01/03/24
P.S. Пробовал использовать QUERY, но у меня не получилось:(
Дополнительно:
Добавьте пример Таблицы, или за вас это делать? То что вы написали мало понятно.
Показывает всех покупателей с одной покупкой
=LET( _data;QUERY( QUERY( A1:D; "select D, B, count(B) group by D, B";1 ); "select Col1, count(Col1) group by Col1";1); FILTER(_data;CHOOSECOLS(_data;2)=1) ) |
=LET( _data;QUERY( QUERY( A1:D; "select D, B, count(B) group by D, B";1 ); "select Col1, count(Col1) group by Col1";1); FILTER(_data;CHOOSECOLS(_data;2)=1) )
Выводит всех, кто сделал данные заказы со всей информацией
=LET( _data;QUERY(QUERY(A1:D;"select D, B, count(B) group by D, B";1);"select Col1, count(Col1) group by Col1";1); _list;FILTER(CHOOSECOLS(_data;1);CHOOSECOLS(_data;2)=1); {A1:D1;FILTER(A:D;NOT(ISNA(MATCH(D:D;_list;0))))} ) |
=LET( _data;QUERY(QUERY(A1:D;"select D, B, count(B) group by D, B";1);"select Col1, count(Col1) group by Col1";1); _list;FILTER(CHOOSECOLS(_data;1);CHOOSECOLS(_data;2)=1); {A1:D1;FILTER(A:D;NOT(ISNA(MATCH(D:D;_list;0))))} )
Пример по ссылке https://docs.google.com/spreadsheets/d/1KN2SuXbHN5...
На картинке неверное решение
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для извлечения данных из таблицы покупок по тем покупателям, которые покупали только одно наименование товара, можно воспользоваться SQL запросом с использованием оператора GROUP BY и HAVING. Ниже приведен пример запроса на языке SQL, который поможет решить данную задачу:
SELECT customer_id FROM purchases GROUP BY customer_id HAVING COUNT(DISTINCT item_name) = 1;
В данном запросе мы выбираем customer_id из таблицы purchases, затем группируем данные по customer_id с помощью оператора GROUP BY. Далее, с помощью оператора HAVING мы фильтруем результаты таким образом, чтобы выбрать только тех покупателей, которые имеют только одно уникальное наименование товара.
После выполнения данного запроса, вы получите список customer_id тех покупателей, которые покупали только один товар. Далее можно использовать этот список для дальнейших действий, например, для отображения информации о таких покупателях или для дальнейшего анализа данных.
Убедитесь, что ваша таблица purchases содержит поля customer_id и item_name, которые соответствуют идентификатору покупателя и наименованию товара соответственно. Если названия полей отличаются, необходимо внести соответствующие изменения в запрос.