#google-sheets #filter
Вопрос:
Всем привет,
Моя цель-рассчитать количество студентов, которые выбрали Действие 3 в качестве одного из своих ответов, но предыдущий ответ не является Действием 2.
Итак, основываясь на примере на скриншоте выше, Mary
, Lary
и yuki
выберите Действие 3 в качестве одного из своих ответов, но только Lary
с действием 2 в качестве своего предыдущего ответа. Таким образом , ожидаемый результат в ячейке B2
таков 2
, поскольку предыдущий ответ Mary
перед Действием 3-это Действие 5 вместо Действия 2, а для yuki
предыдущего ответа перед Действием 3-Действие 1 вместо Действия 2.
Могу я узнать, как автоматизировать эту формулу? Я понятия не имею, с чего начать строить эту формулу.
Это мой лист Google: https://docs.google.com/spreadsheets/d/1Zk7lr_2lEKEyY6qI0kNVXBHRF7mcsBJGDyR0BQjKyk0/edit#gid=0
Любая помощь будет очень признательна!
Комментарии:
1. Как это связано с
jQuery
2. Мне непонятно, что вы пытаетесь посчитать. Под «учащимися, которые выбирают Действие 3 в качестве одного из своих ответов, но предыдущий ответ не является Действием 2», вы имеете в виду: А) действие-это действие 3, а предыдущее действие не является Действием 2, независимо от того, кем является предыдущий учащийся; или Б.) действие-это действие 3, а предыдущее действие ТОГО же УЧАЩЕГОСЯ не является Действием 2?
3. извините за путаницу, это должно быть действие-Действие 3, а предыдущее действие того же УЧЕНИКА не является Действием 2.
Ответ №1:
Основываясь на ваших ответах на мои вопросы в разделе комментариев под исходным сообщением, я добавил новый лист («Справка Эрика») в вашу электронную таблицу со следующей формулой в B2 (в настоящее время выделена ярко-зеленым цветом).:
=ArrayFormula(SUM((C5:C="Action 3")*(IFERROR(VLOOKUP(ROW(A5:A)-1,{ROW(A5:A),C5:C},2,FALSE)<>"Action 2",0))*(IFERROR(VLOOKUP(ROW(A5:A)-1,{ROW(A5:A),B5:B},2,FALSE)=B5:B,0))))
ДОБАВЛЕНИЕ (после прочтения дополнительных комментариев):
Я добавил новый лист («Справка Эрика 2») со следующей формулой:
=COUNTA(UNIQUE(FILTER(B5:B,C5:C="Action 3",VLOOKUP(ROW(A5:A)-1,{ROW(A5:A),B5:Bamp;C5:C},2,FALSE)<>B5:Bamp;"Action 2")))
Комментарии:
1. Привет, Эрик, спасибо за твое решение! Я попробовал, и это хорошо работает. Однако в случае наличия 2
Action 3
у одного и того же ученика , а предыдущего действия для обоихAction 3
нетAction 2
, тогда формула фактически посчитала его дважды. Поскольку это один и тот же студент, по праву формула должна учитываться только один раз, а не дважды, если событие происходит дважды. Я добавил еще две строки данных (строки 25 и 26) в разделеErik Help
для имитации состояния, надеюсь, что есть способ решить эту проблему, спасибо!2. Смотрите раздел ДОБАВЛЕНИЯ в моем посте.
Ответ №2:
Попробуй:
=query({{offset(A4:C,1,0);"","",""},C4:C},"select count(Col1) where Col3 matches 'Action 3' and not Col4 matches 'Action 2' label count(Col1) '' ",1)
Для того же студента, попробуйте:
=query({{query({A4:C},"where Col1 is not null order by Col2,Col1 offset 1",1);"","",""},query({A4:C},"where Col1 is not null order by Col2,Col1",1)},"select count(Col1) where Col2=Col5 and Col3 matches 'Action 3' and not Col6 matches 'Action 2' label count(Col1) '' ",1)
Чтобы увидеть результаты, а не подсчитывать их:
=query({{query({A4:C},"where Col1 is not null order by Col2,Col1 offset 1",1);"","",""},query({A4:C},"where Col1 is not null order by Col2,Col1 label Col3 'Prev answer'",1)},"select * where Col2=Col5 and Col3 matches 'Action 3' and not Col6 matches 'Action 2' label count(Col1) '' ",1)
Комментарии:
1. Аресвик, я думаю, что в настоящее время существует проблема с вашей формулой. Ваше СМЕЩЕНИЕ идет в неправильном направлении (т. Е. Мне кажется, что формула сравнивает текущую строку Col C со СЛЕДУЮЩЕЙ строкой в Col C, а не с ПРЕДЫДУЩЕЙ строкой). Кроме того, из поста неясно, где счетчик должен учитывать последовательность действий одного и того же студента или независимо от студента. Первый вопрос вы можете скорректировать; второй требует дополнительной информации с плаката, которую я запросил через комментарий к исходному сообщению.
2. извините, что недостаточно ясно выразился, это должен быть один и тот же студент, похоже, текущая формула работает независимо от студента, можно ли изменить так, чтобы формула проверялась только у одного и того же студента?
3. Формула добавлена к ответу.