2014-10-23 3 views
0

Я создал форму с использованием форм Google, и я хочу автоматически проверять ответы, когда будет выполнен новый. Когда пользователь отправляет свой вопрос, в листе ответов добавляется новая строка. Здесь мне нужно добавить немного магии;)google sheets - Arrayformula

SO, в мои ответы листа, у меня есть правильные ответы во второй строке ... что-то вроде этого

 A    B    C 
1 

2 RightAnswer1, RightAnswer2, RightAnswer3.... 

Использование функции ArrayFormula, я добавили новые колоны (столбцы D, E, F, G и т. д.) в каждой строке, проверяя правильный ответ в строке 2.

Формула выглядит примерно так:

=IF(ARRAYFORMULA(A3:A=A2),1,0) 

И это работает как шарм :)

НО, то я хочу, чтобы добавить столбец в конце каждой строки с суммой всех правильных ответов, позволяет сказать, что на колонке Z на каждый строка ... вот где я хочу суммировать все 1 (правильные ответы).

Я пробовал что-то подобное;

=IF(ARRAYFORMULA(<any kind of check that is true>),sum(D3:Z3),0) 

Это всегда будет возвращать сумму D3: Z3 на каждой строке, и это не то, что я хочу. Я хочу суммировать столбцы только что добавленного номера строки. Поэтому я попытался изменить это выражение несколькими способами, имея все в выражении arrayformula, изменяя выражение суммы на (D3: D), чтобы, надеюсь, заставить его работать в текущей строке, но без везения.

У меня есть поиск в Интернете, но мне ничего не удалось помочь ... Есть ли у вас какие-либо предложения?

ответ

0

Один из способов:

=ArrayFormula(IF(LEN(D3:D),SUMIF(IF(COLUMN(D3:Z3),ROW(D3:D)),ROW(D3:D),D3:Z),))

Хотя можно было бы «перескочить средний человек» и обрабатывать сырые данные в одиночку; Если предположить, что ответы находятся в A2: Z2, а данные к сумме в A3: Z, то:

=ArrayFormula(IF(LEN(A3:A),COUNTIF(IF(A3:Z=A2:Z2,ROW(A3:A)),ROW(A3:A)),))

Смежные вопросы