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

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

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

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

Сообщений: 5


« Стартовое сообщение: 6 Март 2014, 00:22 »

Доброго времени суток.
В таблице есть 2 ячейки с условием: >=3 и >5. С этими условиями нужно сравнивать ячейку с численным значением. Условия в ячейках и число могут меняться, поэтому в формулу это условие забить нельзя.
Подскажите начинающему пользователю, поиск на форуме не дал результата.
Записан
CyberDaemon
Форумчанин
***
Offline Offline

Сообщений: 156


« Ответ #1: 6 Март 2014, 09:17 »

Доброго времени суток.
В таблице есть 2 ячейки с условием: >=3 и >5. С этими условиями нужно сравнивать ячейку с численным значением. Условия в ячейках и число могут меняться, поэтому в формулу это условие забить нельзя.
Подскажите начинающему пользователю, поиск на форуме не дал результата.
А покажите как это выглядит в таблице, эти 2 ячейки с условием.
Записан
Константин60
Участник
**
Offline Offline

Сообщений: 5


« Ответ #2: 6 Март 2014, 09:56 »

Вот:

[вложение удалено Администратором]
Записан
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #3: 6 Март 2014, 10:57 »

Насколько я понимаю, в столбце  "Количество бракованных деталей" Вам бы вполне подошли просто числа, но реально два условия ">" и ">=", которые все портят и которые нужно как-то отображать.
Предлагаю поступить следующим образом:
- если мы имеем условие "строго больше", то число положительное
- если "больше или равно", то число отрицательное
А чтобы они "нормально" отображались, то в формате ячеек задаем следующий: >#;>=#;#
Тогда положительные числа будут отображаться как ">5", а отрицательные - ">=3", но при этом это уже будут числа, а не строки, из которых нужно "выуживать" числа, и, стало быть, их можно использовать в формулах. При этом знак числа несет информацию о том, какое из условий применено.

UPD:
Числа, конечно, можно "выудить", например так (исходная строка - в ячейке A1)
отсекаем знак ">": =RIGHT(A1;LEN(A1)-1) - помещаем в ячейку B1
отсекаем, если есть, знак равенства: =IF(LEFT(B1;1)="=";VALUE(RIGHT(B1;LEN(B1)-1));VALUE(B1))
Можно объединить обе формулы в одну, но уж больно громоздко получается.
Но этого все равно не достаточно - мы теряем информацию об условии. Значит опять нужно придумывать какое-то кодирование, которое будет содержать в себе информацию и о числе, и об условии. Ну, например, >5 кодируем как 50, а >=5 - как 51, т.е. >n - n*10, а >=n - n*10+1. Но это ничем не лучше положительных и отрицательных чисел.

UPD2:
Все много проще, извините, что морочил голову.
Для Вашего скриншота:
=COUNTIF(B3:B3;C3) - даст 0, если условие не выполняется, и 1 - если выполняется.
« Последнее редактирование: 6 Март 2014, 11:35 от VlhOwn » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

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


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


WWW
« Ответ #4: 6 Март 2014, 12:28 »

Хорошее решение, добротное. Только мне кажется, что положительные/отрицательные значения для разных условий могут запутать пользователя
Я бы ограничился просто функцией SUMIF()
Код:
=SUMIF(B3;C3;B3) - число
или
=(SUMIF(B3;C3;B3)>0) - ИСТИНА или ЛОЖЬ
Записан

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

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #5: 6 Март 2014, 12:42 »

Влад, я вопрос неправильно прочитал, пригрезилось, что TS нужны сами значения. UPD2 - правильное решение.

Там, кстати, вообще все просто, если вдуматься - все условия легко приводятся к одному виду: ">n" <==> ">=n+1", и вообще никаких заморочек.
« Последнее редактирование: 6 Март 2014, 12:54 от VlhOwn » Записан
celler
Форумчанин
***
Offline Offline

Сообщений: 191


« Ответ #6: 6 Март 2014, 18:37 »

Константин60, на мой взгляд у Вас принципиально неверный подход к составлению таблицы. Не нужно там никаких формул. Такие формулы это потенциальный источник грубейших ошибок, которые могут даже оказаться незамеченными. Так, мне почему-то думается, что Вы уже допустили ошибку в Ваших формулах. Первая формула должна быть двойная >=3 и <=5, не так ли? А иначе у Вас при 6-и бракованных деталях штраф может оказаться 30 процентов - десять за то что больше 3-х и двадцать за то, что больше 5-и. Лучше задавать границы диапазонов без всяких формул.
Записан
Hasim
Форумчанин
***
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #7: 6 Март 2014, 21:47 »

Там вообще всё в таблице неправильно.
Столбец С вообще лишний.
Бракованных деталей всего 2 из 28, а штраф какой? 10%? Но это если брака >=3 деталей.
И что, штраф один и тот же за 3 бракованные детали из 28 и за 3 бракованные детали из 128 изготовленных?
Глупость какая-то.
Записан
Константин60
Участник
**
Offline Offline

Сообщений: 5


« Ответ #8: 6 Март 2014, 22:14 »

Столбец С был дан в задании. И 10% штраф налагается при 3-х, 4-х и 5-ти деталях, свыше 5-ти - 20%. Я надеялся, что есть простой способ с использованием этих условий, взятых из ячеек, а не забитых в формулы. И возможность менять условия, не лазя в формулы.
Записан
VlhOwn
Форумчанин
***
Offline Offline

Пол: Мужской
Расположение: Ростов-на-Дону
Сообщений: 1 076


« Ответ #9: 6 Март 2014, 22:35 »

Он есть - см. ответ JohnSun или мой UPD2.
Записан
Константин60
Участник
**
Offline Offline

Сообщений: 5


« Ответ #10: 6 Март 2014, 22:49 »

Да, спасибо )
Записан
Hasim
Форумчанин
***
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #11: 7 Март 2014, 00:18 »

Столбец С был дан в задании.
О том и речь, что само задание глупое.

Изготовили 4 детали, из них 3 бракованных - штраф 10%
Изготовили 4000 детали, из них 3 бракованных - штраф те же самые 10%
Изготовили 4000000 детали, из них 3 бракованных - штраф те же самые 10%

Ну не глупость?
Записан
Hasim
Форумчанин
***
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #12: 7 Март 2014, 14:24 »

Если отвлечься от самого задания, то возникает серьезная задача.

В самой функции =IF(7>=5;10;5) условие записано в виде строки 7>=5, но если эту строку-условие записать в отдельной ячейке В5, например, то подставить эту отдельно выписанную строку в функцию не получится, то есть, например, запись  =IF(В5;10;5) вызовет ошибку.

Задача: как подставить в функцию отдельно сформированную строку-условие?
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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