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

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

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

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1 2 3 »   Вниз
  Печать  
Автор Тема: Автозаполнение таблицы по условию заполнения ячеек  (Прочитано 4054 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlfA
Участник
**
Offline Offline

Сообщений: 9


« Стартовое сообщение: 28 Март 2018, 19:46 »

Добрый день форумчане.
Сломал голову, но не нашел способа как сделать автозаполнение таблицы данными.
Прошу вашей помощи в данном вопросе. В поиске искал, но не нашел (либо искал плохо, либо нет такого  Подмигивающий)

Постараюсь поподробнее.
Есть документ из 2 листов.
В первом есть исходная информация, где в одном из столбцов есть наименование услуги, в другом стоимость и третий, свободный столбец под заполнение.
По появлению знака в этом третьем столбце на второй лист должны отправляться наименование услуги и стоимость.

И вот вопрос, какими функциями и в каком порядке пользоваться для такого действа?
Прикрепляю видео с описанием:
https://www.youtube.com/watch?v=TArhce7p0jU
Записан
AlfA
Участник
**
Offline Offline

Сообщений: 9


« Ответ #1: 28 Март 2018, 20:13 »

Видимо не в тот раздел форума написал, прошу прощения ))
Записан
Helen
Администратор
**
Offline Offline

Пол: Женский
Расположение: Екатеринбург
Сообщений: 2 550


WWW
« Ответ #2: 28 Март 2018, 20:21 »

ничего страшного, я перенесла тему в правильный раздел. Улыбка
Дубликат сейчас удалю.
Записан
AlfA
Участник
**
Offline Offline

Сообщений: 9


« Ответ #3: 28 Март 2018, 20:23 »

ничего страшного, я перенесла тему в правильный раздел. Улыбка
Дубликат сейчас удалю.
Примного благодарен! )
Записан
Helen
Администратор
**
Offline Offline

Пол: Женский
Расположение: Екатеринбург
Сообщений: 2 550


WWW
« Ответ #4: 28 Март 2018, 20:26 »

AlfA, а можете Вы приложить к сообщению сам документ?
Записан
AlfA
Участник
**
Offline Offline

Сообщений: 9


« Ответ #5: 28 Март 2018, 20:45 »

Да, конечно. Оригинал документа не проходит по размеру.
Прикладываю упрощенный вариант))

* Тест.ods (11.82 Кб - загружено 9 раз.)
Записан
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #6: 28 Март 2018, 21:24 »

Как вариант, дальше допиливай сам

ps для удобства "масштабирования" в а4 ввести 
Код:
=IFERROR(MATCH(1;OFFSET(Прайс.$F$2:$F$8;SUM(A$2:A3);0);0);"100")
и потом простым копированием заполнить ячейки ниже

* Тест_1.ods (12.85 Кб - загружено 23 раз.)
« Последнее редактирование: 29 Март 2018, 07:54 от Bigor » Записан
economist
Форумчанин
***
Offline Offline

Сообщений: 965


« Ответ #7: 28 Март 2018, 23:21 »

AlfA - ваша задача не просто популярна, она характеризует сами электронные таблицы как важный инструмент для бизнеса - Calc как раз решает именно такие задачи, и делает это хорошо.

В предложенном решении от Bigor есть одна проблема: если ваш прайс будет насчитывать сотни позиций - простановка "единичек" в нём будет намного труднее, чем указание конкретных 3-10 услуг (нужных сейчас), выбором из списка. Я бы сразу выложил вам пример "как надо", но... нельзя. Проблема с самим списком. Он большой и его нужно продумать и только потом делать. 

