Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как работать с массивами в Гугл таблицах - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Как работать с массивами в Гугл таблицах
makondakova Дата: Понедельник, 25.09.2023, 20:30 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Googl таблицы
И опять я с вопросом по поводу работы с данными в качестве массивов.
В Ексель все просто и все работает (ищет прошлую партию по конкретному товару в списке товаров и партий)

{=ЕСЛИ(МАКС(ЕСЛИ(($J$3:$J$588
{=ЕСЛИ(МАКС(ЕСЛИ((Массив партий<Партия1)*(Массив товаров=Товар 1);Массив партий;""));МАКС(ЕСЛИ((Массив партий<Партия1)*(Массив товаров=Товар 1);Массив партий;""));"На эту дату цена не определена")}

при переносе в гугл таблицы формулы превращаются и перестают работать.

=ARRAY_CONSTRAIN(ARRAYFORMULA(ЕСЛИ(МАКС(ЕСЛИ(($J$3:$J$588
Какие формулы в Гугл таблицах аналогичные екселевским массивам? В мануалах пишут или про {} или про ARRAYFORMULA

Мне ранее писали про формулу FILTR, но я не поняла как ее использовать в применении к массивам :(
К сообщению приложен файл: stoimost_pred_partii.xlsb (199.9 Kb)
 
Ответить
СообщениеИ опять я с вопросом по поводу работы с данными в качестве массивов.
В Ексель все просто и все работает (ищет прошлую партию по конкретному товару в списке товаров и партий)

{=ЕСЛИ(МАКС(ЕСЛИ(($J$3:$J$588
{=ЕСЛИ(МАКС(ЕСЛИ((Массив партий<Партия1)*(Массив товаров=Товар 1);Массив партий;""));МАКС(ЕСЛИ((Массив партий<Партия1)*(Массив товаров=Товар 1);Массив партий;""));"На эту дату цена не определена")}

при переносе в гугл таблицы формулы превращаются и перестают работать.

=ARRAY_CONSTRAIN(ARRAYFORMULA(ЕСЛИ(МАКС(ЕСЛИ(($J$3:$J$588
Какие формулы в Гугл таблицах аналогичные екселевским массивам? В мануалах пишут или про {} или про ARRAYFORMULA

Мне ранее писали про формулу FILTR, но я не поняла как ее использовать в применении к массивам :(

Автор - makondakova
Дата добавления - 25.09.2023 в 20:30
Gustav Дата: Понедельник, 25.09.2023, 22:55 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2808
Репутация: 1184 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Мне ранее писали про формулу FILTR, но я не поняла как ее использовать в применении к массивам :(

Я и писал. При использовании функции FILTER массивы обычно как-то специально не выделяются, ибо параметрами этой функции являются диапазоны, которые по сути и являются массивами. Можно говорить о том, что функция FILTER является массивной по умолчанию.

Я сделал Вам две формулы - по мотивам Ваших экселевских наработок. Посмотрите как и что в них используется. Во второй формуле действительно есть массив, обозначенный фигурными скобками {}, но это для того, чтобы добавить к анализируемому реальному столбцу F виртуальный столбец с последовательной нумерацией (вместо использования функции СТРОКА).

Формула для ячейки H3 (колонка "Ближайшая партия"):
[vba]
Код
=IFNA(MAX(FILTER($B$3:$B$589; $B$3:$B$589<B3; $D$3:$D$589=D3)); "На эту дату цена не определена")
[/vba]

Формула для ячейки J3 (колонка "Цена ближайшей партии - Вариант 2"):
[vba]
Код
=IFNA(INDEX(SORT(FILTER({SEQUENCE(ROWS($F$3:$F$46)) \ $F$3:$F$46}; $B$3:$B$46=H3; $D$3:$D$46=D3) ;1;FALSE); 1;2); 0)
[/vba]
Вместо использования функции НАИБОЛЬШИЙ во второй формуле отфильтрованный функцией FILTER массив сортируется функцией SORT по убыванию, т.е. от наибольших значений счетчика к наименьшим, после чего берется значение цены из второй колонки первой строки отсортированного массива с помощью функции INDEX(...; 1; 2). Таким образом, получаем значение цены из строки с максимальным значением счетчика среди строк, отобранных функцией FILTER.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Мне ранее писали про формулу FILTR, но я не поняла как ее использовать в применении к массивам :(

Я и писал. При использовании функции FILTER массивы обычно как-то специально не выделяются, ибо параметрами этой функции являются диапазоны, которые по сути и являются массивами. Можно говорить о том, что функция FILTER является массивной по умолчанию.

Я сделал Вам две формулы - по мотивам Ваших экселевских наработок. Посмотрите как и что в них используется. Во второй формуле действительно есть массив, обозначенный фигурными скобками {}, но это для того, чтобы добавить к анализируемому реальному столбцу F виртуальный столбец с последовательной нумерацией (вместо использования функции СТРОКА).

Формула для ячейки H3 (колонка "Ближайшая партия"):
[vba]
Код
=IFNA(MAX(FILTER($B$3:$B$589; $B$3:$B$589<B3; $D$3:$D$589=D3)); "На эту дату цена не определена")
[/vba]

Формула для ячейки J3 (колонка "Цена ближайшей партии - Вариант 2"):
[vba]
Код
=IFNA(INDEX(SORT(FILTER({SEQUENCE(ROWS($F$3:$F$46)) \ $F$3:$F$46}; $B$3:$B$46=H3; $D$3:$D$46=D3) ;1;FALSE); 1;2); 0)
[/vba]
Вместо использования функции НАИБОЛЬШИЙ во второй формуле отфильтрованный функцией FILTER массив сортируется функцией SORT по убыванию, т.е. от наибольших значений счетчика к наименьшим, после чего берется значение цены из второй колонки первой строки отсортированного массива с помощью функции INDEX(...; 1; 2). Таким образом, получаем значение цены из строки с максимальным значением счетчика среди строк, отобранных функцией FILTER.

Автор - Gustav
Дата добавления - 25.09.2023 в 22:55
makondakova Дата: Вторник, 26.09.2023, 09:12 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Googl таблицы
Gustav, СПАСИБО, мил человек! hands
Не понимала, что фильтр и есть массив и пихала туда скобки и ARRAYFORMULA.


С уважением
 
Ответить
СообщениеGustav, СПАСИБО, мил человек! hands
Не понимала, что фильтр и есть массив и пихала туда скобки и ARRAYFORMULA.

Автор - makondakova
Дата добавления - 26.09.2023 в 09:12
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!