Страницы: 1
RSS
О равенстве значений ячеек
 
Задачки для первого класса.

1. Рефлексивность равенства

Всегда ли значением формулы

=A1=A1

будет ИСТИНА (TRUE)?

2. Симметричность равенства.

Всегда ли формулы

=A1=B1
и
=B1=A1

выдают одинаковые результаты?

3. Транзитивность равенства

Может ли формула
=ЕСЛИ(И(B1=A1; C1=A1); B1=C1; ИСТИНА)

выдавать ЛОЖЬ (FALSE)?

О терминологии - здесь.

Может быть, кому-нибудь задачи покажутся интересными. Просьба решения сегодня публиковать под спойлерами.
Изменено: sokol92 - 01.04.2020 13:55:02
Владимир
 
Пока придумалось только по поводу 1
Скрытый текст
 
 
Решение
Скрытый текст

Пояснения.
Значения ячеек Excel могут имеет следующие типы (в скобках указаны подтипы типа Variant для возвращаемых свойством Range.Value2 значений):
  • пустые ячейки (Empty)
  • числа (Double)
  • тексты (String)
  • логические значения (Boolean)
  • ошибочные значение (Error)
Когда в формуле Excel мы сравниваем значения 2 ячеек, то:
  • Если первая ячейка имеет ошибочное значение, то независимо от типа сравнения и значения второй ячейки результат равен значению первой ячейки
  • Если первая ячейка не имеет ошибочное значение, а вторая ячейка имеет ошибочное значение, то результат равен значению второй ячейки
  • При сравнении пустой ячейки c числом, текстом, логическим значением ее значение интерпретируется как, соответственно 0, пустая текстовая строка (длины 0), false
  • При сравнении непустых ячеек:   число < текст < логическое значение
Изменено: sokol92 - 02.04.2020 12:47:59
Владимир
 
Добавил решения и пояснения. Спасибо за внимание к теме.
Владимир
 
Первое было сразу понятно, а 2, 3...
Просто, а я голову ломал, итерации мучил )
 
В первом классе итераций не изучают. :D  
Владимир
 
Цитата
sokol92 написал:
При сравнении непустых ячеек:   число < текст < логическое значение
Думаю это связано с числовыми кодами знаков. С той лишь разницей что строчные и прописные не различаются, т.е. А=а, но А>a
 
Не думаю. Скорее всего, первоначальная договоренность. Тексты же сравниваются и сортируются не по их числовым кодам в юникоде, а по достаточно сложным правилам, установленным Unicode Consortium.
Например (из Маршака):

"ёж"<"ель"
Но
"е"<"
Изменено: sokol92 - 02.04.2020 17:06:21
Владимир
 
Цитата
sokol92 написал:
"ёж"<"ель"
Но"е"<"ё"
Вот как то странно "ё" все время особняком :)  
Страницы: 1
Наверх