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

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

20 Май 2019, 05:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Сообщений: 24


« Стартовое сообщение: 20 Апрель 2016, 10:47 »

Добрый день!
На каждый вид продукции имеется артикул вида 111-11a1(в текстовом формате). Как можно осуществить поиск по первой цифре в артикуле. Например нужно получить РЕЗУЛЬТАТ если первая цифра в артикуле 0, то ДАННЫЕ нужно умножить на ИСТИНА, если другая то на ЛОЖЬ. Прилагаю файл.

* поиск по артиклу.ods (17.71 Кб - загружено 5 раз.)
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 20 Апрель 2016, 11:21 »

Как насчет такого?
Код:
=$B2*CHOOSE((LEFT($A2;1)+1);$E$2;$D$2)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
shaxter
Участник
**
Offline Offline

Сообщений: 24


« Ответ #2: 20 Апрель 2016, 12:03 »

Спасибо огромное! Работает......единственное,есть артикул, который начинается на 4 и пришлось немного доработать =$B19*CHOOSE((LEFT($A19;1)+1);$E$2;$D$2;$D$2;$D$2;$D$2)
« Последнее редактирование: 20 Апрель 2016, 12:05 от shaxter » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 20 Апрель 2016, 12:18 »

Ну, если условие всегда "ноль или не ноль", то можно записать и короче (чтобы много раз не повторять $D2)
Код:
=$B2*INDEX($D2:$E2;(LEFT($A2;1)="0")+1)
А если и константы 120 и 900 одни и те же на все случаи, то и так можно (не нужно будет держать отдельные колонки E и D)
Код:
=$B2*INDEX({120;900};(LEFT($A2;1)="0")+1)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
shaxter
Участник
**
Offline Offline

Сообщений: 24


« Ответ #4: 20 Апрель 2016, 12:23 »

Владислав, спасибо огромное Всё хорошо Условие 0 не 0- самое ТО!
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #5: 20 Апрель 2016, 12:27 »

А может так:
Код:
=$B2*IF(LEFT($A2;1);$D2;$E2)
Записан

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

Сообщений: 24


« Ответ #6: 20 Апрель 2016, 12:32 »

А какая функция более "скоростная" IF или INDEX?
Записан
shaxter
Участник
**
Offline Offline

Сообщений: 24


« Ответ #7: 20 Апрель 2016, 12:44 »

Всем спасибо!!! Остановился на варианте =$B2*IF((LEFT($A2;1)="0");$E$2;$D$2)
Записан
rami
Гуру
*******
Offline Offline

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


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #8: 20 Апрель 2016, 12:47 »

А какая функция более "скоростная" IF или INDEX?
На объёмах в десять тысяч ячеек это не различимо.
Записан

Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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