powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Логические выражения в Excel
6 сообщений из 6, страница 1 из 1
Логические выражения в Excel
    #35782063
Solver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток!
Сформулирую задачу в общем виде.
В ячейке А1 находится число, в ячейке В1 - знак отношения (например <=), в ячейке С1 - другое число. Необходимо сравнить два этих числа, применяя знак отношения, заданный в ячейке В1 и результат (ИСТИНА или ЛОЖЬ) поместить в ячейку D1.
Другими словами, нужно "слепить" логическое выражение из содержимого заданных ячеек.
Способ =А1 & B1 & C1 не срабатывает, поскольку Excel не считает данное выражение логическим.
...
Рейтинг: 0 / 0
Логические выражения в Excel
    #35782635
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Solver, в связи с тем, что операторов сравнения всего 5
Вот такое могу предложить:
=ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=1;C1=A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=2;C1<=A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=3;C1>=A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=4;C1>A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=5;C1<A1;"")))))
Также см. вложение
...
Рейтинг: 0 / 0
Логические выражения в Excel
    #35782641
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Логические выражения в Excel
    #35782661
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей06Solver, в связи с тем, что операторов сравнения всего 5
Вот такое могу предложить:
=ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=1;C1=A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=2;C1<=A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=3;C1>=A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=4;C1>A1;ЕСЛИ(ИНДЕКС({"=";1:"<=";2:">=";3:"<";5:">";4};ПОИСКПОЗ(B1;{"=":"<=":">=":"<":">"};0);2)=5;C1<A1;"")))))
Также см. вложение
Конечно, это сокращаемо до
=ЕСЛИ(ПОИСКПОЗ(B1;{"=":"<=":">=":">":"<"};0)=1;C1=A1;ЕСЛИ(ПОИСКПОЗ(B1;{"=":"<=":">=":">":"<"};0)=2;C1<=A1;ЕСЛИ(ПОИСКПОЗ(B1;{"=":"<=":">=":">":"<"};0)=3;C1>=A1;ЕСЛИ(ПОИСКПОЗ(B1;{"=":"<=":">=":">":"<"};0)=4;C1>A1;ЕСЛИ(ПОИСКПОЗ(B1;{"=":"<=":">=":">":"<"};0)=5;C1<A1;"нет такого сравнения")))))
...
Рейтинг: 0 / 0
Логические выражения в Excel
    #35783249
Algil70
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эту задачу можно решить через функцию

Public Function Logtst(a, c, b)
Select Case c
Case "<"
If a < b Then rez = "TRUE" Else rez = "FALSE"
Case ">"
If a > b Then rez = "TRUE" Else rez = "FALSE"
End Select
Logtst = rez
End Function

на лист1 в А1 - число (напр. 3)
В1 - число (напр. 5)
С1 - < или >
D1 - =Logtst(A1;B1;C1)

Другие критерии можно добавить если нужно
...
Рейтинг: 0 / 0
Логические выражения в Excel
    #35783380
Solver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, Сергей! Это хороший вариант. К сожалению, я не могу применить его в своей задаче.
Дело в том, что я хотел использовать построенные логические выражения в надстройке "Поиск решения", но к сожалению, Поиск решения не воспринимает такие выражения.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Логические выражения в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]