Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

1 Декабрь 2020, 09:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 »   Вниз
  Печать  
Автор Тема: Банальная задача из 3-х частей: подбор знач-я и суммиров-е по 2 критериям, дубли  (Прочитано 8293 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bmg33
Участник
**
Offline Offline

Сообщений: 38


« Ответ #15: 13 Август 2016, 20:12 »

Первый параметр — условие (текст или результат в виде текста), второй — массив поиска (один столбец или одна строка), результат — номер позиции найденного. Условие не может быть двусмысленным (найди или шляпу или тапочки)
Вы меня неправильно поняли или я неправильно пояснил.
Функция MATCH в Excel может объединять в критерии данные из двух ячеек, а точно также поступать с массивами. Поэтому, когда есть два критерия для сравнения, в Excel очень просто вписать этих через &. Меня к этому привели уже сегодняшние изыскания.
К сожалению Calc так делает только частично, а именно - слепить критерий из двух ячеек через & может, а сделать то же с массивами - видимо нет, во всяком случае у меня это не сработало, а какой-то информации по этому поводу в интернете я не нашел.
Условие не может быть двусмысленным, но состоять из двух критериев соответствующих массиву - да. Посмотрите мой файл, он пояснит то, что я пытаюсь сделать лучше, чем я словами Улыбка
Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 095



« Ответ #16: 13 Август 2016, 22:39 »

Функция MATCH в Excel
а как у нее русское название?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
bmg33
Участник
**
Offline Offline

Сообщений: 38


« Ответ #17: 14 Август 2016, 00:29 »

а как у нее русское название?
ПОИСКПОЗ
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 031


iMac, LibreOffice и Apache OpenOffice


« Ответ #18: 14 Август 2016, 07:29 »

ПОИСКПОЗ
ПОИСКПСИХОЗ Смеющийся Смеющийся Смеющийся

Вот:

* Подбор суммирование дубли2.ods (18 Кб - загружено 14 раз.)
Записан

kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 095



« Ответ #19: 14 Август 2016, 08:52 »

ПОИСКПСИХОЗ
если бы не ты, то у ТС так и было бы =)
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
celler
Форумчанин
***
Offline Offline

Сообщений: 191


« Ответ #20: 14 Август 2016, 15:07 »

Если по двум критериям, то может так?
Конечно, если там будут многие тысячи записей, то это будет всё тормозить.

* Подбор суммирование дубли3.ods (21.45 Кб - загружено 18 раз.)
« Последнее редактирование: 14 Август 2016, 15:28 от celler » Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 031


iMac, LibreOffice и Apache OpenOffice


« Ответ #21: 14 Август 2016, 15:52 »

Если по двум критериям, то может так?
Конечно, если там будут многие тысячи записей, то это будет всё тормозить.
bmg33 сказал:
Сама таблица сделана просто для примера, задачи оригинала отличаются и нужны для больничной бухгалтерии
Мы не знаем, что будет в реальном документе, но в данном примере суммирование по двум критериям бессмысленно, разве только для выявления ошибок ввода данных. Но в целом так суммировать нормально.
Записан

bmg33
Участник
**
Offline Offline

Сообщений: 38


« Ответ #22: 15 Август 2016, 10:41 »

Всем спасибо большое за помощь.

rami, в файле примера действительно нет необходимости использовать 2 критерия, там второй критерий уникален сам по себе. Но это просто файл примера, в действительности второй критерий может быть не уникальным - там содержатся тысячи фамилий и очень-очень много дублей.
Я все-таки нашел как можно решить вопрос в интернете, просто сделал вспомогательный столбец, где объединил первый_критерий&второй_критерий диапазона в котором производится поиск, а в формуле точно также объединил через два критерия, которые ищу. Реализовал через index и match.

За алфавитный указатель фамилий еще одно большое спасибо Улыбка я бы наверное никогда не догадался так сделать Улыбка

celler, спасибо за интересный вариант. Я пока не понял как это работает Улыбка но разберусь.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 031


iMac, LibreOffice и Apache OpenOffice


« Ответ #23: 15 Август 2016, 11:50 »

Я все-таки нашел как можно решить вопрос в интернете, просто сделал вспомогательный столбец, где объединил первый_критерий&второй_критерий диапазона в котором производится поиск, а в формуле точно также объединил через два критерия, которые ищу.
celler сделал то же самое раньше.

Но лучше воспользоваться формулой (в ячейке F4):
Код:
=SUMPRODUCT($'Цена закупки'.$A$3:$A$15=D4,$'Цена закупки'.$B$3:$B$15=E4,$'Цена закупки'.$C$3:$C$15)
Без дополнительных колонок и объединений, да и условий может быть сколько угодно.
celler, спасибо за интересный вариант. Я пока не понял как это работает  но разберусь.
Не, не разберётесь, celler хорошо спрятал два вспомогательных столбца Смеющийся
... там содержатся тысячи фамилий и очень-очень много дублей
На больших объёмах данных лучше избегать лишние формулы, форматы, вспомогательные столбцы и др. так как будет люто тормозить. Для таких задач нужно пользоваться Base.
Записан

