Рассадка гостей

Автор alpold, 1 октября 2025, 16:44

0 Пользователи и 1 гость просматривают эту тему.

alpold

Подскажите как сделать фильтр по столу?
Задача:
На первом листе 2 столбца:
1. ФИО
2. Номер стола за которым сидит.

На втором листе столбцы, обозначающие номер стола. И вот тут автоматом под ними должны вертикально вставляться ФИО гостей с соответствующим столом, указанным на первом листе напротив ФИО.

bigor

alpold в LO версий от 24.8 появился FILTER(), для болнн старых в A2
=IFERROR(INDEX(список.$A$2:$A$25;AGGREGATE(15;6;ROW($A$1:$A$24)/(список.$B$2:$B$25=--LEFT(A$1;1));ROW(A1)));"") и протянуть вниз/вправо
Поддержать наш форум можно здесь

alpold

Цитата: bigor от  1 октября 2025, 16:54alpold в LO версий от 24.8 появился FILTER(), для болнн старых в A2
=IFERROR(INDEX(список.$A$2:$A$25;AGGREGATE(15;6;ROW($A$1:$A$24)/(список.$B$2:$B$25=--LEFT(A$1;1));ROW(A1)));"") и протянуть вниз/вправо
чет не вышло
Вставил в А2 на втором листе. #ИМЯ? значения

bigor

Цитата: alpold от  1 октября 2025, 17:31#ИМЯ? значения
вариант 1 перевести функции на руский
вариант 2 включить английские имена функций Сервис - Параметы - Calc - Формула - Использовать английские имена
Поддержать наш форум можно здесь

alpold

не все перевел просто. теперь другая проблема. остаются пропуски между фио на второй странице изза того что вставляется по тому же адресу ячейки

bigor

Цитата: alpold от  1 октября 2025, 18:08пропуски между фио на второй странице
непонятно где?
Поддержать наш форум можно здесь

bigor

С новвоведенным FILTER() вроде бы все проще =FILTER(список.$A$2:$A$14;список.$B$2:$B$14=--LEFT(A$1;1)), но после ввода получаем массив с количеством элементов (ячеек) равным количеству людей за первым столом. Затем если увеличиваем количество людей за первым столом, то формула это игнорирует (что бы сработало, нужно удалить ее и вставить заново). Можно конечно ввести ее в взятый с запасом диапазон ячеек, но тогда в "лишних" ячейках будет #N/A и убрать его через IFERROR не получилось. Я что-то делаю не так? Есть какая то хитрость, что бы все работало без переввода формулы? Или так и должно быть?
Поддержать наш форум можно здесь

kompilainenn

Цитата: bigor от  1 октября 2025, 21:54Есть какая то хитрость, что бы все работало без переввода формулы?
Проверить бы в Эксель
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

bigor

Поддержать наш форум можно здесь

alpold


bigor

Как бы это скриншот не файла из стартового топика. ПРиложите файл, буду смотреть
Поддержать наш форум можно здесь

sokol92

Цитата: kompilainenn от  1 октября 2025, 21:55Проверить бы в Эксель
Для этого нужно иметь MS Office 2021+ или быть подписчиком Microsoft 365 (у меня этого нет).

Цитата: bigor от  1 октября 2025, 21:54Я что-то делаю не так? Есть какая то хитрость, что бы все работало без переввода формулы? Или так и должно быть?

В Calc мы имеем дело с формулой массива. Насколько я понимаю, после занесения формулы массива размеры массива фиксируются и далее при пересчетах формул не изменяются. Можно (хотя и не просто) написать макрос, который перезаносит (перевводит) формулы массива.

В Excel подобная формула существует в ячейке (это не формула массива) и при вычислении переносит (spill) значение в соседние ячейки.
Владимир.

kompilainenn

Короче нам нужны динамические массивы, если я верно понял проблему
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

bigor

Да, в текущем виде это статичные функции для подсчетов
Поддержать наш форум можно здесь

sokol92

Цитата: kompilainenn от  2 октября 2025, 15:50Короче нам нужны динамические массивы, если я верно понял проблему
Да, вероятно.
Если бы пересчет формул умел менять размеры массива для массивных формул, то это тоже бы решило проблему (на мой взгляд).
Владимир.