Список из сотен позиций - большая проблема для глаз. Это вопросы "номенклатуры", из-за которой в нашей стране как минимум 1,5 млн. человек занимаются ерундой (их называют бухгалтерами - они 60% рабочего времени (5 часов в день) - ищут "как у нас называется то, что у них называется эдак". По большому счету это национальный позор, и я в нем участвую лично. Но главное здесь то, что мы сознательно отказываемся от унификации услуг и товаров, принятой в мире. И это - проблема на миллиарды рублей. Но сами бухи не виноваты, виноваты "мы", потребители, которые "хаваем". И еще есть одна проблема, о которой не принято говорить, но при автоматизации стоит учесть. Во "внутреннем", "настоящем" прайсе должно быть, скажем, так (специально искажаю пример, чтобы не было аналогий с реальностью):

Замена масла в двигателе "щаз" - 500
Замена масла в двигателе утром - 600
Замена масла в двигателе утром после прогрева - 700
Замена масла в двигателе утром после прогрева 10 мин - 1000

В Европе по этому поводу не парятся, ставят всегда последнюю позицию. И да, у них есть классификатор услуг типа нашего ОКПД/ОКВЭД, только нормальный. С этого и стоит начать. А потом уже формулы, важнейшая из которых: =ВПР() или =VLOOKUP()

Она делает ровно то что требуется чаще всего в электронных таблицах: берет что-то из такого-то столбца другой таблицы и ставит в эту, в нужную строку. 

 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
tagezi
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 793



WWW
« Ответ #8: 28 Март 2018, 23:56 »

=ВПР() или =VLOOKUP()
Я бы не стал использовать. Дешевле выйдет.

Если очень много значений, можно их квалифицировать и поставить Автофильтр.
И на рабочем примере уже смотреть, что нужно дальше ("дайте два", сумма работ и тд.)
Записан

(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha
economist
Форумчанин
***
Offline Offline

Сообщений: 965


« Ответ #9: 29 Март 2018, 00:19 »

tagezi - вот вы только что отговорили человека от изучения основополагающей формулы в электронных таблицах, используя волшебное слово "дешевле" :-)

Классификатор или тот же прайс - уже подразумевает уникальность значений, и функция =ВПР() здесь именно то, что нужно. А когда звучит "автозаполнение" - это тем более оно.

Давайте дождемся ответа ТС и реакции его на варианты от Bigor, и если ТС-у мой совет покажется вредным - уйду в "само-бан", тем более что многие этого давно ждут :-)

 
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
tagezi
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 793



WWW
« Ответ #10: 29 Март 2018, 00:47 »

отговорили человека от изучения основополагающей формулы в электронных таблицах
В примере есть функция INDEX, которая в данном случае, не только является основополагающей для электронных таблиц, но и позволяет решить сразу два вопроса:
1) Сделать пример более читаемым, а значит и адаптируемым;
2) Не искать "опорную точку" для функции ВПР, что значительно упрощает дальнейшее развитие примера.
Решать задачу можно разными методами, и ваш не хуже. Просто не для поставленной задачи.

По всему что ниже, если есть желание, можете открыть тему в разделе О форуме или Разговоры обо всём. Поговорим, почему мы об этом не мечтаем.
Записан

(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha
AlfA
Участник
**
Offline Offline

Сообщений: 9


« Ответ #11: 29 Март 2018, 15:06 »

Всем большое спасибо за участие и ответы!
С предложенными вариантами все работает.

А потом уже формулы, важнейшая из которых: =ВПР() или =VLOOKUP()
Для сложных решений это, наверно, действительно то что нужно. В будущем обязательно с ними поработаю, но пока остановился на решении "Bigor".

economist, tagezi, спасибо!
отдельное спасибо Bigor.

Как вариант, дальше допиливай сам
Из описания функции "INDEX"
=INDEX(ссылка; строка; столбец; диапазон)
Я вижу "INDEX(Прайс.A$2:A$8;B2;1;1)", где ссылка "Прайс.", а дальше что то непонятное )) - строка не строка, столбец не столбец )
Почему диапазон A$2:A$8 не 4-ое значение? Какую задачу выполняет ячейка B2? Одна единица - критерий, при котором будет переноситься запись. Для чего тут вторая единица?
Записан
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #12: 29 Март 2018, 15:33 »

=INDEX(ссылка; строка; столбец; диапазон)
INDEX(Прайс.A$2:A$8;B2;1;1)

ссылка на лист Прайс ячейки a2:a8
b2 - содержит номер строки из ссылки
1- номер столбца из ссылки
1- индекс диапазона из ссылки

Записан
tagezi
Мастер
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 793



WWW
« Ответ #13: 29 Март 2018, 16:51 »

Цитата: Bigor от Вчера в 21:24
Как вариант, дальше допиливай сам
Из описания функции "INDEX"
=INDEX(ссылка; строка; столбец; диапазон)
Я вижу "INDEX(Прайс.A$2:A$8;B2;1;1)", где ссылка "Прайс.", а дальше что то непонятное )) - строка не строка, столбец не столбец )
Почему диапазон A$2:A$8 не 4-ое значение? Какую задачу выполняет ячейка B2? Одна единица - критерий, при котором будет переноситься запись. Для чего тут вторая единица?
На листе "Заявка на выполнение" есть 2 скрытых столбца: столбец А и столбец B. Я так понимаю, вы их не нашли. Улыбка
Функция INDEX ничего не ищет, она просто возвращает значение из указанной ячейки, а в первых двух столбцах, как раз и ищется эта ячейка.

Цитата:
=IFERROR(MATCH(1;OFFSET(Прайс.$F$2:$F$8;A8+A7+A6+A5+A4+A3+A2;0);0);"100")
Смеющийся  тык  Смеющийся тык  Смеющийся

Записан

(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha
Bigor
Опытный пользователь
***
Offline Offline

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


« Ответ #14: 29 Март 2018, 16:53 »

тык  Смеющийся тык  Смеющийся
Улыбка я исправился ниже в PS
Записан
Страниц: 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!