ArsKam
Участник
**
Offline Offline

Сообщений: 29


« Ответ #24: 20 Ноябрь 2020, 16:18 »

Условие не может быть двусмысленным (найди или шляпу или тапочки)
Здравствуйте.
Я запутался, т. е. невозможно по 2м и более критериям?
Забыл написать, что без дополнительных столбцов
« Последнее редактирование: 20 Ноябрь 2020, 17:15 от ArsKam » Записан
eeigor
Ubuntu 18.04 LTS • LO 7.0.2.2
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 197



« Ответ #25: 20 Ноябрь 2020, 16:46 »

Я запутался, т. е. невозможно по 2м и более критериям?
Вникать в содержание ветки нет времени.
Отвечу на поставленный вопрос. Всё возможно, количество критериев не ограничено. Принцип следующий: вы пишите формулу, где каждое сравнение - это результат действия какой-то операции (ищем, сравниваем, проверяем и т. п.), и этот результат - логический параметр (ИСТИНА/ЛОЖЬ). Далее, если критерии надо соединить оператором "ИЛИ", то логические параметры складываем (1+0+1=2  - сработало два критерия (достаточно и одного), результат больше 0, т. е. ИСТИНА), а если критерии надо соединить оператором "И", то логические параметры умножаем (1*0*1=0  - не сработал один критерий (а надо, чтобы сработали все), результат равен 0, т. е. ЛОЖЬ).
Пишите формулы, складывайте, умножайте... Пользуйтесь!
Для этих целей, когда все критерии должны выполняться, чаще всего используют формулу СУММПРОИЗВ(), которая "заточена" под операции с массивами (при вводе не требует фигурных скобок {=СУММПРОИЗВ(...)}). Здесь каждый массив надо отделить разделителем - точкой с запятой, и, если я не ошибаюсь, каждый логический результат надо ещё и преобразовать к числовому значению, и лучший вариант для этого - поставить знак минус перед скобками, но так, чтобы общее количество минусов было чётным, чтобы не изменился знак итогового результата (если массив один, то поставить надо два минуса для той же цели).
=СУММПРОИЗВ(-(...);-(...))  - эта формула сама будет перемножать массивы (как следует из её названия).

Может быть непонятно, ибо СУММПРОИЗВ() выполняет операции с массивами. Это отдельная тема. Ваша квалификация неизвестна. Но на вопрос я ответил.

UPD: Поправляюсь: в формуле СУММПРОИЗВ() можно все массивы-критерии связать через знаки сложения/умножения, не используя разделитель аргументов. То есть всё выражение с массивами ввести на место первого аргумента, и тогда преобразование логического результата к числовому не потребуется.

Вместо СУММПРОИЗВ() можно использовать формулу СУММЕСЛИМН().
Также вы можете использовать формулы для работы с базой данных, например, БДСУММ(), но для её использования надо организовать диапазон критериев. То есть в формулу вводятся не критерии, а ссылка на диапазон с критериями. Критерии в одной строке соединяются оператором "И", а критерии в разных строках - оператором "ИЛИ".
« Последнее редактирование: 20 Ноябрь 2020, 17:55 от eeigor » Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 1 314


« Ответ #26: 20 Ноябрь 2020, 16:58 »

Для решений "чисто на формулах" можно в 100 раз увеличить число помощников и готовых ответов, если написать русские формулы (LO Calc их поддерживает) и спросить/поискать  на форуме экселистов типа https://www.planetaexcel.ru/ или http://forum.ru-board.com
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
eeigor
Ubuntu 18.04 LTS • LO 7.0.2.2
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 197



« Ответ #27: 20 Ноябрь 2020, 17:25 »

ArsKam, не совсем понятно, в чём вы запутались.

И лучшей книгой по этой теме для меня была книга Дж.Уокенбаха "Формулы Excel".
Но есть ещё лучше (на английском языке):
"Ctrl+Shift+Enter: Mastering Excel Array Formulas" by Mike Girvin, 2013

Excel уже работает с динамическими формулами массива, но для LO эта книга ещё долго будет актуальна.
« Последнее редактирование: 20 Ноябрь 2020, 17:30 от eeigor » Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 095



« Ответ #28: 20 Ноябрь 2020, 18:10 »

Excel уже работает с динамическими формулами массива
только 365 офис и то не у всех
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
eeigor
Ubuntu 18.04 LTS • LO 7.0.2.2
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 197



« Ответ #29: 20 Ноябрь 2020, 20:08 »

Добавлен пример с формулой массива для возвращения списка уникальных значений ФИО без необходимости вести дополнительное поле с уникальным идентификатором поставщика.
Это мегаформула, и её не обязательно понимать до конца.

Но лучше создать отдельный словарь "Поставщики", где они не будут повторяться. И тогда эта формула отпадёт за ненадобностью. Организуйте правильно данные. Создайте необходимые словари, ну, хотя бы один - для поставщиков.

* Подбор суммирование дубли3.ods (20.48 Кб - загружено 4 раз.)
« Последнее редактирование: 20 Ноябрь 2020, 20:26 от eeigor » Записан
Страниц: « 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!