Я пытаюсь создать таблицу, которая фильтрует записанную финансовую отчетность по месяцам, а также «теги». Каждая позиция в инструкции будет иметь эти теги, приписываемые им, чтобы я мог их фильтровать позже. В настоящее время мне трудно понять формулу, которая позволяет мне фильтровать запрос на основе нескольких условий, которые выбираются через несколько разных раскрывающихся списков.Отфильтровать запрос с несколькими условиями
Так, например, я хотел бы отфильтровывать A6: G41 по месяцам, которые я опрашивается как таковой:
=query(A6:G41," select * where A >= date '"&TEXT(O3,"yyyy-mm-dd")&"' and A <= date '"&TEXT(P3,"yyyy-mm-dd")&"' ")
A6: G41 является таблица Я запрашивая, в то время как O3 и P3 являются начальными и конечными датами месяцев, предоставляя мне все транзакции за указанный месяц. Я хотел бы добавить дополнительные условия для фильтрации, такие как «питание, встречи, компьютерное оборудование», которое будет обозначаться в ячейках R1, R2 и R3, которые являются выпадающими списками.
Любые мысли?
Вот ссылка на образец лист я сделал для справки: https://docs.google.com/spreadsheets/d/1dKnUeEad5LyX73Eo6kF-RXFakrhGSty67iKmhPoUbEc/edit?usp=sharing
Awesome. Это здорово, и это очень полезно! Единственная проблема, которую я вижу, заключается в том, что если я изменил R1 на что-то, и он не найден внутри фильтра, я получаю сообщение об ошибке. И тогда, если я изменю его, я пойму, что нет верного значения, чтобы вернуться обратно. Можете ли вы придумать решение для решения этой проблемы? – Tommy
Если 'filter' завернут в' iferror() ', сообщение об ошибке будет подавлено. Чтобы иметь «нулевую» опцию, пусть пользователь оставляет R1 пустым и фильтрует его с помощью regexmatch: например, 'regexmatch (I6: I," (? I) "& R1)'. Если R1 пуст, это соответствует всем. – FTP
Отлично! Последнее, похоже, что это работает, если выполнены все условия. Вот как это у меня сейчас: '= iferror (фильтр (A6: G, A6: A> = O3, A6: A <= P3, I6: I = R2, H6: H = R1, J6: J = R3)) 'Однако, если я хочу просто изменить его обратно, чтобы перечислить все транзакции за указанный месяц, и сохраняйте« R1 »,« R2 »,« R3 »пустым, я получаю сообщение об ошибке (или пустое, если я добавляю в 'iferror()'. – Tommy