Функция запроса, содержащая операции с датой [ДАТА X количество месяцев]

#google-sheets #google-query-language

#Дата #google-sheets #сумма #совпадение #google-query-language

Вопрос:

Я запрашиваю электронную таблицу Google, используя относительно простое выражение:

 =QUERY(Sheet1!A1:J200, "Select A, J", 1)
  

Этот запрос выдает список офисов и последнюю N дату в столбцах L и M — см. Рисунок ниже.

Что я делаю дальше, так это

  1. добавьте 6 месяцев к каждой из последних N дат;
 =IF(M2="","",DATE(YEAR(M2) 0,MONTH(M2) 6,DAY(M2) 0))
  
  1. Посмотрите, равна ли какая-либо из результирующих дат или больше TODAY() ;
  2. Если ДА, поместите «ALARM» в столбец O, который затем используется в качестве маркера в другом месте, путем фильтрации строк с этим значением в качестве идентификатора.
 =IF(today()>=X2,"ALARM","")
  

Мне было интересно, возможно ли создать запрос, в котором 6 месяцев уже были бы добавлены к значениям в столбце J, и, возможно, результирующий список будет отфильтрован, ЕСЛИ значение [i] в столбце J больше или равно TODAY() . При достижении этого столбец J будет содержать только Last N dates 6 months И >= TODAY() ;
Похоже, что все примеры, которые я проверил, работают с датами в качестве фильтров.

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

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

1. @player0 docs.google.com/spreadsheets/d /…

2. @player0 Sheet $Db_data

3. @player0 Найдите столбец AA

4. Я думаю, вы хотите сохранить также состояния без тревоги?

5. @player0 на самом деле нет, только там, где ТРЕВОГА ВЕРНА

Ответ №1:

 =QUERY({Sheet1!A1:A,
 ARRAYFORMULA(DATE(YEAR(Sheet1!J1:J), MONTH(Sheet1!J1:J) 6, DAY(Sheet1!J1:J)))}, 
 "select Col1,Col2,'ALARM' 
  where Col1 is not null 
    and Col2 >=date '"amp;TEXT(TODAY(), "yyyy-mm-dd")amp;"' 
  label Col2'ABCD', 'ALARM''alarm'
  format Col2 'dd-mmm-yyyy'", 1)
  

0

Ответ №2:

 =QUERY({FleetStatus!A1:D, ARRAYFORMULA(
 DATE(YEAR(FleetStatus!J1:J), MONTH(FleetStatus!J1:J) 6, DAY(FleetStatus!J1:J)))}, 
 "select Col1,Col5,'ALARM' 
  where Col1 is not null 
    and Col1 !='IVAN GUBKIN' 
    and Col1 !='VYACHESLAV TIKHONOV'
    and Col4 != 'L'
    and Col5 <=date '"amp;TEXT(TODAY(), "yyyy-mm-dd")amp;"' 
  label Col5' 6M', 'ALARM''Alarm'
  format Col5 'dd-mmm-yyyy'", 1)
  

0

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

1. Спасибо — очень признателен!

2. Как мне удалить столбец ALARM, который создан с помощью приведенного выше запроса? ‘Выберите Col1, Col 5, ‘ТРЕВОГА’

3. @AlexShevyakov вот так: =QUERY({FleetStatus!A1:D, ARRAYFORMULA( DATE(YEAR(FleetStatus!J1:J), MONTH(FleetStatus!J1:J) 6, DAY(FleetStatus!J1:J)))}, "select Col1,Col5 where Col1 is not null and Col1 !='IVAN GUBKIN' and Col1 !='VYACHESLAV TIKHONOV' and Col4 != 'L' and Col5 <=date '"amp;TEXT(TODAY(), "yyyy-mm-dd")amp;"' label Col5' 6M' format Col5 'dd-mmm-yyyy'", 1)

4. Спасибо и извините за беспокойство