Мне не нравится изменять результаты формы. Я обнаружил, что делает все остальное:
- безопаснее с точки зрения целостности данных, пока я строю или
экспериментирования,
- представляет меньший риск для формы → ссылка на электронную таблицу,
- помогает с любой прозрачностью процесса / данных, поскольку она чиста,
- помогает
со строгими требованиями к совместному использованию и управлению доступом, а также
- обеспечивает гораздо большую гибкость в формате отчета или анализа и
функциональность.
Я добавил лист «Отчет» в вашу демонстрационную таблицу. В строке 2 имеется всего пять формул. Каждая из них извлекает соответствующие данные из двух листов ответов формы, обновляет и обновляет любые дополнительные ответы и отображает запрошенные выходные данные для каждой сгенерированной строки.
Если вы можете допустить изменение перехода на вкладку «Отчет» вместо того, чтобы работать прямо там, в ответах формы 1, я думаю, что это правильный подход и хорошо подходит для вашего файла. Всего наилучшего в вашем проекте.
Ниже я скопировал пять формул для потомков. Если вы думаете, что в конечном итоге вы воспользуетесь этой вкладкой «Отчет» или адаптируете ее формулы к своему проекту, пожалуйста, скажите об этом, и я объясню их подробно - не хуже, чем через год, а затем вы должны исправить мои запутанные формулы или отредактируйте их, чтобы соответствовать новым потребностям проекта.
A2 - взять каждое отдельное имя из обеих форм
=UNIQUE({'Form 1 Response'!A2:A;'Form 2 Response'!A2:A})
B2 - показать 'Complete' или пропущенные буквы документа
=ARRAYFORMULA(IFS(
NOT(LEN(A2:A)),"",
LEN(C2:C)*LEN(D2:D)*LEN(E2:E),"Complete",
TRUE,IF(LEN(C2:C),"","Doc A ")&IF(LEN(D2:D),"","Doc B ")&IF(LEN(E2:E),"","Doc C")
))
C2 - Извлечь любые ссылки на документ A из любой формы
=ARRAYFORMULA(IF(NOT(LEN($A$2:$A)),"",
IFERROR(VLOOKUP($A$2:$A,FILTER('Form 1 Response'!$A$2:C,LEN('Form 1 Response'!C$2:C)),3,FALSE))&
IFERROR(VLOOKUP($A$2:$A,FILTER('Form 2 Response'!$A$2:B,LEN('Form 2 Response'!B$2:B)),2,FALSE))
))
D2 — Doc B links
=ARRAYFORMULA(IF(NOT(LEN($A$2:$A)),"",
IFERROR(VLOOKUP($A$2:$A,FILTER('Form 1 Response'!$A$2:D,LEN('Form 1 Response'!D$2:D)),4,FALSE))&
IFERROR(VLOOKUP($A$2:$A,FILTER('Form 2 Response'!$A$2:C,LEN('Form 2 Response'!C$2:C)),3,FALSE))
))
E2 — Doc C ссылки
=ARRAYFORMULA(IF(NOT(LEN($A$2:$A)),"",
IFERROR(VLOOKUP($A$2:$A,FILTER('Form 1 Response'!$A$2:E,LEN('Form 1 Response'!E$2:E)),5,FALSE))&
IFERROR(VLOOKUP($A$2:$A,FILTER('Form 2 Response'!$A$2:D,LEN('Form 2 Response'!D$2:D)),4,FALSE))
))